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 NodecreateAndPopulateNode(de.topobyte.osm4j.core.model.iface.OsmNode osmNode, MacroscopicNetworkLayer networkLayer)Extract a PLANit node from the osmNode informationstatic MacroscopicLinkcreatePopulateAndRegisterLink(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 MacroscopicLinkSegmentcreatePopulateAndRegisterLinkSegment(MacroscopicLink link, boolean directionAb, MacroscopicLinkSegmentType linkSegmentType, Double speedLimit, Integer numLanes, MacroscopicNetworkLayer networkLayer)Default way to create a link segment (and register it ) in OSMstatic NodecreatePopulateAndRegisterNode(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 NodecreatePopulateAndRegisterNode(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 booleanhasNetworkLayersWithActiveOsmNode(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 booleanhasNetworkLayersWithActiveOsmNode(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
-
-