All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.routing.vertextype.SplitterVertex Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
package org.opentripplanner.routing.vertextype;

import org.opentripplanner.routing.edgetype.StreetEdge;
import org.opentripplanner.routing.graph.Graph;

/**
 * A vertex representing a place along a street between two intersections that is not derived from an OSM node,
 * but is instead the result of breaking that street segment into two pieces in order to connect it to
 * a transit stop.
 */
public class SplitterVertex extends IntersectionVertex {
    /** The OSM node ID of the intersection before this split vertex */
    public final long previousNodeId;

    /** The OSM node ID of the intersection after this split vertex */
    public final long nextNodeId;

    public SplitterVertex(Graph g, String label, double x, double y, StreetEdge streetEdge) {
        super(g, label, x, y);
        // splitter vertices don't represent something that exists in the world, so traversing them is
        // always free.
        this.freeFlowing = true;

        // we have to save the IDs of the OSM nodes so that the split street have the same start and end
        // nodes and can be referenced to OpenTraffic data.
        this.previousNodeId = streetEdge.getStartOsmNodeId();
        this.nextNodeId = streetEdge.getEndOsmNodeId();
    }

    private static final long serialVersionUID = 1L;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy