libosmscout  0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules
osmscout::LocationDescriptionService Class Reference

#include <LocationDescriptionService.h>

Classes

struct  ReverseLookupResult
 

Public Types

using ReverseLookupRef = std::shared_ptr< ReverseLookupResult >
 

Public Member Functions

bool DescribeLocation (const GeoCoord &location, LocationDescription &description, const Distance &lookupDistance=Distance::Of< Meter >(100), double sizeFilter=1.0)
 
bool DescribeLocationByAddress (const GeoCoord &location, LocationDescription &description, const Distance &lookupDistance=Distance::Of< Meter >(100), double sizeFilter=1.0)
 
bool DescribeLocationByCrossing (const GeoCoord &location, LocationDescription &description, const Distance &lookupDistance=Distance::Of< Meter >(100))
 Returns crossings (of roads that can be driven by cars and which have a name feature) More...
 
bool DescribeLocationByName (const GeoCoord &location, LocationDescription &description, const Distance &lookupDistance=Distance::Of< Meter >(100), double sizeFilter=1.0)
 
bool DescribeLocationByPOI (const GeoCoord &location, LocationDescription &description, const Distance &lookupDistance=Distance::Of< Meter >(100), double sizeFilter=1.0)
 
bool DescribeLocationByWay (const GeoCoord &location, LocationDescription &description, const Distance &lookupDistance=Distance::Of< Meter >(100))
 Returns ways (roads that can be driven by cars and which have a name feature) More...
 
 LocationDescriptionService (const DatabaseRef &database)
 LocationService constructor. More...
 
bool ReverseLookupObject (const ObjectFileRef &object, std::list< ReverseLookupResult > &result) const
 Lookup one object. More...
 
bool ReverseLookupObjects (const std::list< ObjectFileRef > &objects, std::list< ReverseLookupResult > &result) const
 Lookups location descriptions for the given objects. More...
 
bool ReverseLookupRegion (const GeoCoord &coord, std::list< ReverseLookupResult > &result) const
 

Detailed Description

The LocationService offers a number of methods for location lookup ( search for a certain location by its name) and location reverse lookup (retrieve the name of a location).

The support different type of requests for different interfaces the visitor pattern is used.

Currently the following functionalities are supported:

  • Visit all region (recursivly)
  • Visit all locations of a region and (optionally) all locations of all sub regions.
  • Visit all addresses of a location (non recursive)
  • Resolve all parent regions for a given region
  • General interface for location lookup, offering default visitors for the individual index traversals.
  • Retrieve the addresses of one or more objects.

Member Typedef Documentation

◆ ReverseLookupRef

Constructor & Destructor Documentation

◆ LocationDescriptionService()

osmscout::LocationDescriptionService::LocationDescriptionService ( const DatabaseRef database)
explicit

LocationService constructor.

Parameters
databaseValid reference to a db instance

Member Function Documentation

◆ DescribeLocation()

bool osmscout::LocationDescriptionService::DescribeLocation ( const GeoCoord location,
LocationDescription description,
const Distance lookupDistance = Distance::Of<Meter>(100),
double  sizeFilter = 1.0 
)

◆ DescribeLocationByAddress()

bool osmscout::LocationDescriptionService::DescribeLocationByAddress ( const GeoCoord location,
LocationDescription description,
const Distance lookupDistance = Distance::Of<Meter>(100),
double  sizeFilter = 1.0 
)

◆ DescribeLocationByCrossing()

bool osmscout::LocationDescriptionService::DescribeLocationByCrossing ( const GeoCoord location,
LocationDescription description,
const Distance lookupDistance = Distance::Of<Meter>(100) 
)

◆ DescribeLocationByName()

bool osmscout::LocationDescriptionService::DescribeLocationByName ( const GeoCoord location,
LocationDescription description,
const Distance lookupDistance = Distance::Of<Meter>(100),
double  sizeFilter = 1.0 
)

◆ DescribeLocationByPOI()

bool osmscout::LocationDescriptionService::DescribeLocationByPOI ( const GeoCoord location,
LocationDescription description,
const Distance lookupDistance = Distance::Of<Meter>(100),
double  sizeFilter = 1.0 
)

◆ DescribeLocationByWay()

bool osmscout::LocationDescriptionService::DescribeLocationByWay ( const GeoCoord location,
LocationDescription description,
const Distance lookupDistance = Distance::Of<Meter>(100) 
)

◆ ReverseLookupObject()

bool osmscout::LocationDescriptionService::ReverseLookupObject ( const ObjectFileRef object,
std::list< ReverseLookupResult > &  result 
) const

Lookup one object.

Parameters
objectThe object to lookup
resultList of results. The list may hold none, one or more entries for the object
Returns
True, if there was no error

References ReverseLookupObjects().

Referenced by DescribeLocationByAddress(), DescribeLocationByCrossing(), DescribeLocationByName(), DescribeLocationByPOI(), and DescribeLocationByWay().

◆ ReverseLookupObjects()

bool osmscout::LocationDescriptionService::ReverseLookupObjects ( const std::list< ObjectFileRef > &  objects,
std::list< ReverseLookupResult > &  result 
) const

Lookups location descriptions for the given objects.

Parameters
objectsList of objects
resultList of results. The list may hold none, one or more entries for each object.
Returns
True, if there was no error

References osmscout::refArea, osmscout::refNode, and osmscout::refWay.

Referenced by ReverseLookupObject().

◆ ReverseLookupRegion()

bool osmscout::LocationDescriptionService::ReverseLookupRegion ( const GeoCoord coord,
std::list< ReverseLookupResult > &  result 
) const

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