|
Ocean
|
This class implements an parser of basemap data. More...
#include <Basemap.h>
Data Structures | |
| class | Building |
| This class implements a building object. More... | |
| class | GeometryHandlerLinePolygons |
| Geometry handler for polygons. More... | |
| class | GeometryHandlerLineStrings |
| Geometry handler for line strings. More... | |
| class | GeometryHandlerPoints |
| Geometry handler for points. More... | |
| class | InnerOuterPolygonsObject |
| This class implements an object composed of inner and outer polygons. More... | |
| class | LandCover |
| This class implements a land use object. More... | |
| class | LandUse |
| This class implements a land use object. More... | |
| class | Object |
| This class is the base class for all map objects. More... | |
| class | Road |
| This class implements a road object. More... | |
| class | Tile |
| This class stores the information belonging to one map tile. More... | |
| class | TileIndexPair |
| This class holds the tile indics in latitude and longitude direction. More... | |
| class | Transit |
| This class implements a transit object. More... | |
| class | Water |
| This class implements a water object. More... | |
Public Types | |
| typedef CV::PixelPositionI | PixelPositionI |
| Definition of a location with signed pixel precision. | |
| typedef CV::PixelPositionsI | PixelPositionsI |
| Definition of a vector holding locations with signed pixel precision. | |
| typedef std::vector< PixelPositionsI > | PixelPositionGroupsI |
| Definition of groups of pixel positions. | |
| typedef std::shared_ptr< Object > | SharedObject |
| Definition of a shared pointer holding an Object. | |
| typedef std::vector< SharedObject > | SharedObjects |
| Definition of a vector holding shared objects. | |
| typedef std::vector< TileIndexPair > | TileIndexPairs |
| Definition of a vector holding tile index pairs. | |
| typedef std::unordered_set< TileIndexPair, TileIndexPair > | TileIndexPairSet |
| Definition of a set holding tile index pairs. | |
| typedef std::shared_ptr< Tile > | SharedTile |
| Definition of a shared pointer holding a Tile. | |
Static Public Member Functions | |
| static SharedTile | newTileFromPBFData (const unsigned int level, const TileIndexPair &tileIndexPair, const void *data, const size_t size) |
| Creates a new tile based on given PBF data. | |
| static const std::string & | styleUrl () |
| Returns the url for downloading the map style data. | |
| static bool | extractTileUrlTemplate (const char *styleData, const size_t styleSize, std::string &urlTemplate) |
| Gets the url template for downloading a map tile. | |
| static bool | constructTileUrl (const std::string urlTemplate, const unsigned int level, const TileIndexPair &tileIndexPair, std::string &url) |
| Constructs the url for downloading a map tile. | |
Protected Types | |
| enum | LayerType : uint32_t { LT_UNKNOWN = 0u , LT_AIRPORT , LT_AREA_OF_INTEREST , LT_BATHYMETRY , LT_BUILDING , LT_BUILDING_LABEL , LT_BORDER , LT_INDOOR , LT_INDOOR_LABEL , LT_LAND_COVER , LT_LAND_USE , LT_LAND_USE_LABEL , LT_LANDMARK_POINT , LT_NATURAL , LT_NATURAL_LABEL , LT_PARKING , LT_PLACENAME , LT_PLACE_LABEL , LT_POI , LT_ROAD , LT_TRANSIT , LT_TRANSIT_POINT , LT_TREE_POINT , LT_WATER , LT_WATERWAY , LT_WATER_LABEL , LT_WATER_LINE , LT_WATER_OFFSET , LT_WAVE , LT_END } |
| Definition of individual layer types. More... | |
| typedef std::unordered_map< std::string, LayerType > | LayerTypeMap |
| Definition of an unordered map mapping layer type strings to layer type values. | |
Static Protected Member Functions | |
| static SharedObject | parseBuilding (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
| Parses a building feature. | |
| static SharedObject | parseRoad (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
| Parses a road feature. | |
| static SharedObject | parseTransit (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
| Parses a transit feature. | |
| static SharedObject | parseWater (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, const unsigned int layerExtent) |
| Parses a water feature. | |
| static SharedObject | parseLandUse (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
| Parses a land use feature. | |
| static SharedObject | parseLandCover (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
| Parses a land cover feature. | |
| static bool | numberFromPropertyValue (const vtzero::property_value &propertyValue, double &value) |
| Returns the value of a property value as number. | |
| static LayerType | translateLayerName (const std::string &layerName) |
| Translates the name of a layer to the corresponding layer type. | |
Static Protected Attributes | |
| static constexpr double | minLatitude = -85.05112878 |
| The minimal latitude angle, in degree. | |
| static constexpr double | maxLatitude = 85.05112878 |
| The maximal latitude angle, in degree. | |
This class implements an parser of basemap data.
|
protected |
Definition of an unordered map mapping layer type strings to layer type values.
| typedef std::vector<PixelPositionsI> Ocean::IO::Maps::Basemap::PixelPositionGroupsI |
Definition of groups of pixel positions.
Definition of a location with signed pixel precision.
Definition of a vector holding locations with signed pixel precision.
| typedef std::shared_ptr<Object> Ocean::IO::Maps::Basemap::SharedObject |
Definition of a shared pointer holding an Object.
| typedef std::vector<SharedObject> Ocean::IO::Maps::Basemap::SharedObjects |
Definition of a vector holding shared objects.
| typedef std::shared_ptr<Tile> Ocean::IO::Maps::Basemap::SharedTile |
Definition of a shared pointer holding a Tile.
| typedef std::vector<TileIndexPair> Ocean::IO::Maps::Basemap::TileIndexPairs |
Definition of a vector holding tile index pairs.
| typedef std::unordered_set<TileIndexPair, TileIndexPair> Ocean::IO::Maps::Basemap::TileIndexPairSet |
Definition of a set holding tile index pairs.
|
protected |
Definition of individual layer types.
|
static |
Constructs the url for downloading a map tile.
| urlTemplate | The url template, must be valid |
| level | The detail level, with range [1, 22] |
| tileIndexPair | The tile index pair defining the location of the tile, with range [0, numberTiles(level) - 1]x[0, numberTiles(level) - 1] |
| url | The resulting url |
|
static |
Gets the url template for downloading a map tile.
| styleData | The style data, must be valid |
| styleSize | The size of the style data buffer, in bytes, with range [1, infinity) |
| urlTemplate | The resulting url template |
|
static |
Creates a new tile based on given PBF data.
| level | The detail level, with range [1, 22] |
| tileIndexPair | The tile index pair defining the location of the tile, with range [0, numberTiles(level) - 1]x[0, numberTiles(level) - 1] |
| data | The data of the buffer, must be valid |
| size | The size of the buffer, in bytes, with range [1, infinity) |
|
staticprotected |
Returns the value of a property value as number.
| propertyValue | The property value from which the number will be extracted |
| value | The resulting number value |
|
staticprotected |
Parses a building feature.
| vtzeroFeature | The building feature, must be valid |
| outerPolygons | The outer polygons of the building, can be empty |
| innerPolygons | The inner polygons of the building, can be empty |
| lineStrings | The line strings of the building, can be empty |
| layerExtent | The extent of the layer in which the building is located, in pixels, with range [1, infinity) |
|
staticprotected |
Parses a land cover feature.
| vtzeroFeature | The building feature, must be valid |
| outerPolygons | The outer polygons of the building, can be empty |
| innerPolygons | The inner polygons of the building, can be empty |
| lineStrings | The line strings of the building, can be empty |
| layerExtent | The extent of the layer in which the building is located, in pixels, with range [1, infinity) |
|
staticprotected |
Parses a land use feature.
| vtzeroFeature | The building feature, must be valid |
| outerPolygons | The outer polygons of the building, can be empty |
| innerPolygons | The inner polygons of the building, can be empty |
| lineStrings | The line strings of the building, can be empty |
| layerExtent | The extent of the layer in which the building is located, in pixels, with range [1, infinity) |
|
staticprotected |
Parses a road feature.
| vtzeroFeature | The building feature, must be valid |
| lineStrings | The line strings of the transit, at least one |
| layerExtent | The extent of the layer in which the transit is located, in pixels, with range [1, infinity) |
|
staticprotected |
Parses a transit feature.
| vtzeroFeature | The building feature, must be valid |
| lineStrings | The line strings of the transit, at least one |
| layerExtent | The extent of the layer in which the transit is located, in pixels, with range [1, infinity) |
|
staticprotected |
Parses a water feature.
| vtzeroFeature | The building feature, must be valid |
| outerPolygons | The outer polygons of the building, can be empty |
| innerPolygons | The inner polygons of the building, can be empty |
| layerExtent | The extent of the layer in which the building is located, in pixels, with range [1, infinity) |
|
static |
Returns the url for downloading the map style data.
|
staticprotected |
Translates the name of a layer to the corresponding layer type.
| layerName | The name of the layer, must be valid |
|
staticconstexprprotected |
The maximal latitude angle, in degree.
|
staticconstexprprotected |
The minimal latitude angle, in degree.