The Marble Framework has got two major design goals:
- The Marble Framework should build strongly on Qt-API principles and Qt design concepts.
- The map data should be handled using classes that are modelled after the KML OGC standard.
The KML standard itself describes the properties of a data model for maps:
GeoData holds the data model that is internally used for any geographic information which should be rendered. It deals whith the data only, drawing is performed elsewhere.
A model representation of this data is built through parsing of files or more generally feeding data and creating a GeoDataDocument containing various other GeoDataObject representing its data. The Geodata objects are all modeled after the Google KML files as defined in the KML documentation.