KDE 4.4 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

MarbleMap Class Reference

from PyKDE4.marble import *

Inherits: QObject
Namespace: Marble.MarbleMap

Detailed Description

A class that can paint a view of the earth.

FIXME: Change this description when we are done.

This class can paint a view of the earth or any other globe, depending on which dataset is used. It can be used to show the globe in a widget like MarbleWidget does, or on any other QPaintDevice.

The projection and other view parameters that control how MarbleMap paints the map is given through the class ViewParams. If the programmer wants to allow the user to control the map, he/she has to provide a way for the user to interact with it. An example of this can be seen in the class MarbleWidgetInputHandler, that lets the user control a MarbleWidget that uses MarbleMap internally.

The MarbleMap needs to be provided with a data model to work. This model is contained in the MarbleModel class. The widget can also construct its own model if none is given to the constructor. This data model contains 3 separate datatypes: tiles which provide the background, vectors which provide things like country borders and coastlines and placemarks which can show points of interest, such as cities, mountain tops or the poles.

See also:
MarbleWidget
See also:
MarbleControlBox
See also:
MarbleModel


Signals

 distanceChanged (QString distanceString)
 framesPerSecond (float fps)
 mouseClickGeoPosition (float lon, float lat, Marble.GeoDataCoordinates.Unit a2)
 mouseMoveGeoPosition (QString a0)
 projectionChanged (Marble.Projection a0)
 repaintNeeded (QRegion dirtyRegion)
 themeChanged (QString theme)
 timeout ()
 zoomChanged (int zoom)

Methods

 __init__ (self)
 __init__ (self, Marble.MarbleModel model)
 addPlacemarkData (self, QString data, QString key="data")
 addPlacemarkFile (self, QString filename)
float centerLatitude (self)
float centerLongitude (self)
 centerOn (self, float lon, float lat)
 centerOn (self, QModelIndex index)
 centerSun (self)
 changeCurrentPosition (self, float lon, float lat)
 clearPersistentTileCache (self)
 clearVolatileTileCache (self)
 customPaint (self, Marble.GeoPainter painter)
Marble.AngleUnit defaultAngleUnit (self)
QFont defaultFont (self)
float distance (self)
 distanceChanged (self, QString distanceString)
QString distanceString (self)
[Marble::AbstractFloatIte] floatItems (self)
 framesPerSecond (self, float fps)
bool geoCoordinates (self, int x, int y, float lon, float lat, Marble.GeoDataCoordinates.Unit a4=Marble.GeoDataCoordinates.Degree)
 goHome (self)
int height (self)
 home (self, float lon, float lat, int zoom)
bool mapCoversViewport (self)
QPixmap mapScreenShot (self)
QString mapThemeId (self)
int maximumZoom (self)
int minimumZoom (self)
Marble.MarbleModel model (self)
 mouseClickGeoPosition (self, float lon, float lat, Marble.GeoDataCoordinates.Unit a2)
 mouseMoveGeoPosition (self, QString a0)
 moveDown (self)
 moveLeft (self)
 moveRight (self)
float moveStep (self)
 moveUp (self)
bool needsUpdate (self)
int northPoleY (self)
 notifyMouseClick (self, int x, int y)
 openGpxFile (self, QString filename)
 paint (self, Marble.GeoPainter painter, QRect dirtyRect)
quint64 persistentTileCacheLimit (self)
QAbstractItemModel placemarkModel (self)
QItemSelectionModel placemarkSelectionModel (self)
Marble.Quaternion planetAxis (self)
Marble.Projection projection (self)
 projectionChanged (self, Marble.Projection a0)
bool propertyValue (self, QString name)
int radius (self)
 reload (self)
 removePlacemarkKey (self, QString key)
[Marble::RenderPlugi] renderPlugins (self)
 repaintNeeded (self, QRegion dirtyRegion)
 rotateBy (self, float deltaLon, float deltaLat)
 rotateBy (self, Marble.Quaternion incRot)
bool, float (x), float (y) screenCoordinates (self, float lon, float lat, )
 setCenterLatitude (self, float lat)
 setCenterLongitude (self, float lon)
 setDefaultAngleUnit (self, Marble.AngleUnit angleUnit)
 setDefaultFont (self, QFont font)
 setDistance (self, float distance)
 setHome (self, float lon, float lat, int zoom=1050)
 setHome (self, Marble.GeoDataCoordinates homePoint, int zoom=1050)
 setMapThemeId (self, QString maptheme)
 setNeedsUpdate (self)
 setPersistentTileCacheLimit (self, quint64 kiloBytes)
 setProjection (self, Marble.Projection projection)
 setPropertyValue (self, QString name, bool value)
 setRadius (self, int radius)
 setShowAtmosphere (self, bool visible)
 setShowBorders (self, bool visible)
 setShowCities (self, bool visible)
 setShowClouds (self, bool visible)
 setShowCompass (self, bool visible)
 setShowCrosshairs (self, bool visible)
 setShowElevationModel (self, bool visible)
 setShowFrameRate (self, bool visible)
 setShowGps (self, bool visible)
 setShowGrid (self, bool visible)
 setShowIceLayer (self, bool visible)
 setShowLakes (self, bool visible)
 setShowOtherPlaces (self, bool visible)
 setShowOverviewMap (self, bool visible)
 setShowPlaces (self, bool visible)
 setShowRelief (self, bool visible)
 setShowRivers (self, bool visible)
 setShowScaleBar (self, bool visible)
 setShowTerrain (self, bool visible)
 setShowTileId (self, bool visible)
 setSize (self, int width, int height)
 setSize (self, QSize size)
 setVolatileTileCacheLimit (self, quint64 kiloBytes)
bool showAtmosphere (self)
bool showBorders (self)
bool showCities (self)
bool showClouds (self)
bool showCompass (self)
bool showCrosshairs (self)
bool showElevationModel (self)
bool showFrameRate (self)
bool showGps (self)
bool showGrid (self)
bool showIceLayer (self)
bool showLakes (self)
bool showOtherPlaces (self)
bool showOverviewMap (self)
bool showPlaces (self)
bool showRelief (self)
bool showRivers (self)
bool showScaleBar (self)
bool showTerrain (self)
QSize size (self)
Marble.SunLocator sunLocator (self)
 themeChanged (self, QString theme)
 timeout (self)
 updateChangedMap (self)
 updateGps (self)
 updateSun (self)
Marble.ViewParams viewParams (self)
quint64 volatileTileCacheLimit (self)
int width (self)
int zoom (self)
 zoomChanged (self, int zoom)
 zoomIn (self)
 zoomOut (self)
 zoomView (self, int zoom)
 zoomViewBy (self, int zoomStep)

Method Documentation

__init__ (   self )
__init__ (  self,
Marble.MarbleModel  model
)
addPlacemarkData (  self,
QString  data,
QString  key="data"
)

Add GeoDataPlacemark data as string to the model.

Parameters:
  data the string containing the Placemarks.
key  the string needed to identify the data

addPlacemarkFile (  self,
QString  filename
)

Add a GeoDataPlacemark file to the model.

Parameters:
  filename the filename of the file containing the Placemarks.

float centerLatitude (   self )

Return the latitude of the center point.

float centerLongitude (   self )

Return the longitude of the center point.

centerOn (  self,
float  lon,
float  lat
)

Center the view on a point

Parameters:
  index an index for a QModel, indicating a city

centerOn (  self,
QModelIndex  index
)

Center the view on a point

Parameters:
  index an index for a QModel, indicating a city

centerSun (   self )
changeCurrentPosition (  self,
float  lon,
float  lat
)

Set the current Gps position

Parameters:
lat  the new latitude value
lon  the new longitude value

clearPersistentTileCache (   self )
clearVolatileTileCache (   self )
customPaint (  self,
Marble.GeoPainter  painter
)

Enables custom drawing onto the MarbleMap straight after the globe and before all other layers have been rendered.

Parameters:
painter 

Marble.AngleUnit defaultAngleUnit (   self )
QFont defaultFont (   self )
float distance (   self )

Return the current distance.

distanceChanged (  self,
QString  distanceString
)
Signal syntax:
QObject.connect(source, SIGNAL("distanceChanged(const const QString&)"), target_slot)
QString distanceString (   self )

Return the current distance string.

[Marble::AbstractFloatIte] floatItems (   self )
framesPerSecond (  self,
float  fps
)
Signal syntax:
QObject.connect(source, SIGNAL("framesPerSecond(qreal)"), target_slot)
bool geoCoordinates (  self,
int  x,
int  y,
float  lon,
float  lat,
Marble.GeoDataCoordinates.Unit  a4=Marble.GeoDataCoordinates.Degree
)

Get the earth coordinates corresponding to a pixel in the map.

Parameters:
x  the x coordinate of the pixel
y  the y coordinate of the pixel
lon  the longitude angle is returned through this parameter
lat  the latitude angle is returned through this parameter

Returns:
true if the pixel (x, y) is within the globe
false if the pixel (x, y) is outside the globe, i.e. in space.

goHome (   self )

Center the view on the default start point with the default zoom.

int height (   self )
home (  self,
float  lon,
float  lat,
int  zoom
)

get the home point

Parameters:
  lon the longitude of the home point.
  lat the latitude of the home point.
  zoom the default zoom level of the home point.

bool mapCoversViewport (   self )
QPixmap mapScreenShot (   self )

Return a QPixmap with the current contents of the map.

QString mapThemeId (   self )

Get the ID of the current map theme To ensure that a unique identifier is being used the theme does NOT get represented by its name but the by relative location of the file that specifies the theme:

Example: maptheme = "earth/bluemarble/bluemarble.dgml"

int maximumZoom (   self )

return the minimum zoom value for the current map theme.

int minimumZoom (   self )

return the minimum zoom value for the current map theme.

Marble.MarbleModel model (   self )

Return the model that this view shows.

mouseClickGeoPosition (  self,
float  lon,
float  lat,
Marble.GeoDataCoordinates.Unit  a2
)
Signal syntax:
QObject.connect(source, SIGNAL("mouseClickGeoPosition(qreal, qreal, Marble::GeoDataCoordinates::Unit)"), target_slot)
mouseMoveGeoPosition (  self,
QString  a0
)
Signal syntax:
QObject.connect(source, SIGNAL("mouseMoveGeoPosition(QString)"), target_slot)
moveDown (   self )

Move down by the moveStep.

moveLeft (   self )

Move left by the moveStep.

moveRight (   self )

Move right by the moveStep.

float moveStep (   self )

Return how much the map will move if one of the move slots are called.

Returns:
The move step.

moveUp (   self )

Move up by the moveStep.

bool needsUpdate (   self )

return if the map needs to be updated.

int northPoleY (   self )

Get the Y coordinate of the North Pole.

Returns:
the pixel address of the geographical north pole.

notifyMouseClick (  self,
int  x,
int  y
)

used to notify about the position of the mouse click

openGpxFile (  self,
QString  filename
)

Opens a gpx file for viewing on the Marble Map

paint (  self,
Marble.GeoPainter  painter,
QRect  dirtyRect
)

Paint the map using a give painter.

Parameters:
painter  The painter to use.
dirtyRect  the rectangle that actually needs repainting.

quint64 persistentTileCacheLimit (   self )

Returns the limit in kilobytes of the persistent (on hard disc) tile cache.

Returns:
the limit of persistent tile cache in kilobytes.

QAbstractItemModel placemarkModel (   self )

returns the model for all the placemarks on the globe.

QItemSelectionModel placemarkSelectionModel (   self )

returns the selection model for all the placemarks on the globe.

Marble.Quaternion planetAxis (   self )

Return the quaternion that specifies the rotation of the globe.

Returns:
The quaternion that describes the rotation of the globe.

Marble.Projection projection (   self )

Get the Projection used for the map

Returns:
Spherical a Globe
Returns:
Equirectangular a flat map
Returns:
Mercator another flat map

projectionChanged (  self,
Marble.Projection  a0
)
Signal syntax:
QObject.connect(source, SIGNAL("projectionChanged(Marble::Projection)"), target_slot)
bool propertyValue (  self,
QString  name
)

Return the property value by name.

Returns:
The property value (usually: visibility).

int radius (   self )

Return the radius of the globe in pixels.

reload (   self )

Reload the currently displayed map by reloading texture tiles from the internet. In the future this should be extended to all kinds of data which is used in the map.

removePlacemarkKey (  self,
QString  key
)

remove data or files from the model.

Parameters:
key  either the filename or the string used to identify the data in addPlacemarkFile and addPlacemarkData

[Marble::RenderPlugi] renderPlugins (   self )
repaintNeeded (  self,
QRegion  dirtyRegion
)

This signal is emitted when the repaint of the view was requested. If available with the dirtyRegion which is the region the view will change in. If dirtyRegion.isEmpty() returns true, the whole viewport has to be repainted.

Signal syntax:
QObject.connect(source, SIGNAL("repaintNeeded(QRegion)"), target_slot)
rotateBy (  self,
float  deltaLon,
float  deltaLat
)

Rotate the view by the angle specified by a Quaternion.

Parameters:
  incRot a quaternion specifying the rotation

rotateBy (  self,
Marble.Quaternion  incRot
)

Rotate the view by the angle specified by a Quaternion.

Parameters:
  incRot a quaternion specifying the rotation

bool, float (x), float (y) screenCoordinates (  self,
float  lon,
float  lat,
)

