Package com.graphhopper.storage.index
Interface LocationIndex
- All Known Implementing Classes:
LocationIndexTree
public interface LocationIndex
Provides a way to map real world data "lat,lon" to internal ids/indices of a memory efficient graph
- often just implemented as an array.
The implementations of findID needs to be thread safe!
- Author:
- Peter Karich
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
static interface
This interface allows to visit edges stored in the LocationIndex. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
static LocationIndex.TileFilter
createBBoxTileFilter
(BBox queryBBox) findClosest
(double lat, double lon, EdgeFilter edgeFilter) This method returns the closest Snap for the specified location (lat, lon) and only if the filter accepts the edge as valid candidate (e.g.void
query
(LocationIndex.TileFilter tileFilter, LocationIndex.Visitor function) default void
query
(BBox queryBBox, LocationIndex.Visitor function) This method explores the LocationIndex with the specified Visitor.
-
Method Details
-
findClosest
This method returns the closest Snap for the specified location (lat, lon) and only if the filter accepts the edge as valid candidate (e.g. filtering away car-only results for bike search)- Parameters:
edgeFilter
- if a graph supports multiple vehicles we have to make sure that the entry node into the graph is accessible from a selected vehicle. E.g. if you have a FOOT-query do:AccessFilter.allEdges(footFlagEncoder);
- Returns:
- An object containing the closest node and edge for the specified location. The node id has at least one edge which is accepted by the specified edgeFilter. If nothing is found the method Snap.isValid will return false.
-
query
This method explores the LocationIndex with the specified Visitor. It visits only the stored edges (and only once) and limited by the queryBBox. Also (a few) more edges slightly outside of queryBBox could be returned that you can avoid via doing an explicit BBox check of the coordinates. -
query
-
close
void close() -
createBBoxTileFilter
-