22 package org.matsim.core.network.algorithms;
24 import java.util.ArrayList;
25 import java.util.List;
29 import org.apache.logging.log4j.LogManager;
30 import org.apache.logging.log4j.Logger;
59 this.originalNetwork = originalNet;
64 if (this.invertedNetwork == null){
72 int numberOfNodesGenerated = 0;
73 int numberOfLinksGenerated = 0;
75 for (
Link link : this.originalNetwork.
getLinks().values()) {
77 numberOfNodesGenerated++;
80 for (
Node node : this.originalNetwork.
getNodes().values()) {
81 for (
Link inLink : node.getInLinks().values()) {
82 for (
Link outLink : node.getOutLinks().values()) {
83 List<TurnInfo> turnInfos = this.inLinkTurnInfoMap.get(inLink.getId());
92 log.info(
"Generated " + numberOfNodesGenerated +
" Nodes and " + numberOfLinksGenerated +
" Links");
101 Link link =
NetworkUtils.
createAndAddLink(this.invertedNetwork,
Id.
create(numberOfLinksGenerated + 1,
Link.class), this.invertedNetwork.
getNodes().get(
Id.
create(inLink.
getId(),
Node.class)), this.invertedNetwork.
getNodes().get(
Id.
create(outLink.
getId(),
Node.class)), outLink.
getLength(), outLink.
getFreespeed(), outLink.
getCapacity(), outLink.
getNumberOfLanes() );
105 return numberOfLinksGenerated + 1;
109 List<Link> ret =
new ArrayList<Link>(nodes.size());
110 for (
Node n : nodes){
Network getInvertedNetwork()
Map< Id< Node >, ? extends Node > getNodes()
List< Link > convertInvertedNodesToLinks(List< Node > nodes)
int createInvertedLink(Link inLink, Link outLink, int numberOfLinksGenerated, Set< String > modes)
static Node createAndAddNode(Network network, final Id< Node > id, final Coord coord)
static< T > Id< T > create(final long key, final Class< T > type)
static String getType(Node node)
static Network createNetwork()
double getNumberOfLanes()
Map< Id< Link >, List< TurnInfo > > inLinkTurnInfoMap
Map< Id< Link >, ? extends Link > getLinks()
NetworkInverter(Network originalNet, Map< Id< Link >, List< TurnInfo >> inLinkTurnInfoMap)
static Link createAndAddLink(Network network, final Id< Link > id, final Node fromNode, final Node toNode, final double length, final double freespeed, final double capacity, final double numLanes)
static void setType(Node node, final String type)
void setAllowedModes(Set< String > modes)