Get the screen coordinates corresponding to geographical coordinates in the map.

Parameters:
lon  the lon coordinate of the requested pixel position
lat  the lat coordinate of the requested pixel position
x  the x coordinate of the pixel is returned through this parameter
y  the y coordinate of the pixel is returned through this parameter

Returns:
true if the geographical coordinates are visible on the screen
false if the geographical coordinates are not visible on the screen

setCenterLatitude (  self,
float  lat
)

Set the latitude for the center point

Parameters:
  lat the new value for the latitude

setCenterLongitude (  self,
float  lon
)

Set the longitude for the center point

Parameters:
  lon the new value for the longitude

setDefaultAngleUnit (  self,
Marble.AngleUnit  angleUnit
)
setDefaultFont (  self,
QFont  font
)
setDistance (  self,
float  distance
)

Set the distance of the observer to the globe in km.

Parameters:
  distance The new distance in km.

setHome (  self,
float  lon,
float  lat,
int  zoom=1050
)

Set the home point

Parameters:
  homePoint the new home point.
  zoom the default zoom level for the new home point.

setHome (  self,
Marble.GeoDataCoordinates  homePoint,
int  zoom=1050
)

Set the home point

Parameters:
  homePoint the new home point.
  zoom the default zoom level for the new home point.

setMapThemeId (  self,
QString  maptheme
)

Set a new map theme

Parameters:
maptheme  The ID of the new maptheme. To ensure that a unique identifier is being used the theme does NOT get represented by its name but the by relative location of the file that specifies the theme:

Example: maptheme = "earth/bluemarble/bluemarble.dgml"

setNeedsUpdate (   self )

Mark the map as needing an update.

setPersistentTileCacheLimit (  self,
quint64  kiloBytes
)

Set the limit of the persistent (on hard disc) tile cache.

Parameters:
  bytes The limit in kilobytes, 0 means no limit.

setProjection (  self,
Marble.Projection  projection
)

Set the Projection used for the map

Parameters:
  projection projection type (e.g. Spherical, Equirectangular, Mercator)

setPropertyValue (  self,
QString  name,
bool  value
)

Sets the value of a map theme property

Parameters:
  value value of the property (usually: visibility)

Later on we might add a "setPropertyType and a QVariant if needed.

setRadius (  self,
int  radius
)

Set the radius of the globe in pixels.

Parameters:
  radius The new globe radius value in pixels.

setShowAtmosphere (  self,
bool  visible
)

Set whether the atmospheric glow is visible

Parameters:
  visible visibility of the atmospheric glow

setShowBorders (  self,
bool  visible
)

Set whether the borders visible

Parameters:
  visible visibility of the borders

setShowCities (  self,
bool  visible
)

Set whether the city place mark overlay is visible

Parameters:
  visible visibility of the city place marks

setShowClouds (  self,
bool  visible
)

Set whether the cloud cover is visible

Parameters:
  visible visibility of the cloud cover

setShowCompass (  self,
bool  visible
)

Set whether the compass overlay is visible

Parameters:
  visible visibility of the compass

setShowCrosshairs (  self,
bool  visible
)

Set whether the crosshairs are visible

Parameters:
  visible visibility of the crosshairs

setShowElevationModel (  self,
bool  visible
)

Set whether the elevation model is visible

Parameters:
  visible visibility of the elevation model

setShowFrameRate (  self,
bool  visible
)

Set whether the frame rate gets shown

Parameters:
visible  visibility of the frame rate

setShowGps (  self,
bool  visible
)

Set whether Gps Data is visible

Parameters:
visible  visibility of the Gps Data

setShowGrid (  self,
bool  visible
)

Set whether the coordinate grid overlay is visible

Parameters:
  visible visibility of the coordinate grid

setShowIceLayer (  self,
bool  visible
)

Set whether the ice layer is visible

Parameters:
  visible visibility of the ice layer

setShowLakes (  self,
bool  visible
)

Set whether the lakes are visible

Parameters:
  visible visibility of the lakes

setShowOtherPlaces (  self,
bool  visible
)

Set whether the other places overlay is visible

Parameters:
  visible visibility of other places

setShowOverviewMap (  self,
bool  visible
)

Set whether the overview map overlay is visible

Parameters:
  visible visibility of the overview map

setShowPlaces (  self,
bool  visible
)

Set whether the place mark overlay is visible

Parameters:
  visible visibility of the place marks

setShowRelief (  self,
bool  visible
)

Set whether the relief is visible

Parameters:
  visible visibility of the relief

setShowRivers (  self,
bool  visible
)

