libosmscout 0.1
Loading...
Searching...
No Matches
osmscout::Database Class Referencefinal

Central access class to all the individual data files and indexes. More...

#include <Database.h>

Public Member Functions

void Close ()
 Database (const DatabaseParameter &parameter)
void DumpStatistics () const
void FlushCache ()
AreaAreaIndexRef GetAreaAreaIndex () const
bool GetAreaByOffset (const FileOffset &offset, AreaRef &area) const
AreaDataFileRef GetAreaDataFile () const
AreaNodeIndexRef GetAreaNodeIndex () const
AreaRouteIndexRef GetAreaRouteIndex () const
bool GetAreasByBlockSpan (const DataBlockSpan &span, std::vector< AreaRef > &area) const
bool GetAreasByBlockSpans (const std::vector< DataBlockSpan > &spans, std::vector< AreaRef > &areas) const
template<typename OffsetsCol, typename DataCol>
bool GetAreasByOffset (const OffsetsCol &offsets, DataCol &areas) const
AreaWayIndexRef GetAreaWayIndex () const
bool GetBoundingBox (GeoBox &boundingBox) const
BoundingBoxDataFileRef GetBoundingBoxDataFile () const
LocationIndexRef GetLocationIndex () const
bool GetNodeByOffset (const FileOffset &offset, NodeRef &node) const
NodeDataFileRef GetNodeDataFile () const
bool GetNodesByOffset (const std::list< FileOffset > &offsets, std::vector< NodeRef > &nodes) const
bool GetNodesByOffset (const std::set< FileOffset > &offsets, std::unordered_map< FileOffset, NodeRef > &dataMap) const
bool GetNodesByOffset (const std::set< FileOffset > &offsets, std::vector< NodeRef > &nodes) const
bool GetNodesByOffset (const std::vector< FileOffset > &offsets, const GeoBox &boundingBox, std::vector< NodeRef > &nodes) const
bool GetNodesByOffset (const std::vector< FileOffset > &offsets, std::vector< NodeRef > &nodes) const
OptimizeAreasLowZoomRef GetOptimizeAreasLowZoom () const
OptimizeWaysLowZoomRef GetOptimizeWaysLowZoom () const
const DatabaseParameter & GetParameter () const
std::string GetPath () const
RouteDataFileRef GetRouteDataFile () const
template<typename OffsetsCol, typename DataCol>
bool GetRoutesByOffset (const OffsetsCol &offsets, DataCol &routes) const
SRTMRef GetSRTMIndex () const
TypeConfigRef GetTypeConfig () const
WaterIndexRef GetWaterIndex () const
bool GetWayByOffset (const FileOffset &offset, WayRef &way) const
WayDataFileRef GetWayDataFile () const
template<typename OffsetsCol, typename DataCol>
bool GetWaysByOffset (const OffsetsCol &offsets, DataCol &ways) const
bool IsBasemap () const
bool IsOpen () const
AreaRegionSearchResult LoadAreasInArea (const TypeInfoSet &types, const GeoBox &boundingBox) const
 Load areas of given types in the given geo box.
AreaRegionSearchResult LoadAreasInRadius (const GeoCoord &location, const TypeInfoSet &types, Distance maxDistance=Distance::Of< Meter >(100)) const
 Load areas of given types with maximum distance to the given coordinate.
NodeRegionSearchResult LoadNodesInArea (const TypeInfoSet &types, const GeoBox &boundingBox) const
 Load nodes of given types in the given geo box Distance is measured in relation to the center of the bounding box.
NodeRegionSearchResult LoadNodesInRadius (const GeoCoord &location, const TypeInfoSet &types, Distance maxDistance=Distance::Of< Meter >(100)) const
 Load nodes of given types with maximum distance to the given coordinate.
WayRegionSearchResult LoadWaysInArea (const TypeInfoSet &types, const GeoBox &boundingBox) const
 Load ways of given types in the given geo box.
WayRegionSearchResult LoadWaysInRadius (const GeoCoord &location, const TypeInfoSet &types, Distance maxDistance=Distance::Of< Meter >(100)) const
 Load ways of given types with maximum distance to the given coordinate.
bool Open (const std::string &path, bool basemap=false)
 ~Database ()

Static Public Member Functions

static uint32_t GetDatabaseFileFormatVersion (const std::string &path)
static uint32_t GetLibraryFileFormatVersion ()

Detailed Description

Central access class to all the individual data files and indexes.

A db is mainly initialized with a number of optional but performance relevant parameters.

The Database is opened by passing the directory that contains all db files.

Constructor & Destructor Documentation

◆ Database()

osmscout::Database::Database ( const DatabaseParameter & parameter)
explicit

References osmscout::log.

◆ ~Database()

osmscout::Database::~Database ( )

References Close(), IsOpen(), and osmscout::log.

Member Function Documentation

◆ Close()

void osmscout::Database::Close ( )

Referenced by ~Database().

◆ DumpStatistics()

void osmscout::Database::DumpStatistics ( ) const

◆ FlushCache()

void osmscout::Database::FlushCache ( )

◆ GetAreaAreaIndex()

AreaAreaIndexRef osmscout::Database::GetAreaAreaIndex ( ) const

◆ GetAreaByOffset()

bool osmscout::Database::GetAreaByOffset ( const FileOffset & offset,
AreaRef & area ) const

◆ GetAreaDataFile()

◆ GetAreaNodeIndex()

AreaNodeIndexRef osmscout::Database::GetAreaNodeIndex ( ) const

◆ GetAreaRouteIndex()

AreaRouteIndexRef osmscout::Database::GetAreaRouteIndex ( ) const

◆ GetAreasByBlockSpan()

bool osmscout::Database::GetAreasByBlockSpan ( const DataBlockSpan & span,
std::vector< AreaRef > & area ) const

References GetAreaDataFile().

◆ GetAreasByBlockSpans()

bool osmscout::Database::GetAreasByBlockSpans ( const std::vector< DataBlockSpan > & spans,
std::vector< AreaRef > & areas ) const

References GetAreaDataFile().

Referenced by LoadAreasInArea(), and LoadAreasInRadius().

◆ GetAreasByOffset()

template<typename OffsetsCol, typename DataCol>
bool osmscout::Database::GetAreasByOffset ( const OffsetsCol & offsets,
DataCol & areas ) const
inline

References GetAreaDataFile().

◆ GetAreaWayIndex()

AreaWayIndexRef osmscout::Database::GetAreaWayIndex ( ) const

◆ GetBoundingBox()

bool osmscout::Database::GetBoundingBox ( GeoBox & boundingBox) const

◆ GetBoundingBoxDataFile()

◆ GetDatabaseFileFormatVersion()

uint32_t osmscout::Database::GetDatabaseFileFormatVersion ( const std::string & path)
static

◆ GetLibraryFileFormatVersion()

uint32_t osmscout::Database::GetLibraryFileFormatVersion ( )
static

◆ GetLocationIndex()

LocationIndexRef osmscout::Database::GetLocationIndex ( ) const

◆ GetNodeByOffset()

bool osmscout::Database::GetNodeByOffset ( const FileOffset & offset,
NodeRef & node ) const

◆ GetNodeDataFile()

◆ GetNodesByOffset() [1/5]

bool osmscout::Database::GetNodesByOffset ( const std::list< FileOffset > & offsets,
std::vector< NodeRef > & nodes ) const

◆ GetNodesByOffset() [2/5]

bool osmscout::Database::GetNodesByOffset ( const std::set< FileOffset > & offsets,
std::unordered_map< FileOffset, NodeRef > & dataMap ) const

◆ GetNodesByOffset() [3/5]

bool osmscout::Database::GetNodesByOffset ( const std::set< FileOffset > & offsets,
std::vector< NodeRef > & nodes ) const

◆ GetNodesByOffset() [4/5]

bool osmscout::Database::GetNodesByOffset ( const std::vector< FileOffset > & offsets,
const GeoBox & boundingBox,
std::vector< NodeRef > & nodes ) const

◆ GetNodesByOffset() [5/5]

bool osmscout::Database::GetNodesByOffset ( const std::vector< FileOffset > & offsets,
std::vector< NodeRef > & nodes ) const

◆ GetOptimizeAreasLowZoom()

OptimizeAreasLowZoomRef osmscout::Database::GetOptimizeAreasLowZoom ( ) const

◆ GetOptimizeWaysLowZoom()

OptimizeWaysLowZoomRef osmscout::Database::GetOptimizeWaysLowZoom ( ) const

◆ GetParameter()

const DatabaseParameter & osmscout::Database::GetParameter ( ) const
inline

◆ GetPath()

std::string osmscout::Database::GetPath ( ) const

◆ GetRouteDataFile()

RouteDataFileRef osmscout::Database::GetRouteDataFile ( ) const

◆ GetRoutesByOffset()

template<typename OffsetsCol, typename DataCol>
bool osmscout::Database::GetRoutesByOffset ( const OffsetsCol & offsets,
DataCol & routes ) const
inline

References GetRouteDataFile().

◆ GetSRTMIndex()

SRTMRef osmscout::Database::GetSRTMIndex ( ) const

◆ GetTypeConfig()

TypeConfigRef osmscout::Database::GetTypeConfig ( ) const

◆ GetWaterIndex()

WaterIndexRef osmscout::Database::GetWaterIndex ( ) const

◆ GetWayByOffset()

bool osmscout::Database::GetWayByOffset ( const FileOffset & offset,
WayRef & way ) const

◆ GetWayDataFile()

WayDataFileRef osmscout::Database::GetWayDataFile ( ) const

◆ GetWaysByOffset()

template<typename OffsetsCol, typename DataCol>
bool osmscout::Database::GetWaysByOffset ( const OffsetsCol & offsets,
DataCol & ways ) const
inline

References GetWayDataFile().

Referenced by LoadWaysInArea(), and LoadWaysInRadius().

