private static Network filterNetwork(Network network) { CoordinateTransformation transform = TransformationFactory.getCoordinateTransformation( TransformationFactory.CH1903_LV03_GT, TransformationFactory.DHDN_GK4); // CoordinateTransformation transform = // TransformationFactory.getCoordinateTransformation(TransformationFactory.CH1903_LV03_GT, // "WGS84_UTM32T"); Network net = NetworkUtils.createNetwork(); RoadPricingSchemeImpl rps = new RoadPricingSchemeImpl(); RoadPricingReaderXMLv1 rpr = new RoadPricingReaderXMLv1(rps); rpr.parse(linksToFilter); Set<Id<Link>> linkList = rps.getTolledLinkIds(); for (Link link : network.getLinks().values()) { Id linkId = link.getId(); if (linkList.contains(linkId)) { Id fromId = link.getFromNode().getId(); Id toId = link.getToNode().getId(); Coord fromNodeCoord = link.getFromNode().getCoord(); Coord toNodeCoord = link.getToNode().getCoord(); Coord fromNodeTransformed = transform.transform(fromNodeCoord); Coord toNodeTransformed = transform.transform(toNodeCoord); // Node newFromNode = net.getFactory().createNode(fromId, fromNodeCoord); // Node newToNode = net.getFactory().createNode(toId, toNodeCoord); Node newFromNode = net.getFactory().createNode(fromId, fromNodeTransformed); Node newToNode = net.getFactory().createNode(toId, toNodeTransformed); if (!net.getNodes().containsKey(fromId)) { net.addNode(newFromNode); } if (!net.getNodes().containsKey(toId)) { net.addNode(newToNode); } Link ll = net.getFactory().createLink(link.getId(), newFromNode, newToNode); net.addLink(ll); } } return net; }