Ocean
|
This class implements an parser of basemap data. More...
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. More... | |
typedef CV::PixelPositionsI | PixelPositionsI |
Definition of a vector holding locations with signed pixel precision. More... | |
typedef std::vector< PixelPositionsI > | PixelPositionGroupsI |
Definition of groups of pixel positions. More... | |
typedef std::shared_ptr< Object > | SharedObject |
Definition of a shared pointer holding an Object. More... | |
typedef std::vector< SharedObject > | SharedObjects |
Definition of a vector holding shared objects. More... | |
typedef std::vector< TileIndexPair > | TileIndexPairs |
Definition of a vector holding tile index pairs. More... | |
typedef std::unordered_set< TileIndexPair, TileIndexPair > | TileIndexPairSet |
Definition of a set holding tile index pairs. More... | |
typedef std::shared_ptr< Tile > | SharedTile |
Definition of a shared pointer holding a Tile. More... | |
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. More... | |
static const std::string & | styleUrl () |
Returns the url for downloading the map style data. More... | |
static bool | extractTileUrlTemplate (const char *styleData, const size_t styleSize, std::string &urlTemplate) |
Gets the url template for downloading a map tile. More... | |
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. More... | |
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. More... | |
Static Protected Member Functions | |
static SharedObject | parseBuilding (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
Parses a building feature. More... | |
static SharedObject | parseRoad (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
Parses a road feature. More... | |
static SharedObject | parseTransit (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
Parses a transit feature. More... | |
static SharedObject | parseWater (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, const unsigned int layerExtent) |
Parses a water feature. More... | |
static SharedObject | parseLandUse (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
Parses a land use feature. More... | |
static SharedObject | parseLandCover (vtzero::feature &vtzeroFeature, PixelPositionGroupsI &&outerPolygons, PixelPositionGroupsI &&innerPolygons, PixelPositionGroupsI &&lineStrings, const unsigned int layerExtent) |
Parses a land cover feature. More... | |
static bool | numberFromPropertyValue (const vtzero::property_value &propertyValue, double &value) |
Returns the value of a property value as number. More... | |
static LayerType | translateLayerName (const std::string &layerName) |
Translates the name of a layer to the corresponding layer type. More... | |
Static Protected Attributes | |
static constexpr double | minLatitude = -85.05112878 |
The minimal latitude angle, in degree. More... | |
static constexpr double | maxLatitude = 85.05112878 |
The maximal latitude angle, in degree. More... | |
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.