Package org.goplanit.osm.util
Class PlanitNetworkLayerUtils
- java.lang.Object
-
- org.goplanit.osm.util.PlanitNetworkLayerUtils
-
public class PlanitNetworkLayerUtils extends Object
Utilities regarding PLANit network layers with respect to parsing OSM netities for it- Author:
- markr
-
-
Constructor Summary
Constructors Constructor Description PlanitNetworkLayerUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Node
createAndPopulateNode(de.topobyte.osm4j.core.model.iface.OsmNode osmNode, MacroscopicNetworkLayer networkLayer)
Extract a PLANit node from the osmNode informationstatic MacroscopicLink
createPopulateAndRegisterLink(Node nodeA, Node nodeB, org.locationtech.jts.geom.LineString geometry, MacroscopicNetworkLayer layer, String externalId, String name, PlanitJtsCrsUtils geoUtils)
Default way to create a link (and register it on its nodes) in OSMstatic MacroscopicLinkSegment
createPopulateAndRegisterLinkSegment(MacroscopicLink link, boolean directionAb, MacroscopicLinkSegmentType linkSegmentType, Double speedLimit, Integer numLanes, MacroscopicNetworkLayer networkLayer)
Default way to create a link segment (and register it ) in OSMstatic Node
createPopulateAndRegisterNode(de.topobyte.osm4j.core.model.iface.OsmNode osmNode, MacroscopicNetworkLayer networkLayer, OsmNetworkReaderLayerData layerData)
Extract a PLANit node from the osmNode information and register it on the provided layerstatic Node
createPopulateAndRegisterNode(org.locationtech.jts.geom.Point osmNodeLocation, MacroscopicNetworkLayer networkLayer, OsmNetworkReaderLayerData layerData)
Extract a PLANit node from the location information and register it on the provided layerstatic List<? extends NetworkLayer>
getNetworkLayersWithActiveOsmNode(long osmNodeId, LayeredNetwork<?,?> network, OsmNetworkToZoningReaderData networkToZoningData)
Collect the layers where the OSM node is active in either as an extreme node or internal to a PLANit linkstatic boolean
hasNetworkLayersWithActiveOsmNode(long osmNodeId, LayeredNetwork<?,?> network, OsmNetworkReaderData networkData)
Verify if there exist any layers where the node is active either as an extreme node or internal to a PLANit linkstatic boolean
hasNetworkLayersWithActiveOsmNode(long osmNodeId, LayeredNetwork<?,?> network, OsmNetworkToZoningReaderData networkToZoningData)
Verify if there exist any layers where the node is active either as an extreme node or internal to a PLANit link
-
-
-
Method Detail
-
getNetworkLayersWithActiveOsmNode
public static List<? extends NetworkLayer> getNetworkLayersWithActiveOsmNode(long osmNodeId, LayeredNetwork<?,?> network, OsmNetworkToZoningReaderData networkToZoningData)
Collect the layers where the OSM node is active in either as an extreme node or internal to a PLANit link- Parameters:
osmNodeId
- to usenetwork
- to considernetworkToZoningData
- to extract layer specific data from- Returns:
- true when one or more layers are found, false otherwise
-
hasNetworkLayersWithActiveOsmNode
public static boolean hasNetworkLayersWithActiveOsmNode(long osmNodeId, LayeredNetwork<?,?> network, OsmNetworkToZoningReaderData networkToZoningData)
Verify if there exist any layers where the node is active either as an extreme node or internal to a PLANit link- Parameters:
osmNodeId
- to usenetwork
- to considernetworkToZoningData
- to extract layer specific data from- Returns:
- true when one or more layers are found, false otherwise
-
hasNetworkLayersWithActiveOsmNode
public static boolean hasNetworkLayersWithActiveOsmNode(long osmNodeId, LayeredNetwork<?,?> network, OsmNetworkReaderData networkData)
Verify if there exist any layers where the node is active either as an extreme node or internal to a PLANit link- Parameters:
osmNodeId
- to usenetwork
- to considernetworkData
- to extract layer specific data from- Returns:
- true when one or more layers are found, false otherwise
-
createPopulateAndRegisterLinkSegment
public static MacroscopicLinkSegment createPopulateAndRegisterLinkSegment(MacroscopicLink link, boolean directionAb, MacroscopicLinkSegmentType linkSegmentType, Double speedLimit, Integer numLanes, MacroscopicNetworkLayer networkLayer)
Default way to create a link segment (and register it ) in OSM- Parameters:
link
- link to create it ondirectionAb
- direction of the segmentlinkSegmentType
- type to applynetworkLayer
- to register onspeedLimit
- to applynumLanes
- to apply- Returns:
- created link segment
-
createPopulateAndRegisterLink
public static MacroscopicLink createPopulateAndRegisterLink(Node nodeA, Node nodeB, org.locationtech.jts.geom.LineString geometry, MacroscopicNetworkLayer layer, String externalId, String name, PlanitJtsCrsUtils geoUtils)
Default way to create a link (and register it on its nodes) in OSM- Parameters:
nodeA
- to usenodeB
- to usegeometry
- to setlayer
- to register onexternalId
- to set (optional)name
- to set (optional)geoUtils
- to use- Returns:
- created and registered link
-
createAndPopulateNode
public static Node createAndPopulateNode(de.topobyte.osm4j.core.model.iface.OsmNode osmNode, MacroscopicNetworkLayer networkLayer)
Extract a PLANit node from the osmNode information- Parameters:
osmNode
- to create PLANit node fornetworkLayer
- to create node on- Returns:
- created node, null when something went wrong
-
createPopulateAndRegisterNode
public static Node createPopulateAndRegisterNode(de.topobyte.osm4j.core.model.iface.OsmNode osmNode, MacroscopicNetworkLayer networkLayer, OsmNetworkReaderLayerData layerData)
Extract a PLANit node from the osmNode information and register it on the provided layer- Parameters:
osmNode
- to create PLANit node fornetworkLayer
- to create node onlayerData
- to register on- Returns:
- created node, null when something went wrong
-
createPopulateAndRegisterNode
public static Node createPopulateAndRegisterNode(org.locationtech.jts.geom.Point osmNodeLocation, MacroscopicNetworkLayer networkLayer, OsmNetworkReaderLayerData layerData)
Extract a PLANit node from the location information and register it on the provided layer- Parameters:
osmNodeLocation
- to create PLANit node fornetworkLayer
- to create node onlayerData
- to register on- Returns:
- created node, null when something went wrong
-
-