public class EdgeStore extends Object implements Serializable
Modifier and Type | Class and Description |
---|---|
static class |
EdgeStore.DefaultTravelTimeCalculator |
class |
EdgeStore.Edge
Inner class that serves as a cursor: points to a single edge in this store, and can be moved to other indexes.
|
static class |
EdgeStore.EdgeFlag
Edge flags are various boolean values (requiring a single bit of information) that can be attached to each
edge in the street graph.
|
static interface |
EdgeStore.PointConsumer
A functional interface that consumes the points in a street geometry one by one.
|
static interface |
EdgeStore.SegmentConsumer
A functional interface that consumes segments in a street geometry one by one.
|
Modifier and Type | Field and Description |
---|---|
int |
firstModifiableEdge
When applying scenarios, we don't duplicate the entire set of edges and vertices.
|
gnu.trove.list.TIntList |
flags
Boolean flags for every edge.
|
gnu.trove.list.TIntList |
fromVertices
The index of the origin vertex of each edge pair in the forward direction.
|
List<int[]> |
geometries
Geometries.
|
gnu.trove.list.TByteList |
inAngles
The compass angle at the start of the edge geometry (binary radians clockwise from North).
|
StreetLayer |
layer
The street layer of a transport network that the edges in this edgestore make up.
|
gnu.trove.list.TIntList |
lengths_mm
Length of the edge along its geometry (millimeters).
|
gnu.trove.list.TLongList |
osmids
OSM ids of edges.
|
gnu.trove.list.TByteList |
outAngles
The compass angle at the end of the edge geometry (binary radians clockwise from North).
|
static EnumSet<EdgeStore.EdgeFlag> |
PERMISSION_FLAGS
As a convenience, the set of all edge flags that control which modes can traverse the edge
|
gnu.trove.list.TShortList |
speeds
One speed for each edge.
|
static double |
STAIR_RELUCTANCE_FACTOR |
gnu.trove.set.TIntSet |
temporarilyDeletedEdges
When applying a scenario, we can't touch the baseline graph which is shared between all threads.
|
gnu.trove.list.TIntList |
toVertices
The index of the destination vertex of each edge pair in the forward direction.
|
TIntIntMultimap |
turnRestrictions
Turn restrictions for turning _out of_ each edge
|
TIntIntMultimap |
turnRestrictionsReverse
Turn restrictions for turning _into_ each edge
|
VertexStore |
vertexStore |
static double |
WALK_RELUCTANCE_FACTOR |
Constructor and Description |
---|
EdgeStore(VertexStore vertexStore,
StreetLayer layer,
int initialSize) |
Modifier and Type | Method and Description |
---|---|
EdgeStore.Edge |
addStreetPair(int beginVertexIndex,
int endVertexIndex,
int edgeLengthMillimeters,
long osmID)
This creates the bare topological edge pair with a length.
|
void |
dump() |
EdgeStore |
extendOnlyCopy(StreetLayer copiedStreetLayer)
Returns a semi-deep copy of this EdgeStore for use when applying Scenarios.
|
void |
forEachTemporarilyAddedEdge(IntConsumer consumer)
If this EdgeStore has has a Scenario applied, it may contain edges that are not in the baseline network.
|
void |
forEachTemporarilyAddedOrDeletedEdge(IntConsumer consumer)
Call the supplied int consumer function with every temporarily added edge in this EdgeStore, then on every
temporarily deleted edge.
|
EdgeStore.Edge |
getCursor() |
EdgeStore.Edge |
getCursor(int pos) |
boolean |
isExtendOnlyCopy()
This method will tell you whether a scenario has been applied to this EdgeStore, i.e.
|
int |
nEdgePairs() |
int |
nEdges() |
public static final double STAIR_RELUCTANCE_FACTOR
public static final double WALK_RELUCTANCE_FACTOR
public VertexStore vertexStore
public gnu.trove.list.TIntList flags
public gnu.trove.list.TShortList speeds
public gnu.trove.list.TIntList fromVertices
public gnu.trove.list.TIntList toVertices
public gnu.trove.list.TIntList lengths_mm
public gnu.trove.list.TLongList osmids
public List<int[]> geometries
public gnu.trove.list.TByteList inAngles
public gnu.trove.list.TByteList outAngles
public int firstModifiableEdge
public gnu.trove.set.TIntSet temporarilyDeletedEdges
public TIntIntMultimap turnRestrictions
public TIntIntMultimap turnRestrictionsReverse
public StreetLayer layer
public static final transient EnumSet<EdgeStore.EdgeFlag> PERMISSION_FLAGS
public EdgeStore(VertexStore vertexStore, StreetLayer layer, int initialSize)
public boolean isExtendOnlyCopy()
public EdgeStore.Edge addStreetPair(int beginVertexIndex, int endVertexIndex, int edgeLengthMillimeters, long osmID)
public EdgeStore.Edge getCursor()
public EdgeStore.Edge getCursor(int pos)
public void dump()
public int nEdges()
public int nEdgePairs()
public EdgeStore extendOnlyCopy(StreetLayer copiedStreetLayer)
copiedStreetLayer
- the copy of the street layer that this edgeStore will reference.public void forEachTemporarilyAddedEdge(IntConsumer consumer)
public void forEachTemporarilyAddedOrDeletedEdge(IntConsumer consumer)
Copyright © 2019. All rights reserved.