Set whether the rivers are visible

Parameters:
  visible visibility of the rivers

setShowScaleBar (  self,
bool  visible
)

Set whether the scale bar overlay is visible

Parameters:
  visible visibility of the scale bar

setShowTerrain (  self,
bool  visible
)

Set whether the terrain place mark overlay is visible

Parameters:
  visible visibility of the terrain place marks

setShowTileId (  self,
bool  visible
)

Set whether the is tile is visible NOTE: This is part of the transitional debug API and might be subject to changes until Marble 0.8

Parameters:
visible  visibility of the tile

setSize (  self,
int  width,
int  height
)
setSize (  self,
QSize  size
)
setVolatileTileCacheLimit (  self,
quint64  kiloBytes
)

Set the limit of the volatile (in RAM) tile cache.

Parameters:
  bytes The limit in kilobytes.

bool showAtmosphere (   self )

Return whether the atmospheric glow is visible.

Returns:
The cloud cover visibility.

bool showBorders (   self )

Return whether the borders are visible.

Returns:
The border visibility.

bool showCities (   self )

Return whether the city place marks are visible.

Returns:
The city place mark visibility.

bool showClouds (   self )

Return whether the cloud cover is visible.

Returns:
The cloud cover visibility.

bool showCompass (   self )

Return whether the compass bar is visible.

Returns:
The compass visibility.

bool showCrosshairs (   self )

Return whether the crosshairs are visible.

Returns:
The crosshairs' visibility.

bool showElevationModel (   self )

Return whether the elevation model is visible.

Returns:
The elevation model visibility.

bool showFrameRate (   self )

Return whether the frame rate gets displayed.

Returns:
the frame rates visibility

bool showGps (   self )

Return whether Gps Data is visible.

Returns:
The Gps Data's visibility.

bool showGrid (   self )

Return whether the coordinate grid is visible.

Returns:
The coordinate grid visibility.

bool showIceLayer (   self )

Return whether the ice layer is visible.

Returns:
The ice layer visibility.

bool showLakes (   self )

Return whether the lakes are visible.

Returns:
The lakes' visibility.

bool showOtherPlaces (   self )

Return whether other places are visible.

Returns:
The visibility of other places.

bool showOverviewMap (   self )

Return whether the overview map is visible.

Returns:
The overview map visibility.

bool showPlaces (   self )

Return whether the place marks are visible.

Returns:
The place mark visibility.

bool showRelief (   self )

Return whether the relief is visible.

Returns:
The relief visibility.

bool showRivers (   self )

Return whether the rivers are visible.

Returns:
The rivers' visibility.

bool showScaleBar (   self )

Return whether the scale bar is visible.

Returns:
The scale bar visibility.

bool showTerrain (   self )

Return whether the terrain place marks are visible.

Returns:
The terrain place mark visibility.

QSize size (   self )
Marble.SunLocator sunLocator (   self )

Return the sun locator object.

Returns:
the sun locator object

themeChanged (  self,
QString  theme
)

Signal that the theme has changed

Parameters:
theme  Name of the new theme.

Signal syntax:
QObject.connect(source, SIGNAL("themeChanged(QString)"), target_slot)
timeout (   self )
Signal syntax:
QObject.connect(source, SIGNAL("timeout()"), target_slot)
updateChangedMap (   self )

Update the map because the model changed.

updateGps (   self )

updates the gps tracking point by polling

updateSun (   self )
Marble.ViewParams viewParams (   self )
quint64 volatileTileCacheLimit (   self )

Returns the limit in kilobytes of the volatile (in RAM) tile cache.

Returns:
the limit of volatile tile cache in kilobytes.

int width (   self )
int zoom (   self )

Return the current zoom level.

zoomChanged (  self,
int  zoom
)

Signal that the zoom has changed, and to what.

Parameters:
zoom  The new zoom value.

See also:
zoomView()

Signal syntax:
QObject.connect(source, SIGNAL("zoomChanged(int)"), target_slot)
zoomIn (   self )

Zoom in by the amount zoomStep.

zoomOut (   self )

Zoom out by the amount zoomStep.

zoomView (  self,
int  zoom
)

Zoom the view to a certain zoomlevel

Parameters:
  zoom the new zoom level.

The zoom level is an abstract value without physical interpretation. A zoom value around 1000 lets the viewer see all of the earth in the default window.

zoomViewBy (  self,
int  zoomStep
)

Zoom the view by a certain step

Parameters:
  zoomStep the difference between the old zoom and the new

  • Full Index

Modules

  • marble
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal