de.cm.osm2po.sd.routing
Class SdGraph

java.lang.Object
  extended by de.cm.osm2po.sd.routing.SdGraph

public class SdGraph
extends java.lang.Object

Provides all needed methods to deal with a SdGraph-File.
Important:
Methods of this class are not thread-safe!

Author:
(c) 2013 - Carsten Moeller, info@osm2po.de

Field Summary
static int COMPAT_FILE_TYPE
           
static int COMPAT_VERSION
           
 
Constructor Summary
SdGraph(java.io.File graphFile)
          CTOR.
 
Method Summary
 void clearMem()
           
 void close()
           
 int[] findCloseEdgeIdxs(float lat, float lon)
          Finds close edges.
 int findFirstSiblingEdgeIdx(int edgeIdx)
          Finds the first Edge-Index for a link / crossing.
 int findReverseEdgeIdx(int edgeIdx)
          Finds the reverse edge.
 int findSiblingEdges(int edgeIdx, SdEdge[] edges)
          Deserializes the given an all subsequent edges of the same link into the given Edge-Array.
 SdEdge[] getEdgesBuffer()
          Returns the internal buffer of already instanciated SdEdges.
 int getId()
           
 double getLevel1CellSize()
           
 long getMaxCoord()
           
 long getMinCoord()
           
 int getNumberOfEdges()
           
 long[] lookupGeometry(int edgeIdx)
          Returns the Geometrie for one Edge.
 byte peekFlags(int edgeIdx)
          Reads the FlagsByte of an edge without complete deserialization = faster.
 byte peekMetaByte(int edgeIdx)
          Reads the MetaByte of an edge without complete deserialization = faster.
 java.lang.String peekStreetName(int edgeIdx)
          Returns the StreetName of an edge.
 SdEdge readEdge(int edgeIdx, SdEdge edge)
          Deserializes data into a given edge object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMPAT_FILE_TYPE

public static final int COMPAT_FILE_TYPE
See Also:
Constant Field Values

COMPAT_VERSION

public static final int COMPAT_VERSION
See Also:
Constant Field Values
Constructor Detail

SdGraph

public SdGraph(java.io.File graphFile)
CTOR.

Parameters:
graphFile - File (*.gpt)
Method Detail

close

public void close()

clearMem

public void clearMem()

getId

public int getId()

getMinCoord

public long getMinCoord()

getMaxCoord

public long getMaxCoord()

getNumberOfEdges

public int getNumberOfEdges()

getLevel1CellSize

public double getLevel1CellSize()

getEdgesBuffer

public SdEdge[] getEdgesBuffer()
Returns the internal buffer of already instanciated SdEdges.

Returns:
SdEdge[] Array.

readEdge

public SdEdge readEdge(int edgeIdx,
                       SdEdge edge)
Deserializes data into a given edge object.

Parameters:
edgeIdx - Index of edge.
edge - SdEdge NOT NULL.
Returns:
passed Edge - 4Chaining.

peekMetaByte

public byte peekMetaByte(int edgeIdx)
Reads the MetaByte of an edge without complete deserialization = faster.

Parameters:
edgeIdx - int Index of edge in adjacency list
Returns:
byte MetaByte of edge.

peekFlags

public byte peekFlags(int edgeIdx)
Reads the FlagsByte of an edge without complete deserialization = faster.

Parameters:
edgeIdx - int Index of edge in adjacency list
Returns:
byte FlagsByte of edge.

peekStreetName

public java.lang.String peekStreetName(int edgeIdx)
Returns the StreetName of an edge.

Parameters:
edgeIdx - int Index of Edge
Returns:
String Name of street NOT NULL!

findFirstSiblingEdgeIdx

public int findFirstSiblingEdgeIdx(int edgeIdx)
Finds the first Edge-Index for a link / crossing.

Parameters:
edgeIdx - int Index of arbitrary edge.
Returns:
int Index of first edge for corresponding link.
See Also:
findSiblingEdges(int, SdEdge[])

findSiblingEdges

public int findSiblingEdges(int edgeIdx,
                            SdEdge[] edges)
Deserializes the given an all subsequent edges of the same link into the given Edge-Array.

Parameters:
edgeIdx - int Index of first edge.
edges - Array of SdEdge ELEMENTS NOT NULL.
Returns:
int Number of found edges.

findReverseEdgeIdx

public int findReverseEdgeIdx(int edgeIdx)
Finds the reverse edge.

Parameters:
edgeIdx - int edge-Index.
Returns:
int Reverse-Edge-Index or -1, if not found.

findCloseEdgeIdxs

public final int[] findCloseEdgeIdxs(float lat,
                                     float lon)
Finds close edges.

Parameters:
lat - float Latitude
lon - float Longitude
Returns:
int[] Indices of close edges, NOT NULL.

lookupGeometry

public long[] lookupGeometry(int edgeIdx)
Returns the Geometrie for one Edge.

Parameters:
edgeIdx - int Index of Edge
Returns:
long[]-Array of long-coded coordinates.

osm2po-sd-5.0.0 (c) December 24 2014 Carsten Moeller - info@osm2po.de