public class MinorStreetDetector extends DefaultJoinFilter implements GraphBuildInterceptor, PostProcessor
DefaultJoinFilter
erbt,
als auch GraphBuildInterceptor
und PostProcessor
implementiert
und eine Filterung benoetigter Wege niederer Typen ermoeglicht.minorstreet.clazzes=51,63 minorstreet.detection.bean.file=[workDir]/minorstreets.bean msdclass=de.cm.osm2po.misc.MinorStreetDetector jobs=first,second .first.cmd=cg .first.graph.build.interceptor.class=[msdclass] .first.postp.0.class=[msdclass] .second.cmd=jsgr .second.loadbean.minorstreets=[minorstreet.detection.bean.file] .second.joinFilter.class=[msdclass]Das Ergebnis der ersten Phase ist eine
VarBean
-Datei vom Typ
VarLongArray
mit einer Sammlung von OSM-IDs von Strassen der
konfigurierten Klassen (Beispiel oben: 51,63) ohne die einige Routen nicht
gefunden werden koennen.DefaultWayTagResolver
uebernimmt in
der zweiten Phase (2. Durchlauf) dann diese IDs und filtert diese raus.PROP_DEFAULT_SPEED, PROP_ROUTEWAYCLAZZES
PROP_PREFIX
Constructor and Description |
---|
MinorStreetDetector() |
Modifier and Type | Method and Description |
---|---|
void |
onClose(java.io.File graphFile)
Bietet die Moeglichkeit, Resourcen aufzuraeumen.
|
void |
onEdgeCreate(Edge edge,
int segmentIdx,
boolean reverse)
Wird fuer jede Kante 2 Mal, und zwar fuer die
Hin- und Rueckrichtung, aufgerufen.
|
void |
onEdgePosition(int edgeIdx,
Edge edge)
Wird vor dem endgueltigen Schreiben gerufen und informiert
ueber die finale Position der Kante im Graphen.
|
void |
onOpen(Config config)
Wird einmalig nach der Instanziierung aufgerufen.
|
void |
onVertex(Vertex vertex)
Simpler callback, der fuer jeden Vertex 1 Mal ausgeloest wird.
|
void |
onWay(SegmentedWay way)
Wird vor allen Verarbeitungsschritten eines Weges genau 1 Mal aufgerufen.
|
void |
open(Config config,
java.lang.String prefix)
Wird einmalig nach der Instanziierung aufgerufen.
|
void |
run(Config config,
int index)
Startet den Lauf.
|
boolean |
validate(Way way)
Kritischer Callback, der einen Verweis auf den gerade
zusammengestellten Weg uebergibt und somit alle
Tueren fuer letzte Manipulationen vorm endgueltigen
Rausschreiben oeffnet.
|
close, tiledInto
public void onOpen(Config config)
GraphBuildInterceptor
onOpen
in interface GraphBuildInterceptor
config
- Config
Konfiguration.public void onWay(SegmentedWay way)
GraphBuildInterceptor
onWay
in interface GraphBuildInterceptor
way
- SegmentedWay
public void onEdgeCreate(Edge edge, int segmentIdx, boolean reverse)
GraphBuildInterceptor
onEdgeCreate
in interface GraphBuildInterceptor
edge
- Edge
die aus dem WaySegment
abgeleitete Kante.segmentIdx
- int Index im SegmentedWay
.reverse
- true/false Richtung der Edge
.GraphBuildInterceptor.onWay(SegmentedWay)
public void onClose(java.io.File graphFile)
GraphBuildInterceptor
onClose
in interface GraphBuildInterceptor
graphFile
- Pfad zur fertigen Graph-Datei.public void onEdgePosition(int edgeIdx, Edge edge)
GraphBuildInterceptor
Graph.getEdgeFlags()
.onEdgePosition
in interface GraphBuildInterceptor
edgeIdx
- fortlaufender Index der Edge in der Adjazenz-Listeedge
- Edge
Kante.public void onVertex(Vertex vertex)
GraphBuildInterceptor
onVertex
in interface GraphBuildInterceptor
vertex
- Vertex
public void run(Config config, int index) throws java.lang.Exception
PostProcessor
run
in interface PostProcessor
config
- Config
Aktuelle Konfigurationindex
- Ordinal-Index bei mehreren Postprozessoren innerhalb der Config.java.lang.Exception
- xpublic void open(Config config, java.lang.String prefix)
JoinFilter
open
in interface JoinFilter
open
in class DefaultJoinFilter
config
- Config
Konfiguration.prefix
- String Property-Prefix ohne Punkt-Trenner NULLABLE.FlowJoinFilter
public boolean validate(Way way)
JoinFilter
validate
in interface JoinFilter
validate
in class DefaultJoinFilter
way
- Way