◆ IsBasemap()

bool osmscout::Database::IsBasemap ( ) const

◆ IsOpen()

◆ LoadAreasInArea()

AreaRegionSearchResult osmscout::Database::LoadAreasInArea ( const TypeInfoSet & types,
const GeoBox & boundingBox ) const

Load areas of given types in the given geo box.

Distance is measured in relation to the center of the bounding box

Parameters
typesSet of type to load candidates for
boundingBoxGeographic area to search in
Returns
result object
Exceptions
OSMScoutExceptionin case of errors

References osmscout::CalculateDistancePointToLineSegment(), GetAreaAreaIndex(), GetAreasByBlockSpans(), osmscout::GeoBox::GetCenter(), osmscout::GetEllipsoidalDistance(), osmscout::IsCoordInArea(), osmscout::Distance::Max(), and osmscout::Distance::Of().

Referenced by osmscout::POIService::GetPOIsInArea().

◆ LoadAreasInRadius()

AreaRegionSearchResult osmscout::Database::LoadAreasInRadius ( const GeoCoord & location,
const TypeInfoSet & types,
Distance maxDistance = Distance::Of<Meter>(100) ) const

Load areas of given types with maximum distance to the given coordinate.

Parameters
locationGeo coordinate in the center of the given circle
typesSet of type to load conadidates for
maxDistance- lookup distance in meters Maximum radius from center to search for
Returns
result object
Exceptions
OSMScoutExceptionin case of errors

References osmscout::GeoBox::BoxByCenterAndRadius(), osmscout::CalculateDistancePointToLineSegment(), GetAreaAreaIndex(), GetAreasByBlockSpans(), osmscout::GetEllipsoidalDistance(), osmscout::IsCoordInArea(), osmscout::Distance::Max(), and osmscout::Distance::Of().

Referenced by osmscout::POIService::GetPOIsInRadius().

◆ LoadNodesInArea()

NodeRegionSearchResult osmscout::Database::LoadNodesInArea ( const TypeInfoSet & types,
const GeoBox & boundingBox ) const

Load nodes of given types in the given geo box Distance is measured in relation to the center of the bounding box.

Parameters
typesSet of type to load candidates for
boundingBoxGeographic area to search in
Returns
result object
Exceptions
OSMScoutExceptionin case of errors

References GetAreaNodeIndex(), osmscout::GeoBox::GetCenter(), osmscout::GetEllipsoidalDistance(), and GetNodesByOffset().

Referenced by osmscout::POIService::GetPOIsInArea().

◆ LoadNodesInRadius()

NodeRegionSearchResult osmscout::Database::LoadNodesInRadius ( const GeoCoord & location,
const TypeInfoSet & types,
Distance maxDistance = Distance::Of<Meter>(100) ) const

Load nodes of given types with maximum distance to the given coordinate.

Parameters
locationGeo coordinate in the center of the given circle
typesSet of type to load conadidates for
maxDistance- lookup distance in meters Maximum radius from center to search for
Returns
result object
Exceptions
OSMScoutExceptionin case of errors

References osmscout::GeoBox::BoxByCenterAndRadius(), GetAreaNodeIndex(), osmscout::GetEllipsoidalDistance(), and GetNodesByOffset().

Referenced by osmscout::POIService::GetPOIsInRadius().

◆ LoadWaysInArea()

WayRegionSearchResult osmscout::Database::LoadWaysInArea ( const TypeInfoSet & types,
const GeoBox & boundingBox ) const

Load ways of given types in the given geo box.

Distance is measured in relation to the center of the bounding box

Parameters
typesSet of type to load candidates for
boundingBoxGeographic area to search in
Returns
result object
Exceptions
OSMScoutExceptionin case of errors

References osmscout::CalculateDistancePointToLineSegment(), GetAreaWayIndex(), osmscout::GeoBox::GetCenter(), osmscout::GetEllipsoidalDistance(), GetWaysByOffset(), and osmscout::Distance::Max().

Referenced by osmscout::POIService::GetPOIsInArea().

◆ LoadWaysInRadius()

WayRegionSearchResult osmscout::Database::LoadWaysInRadius ( const GeoCoord & location,
const TypeInfoSet & types,
Distance maxDistance = Distance::Of<Meter>(100) ) const

Load ways of given types with maximum distance to the given coordinate.

Parameters
locationGeo coordinate in the center of the given circle
typesSet of type to load conadidates for
maxDistance- lookup distance in meters Maximum radius from center to search for
Returns
result object
Exceptions
OSMScoutExceptionin case of errors

References osmscout::GeoBox::BoxByCenterAndRadius(), osmscout::CalculateDistancePointToLineSegment(), GetAreaWayIndex(), osmscout::GetEllipsoidalDistance(), GetWaysByOffset(), and osmscout::Distance::Max().

Referenced by osmscout::POIService::GetPOIsInRadius().

◆ Open()

bool osmscout::Database::Open ( const std::string & path,
bool basemap = false )

References osmscout::log.


The documentation for this class was generated from the following files: