@Override public Node createNode(final Id<Node> id, final Coord coord) { Node node = NetworkUtils.createNode(id); node.setCoord(coord) ; return node ; }
public void testNodes_withAndWithoutElevation(){ List<Node> nodes = new ArrayList<>(2); Node n1 = NetworkUtils.createNode( Id.create("1", Node.class), new Coord((double) 0, (double) 0)); Node n2 = NetworkUtils.createNode( Id.create("2", Node.class), new Coord((double) 1000, (double) 0, (double) 0)); nodes.add(n1); nodes.add(n2); doTestNodes(nodes, getOutputDirectory() + "network.xml"); }
public void testNodes_withoutElevation(){ List<Node> nodes = new ArrayList<>(2); Node n1 = NetworkUtils.createNode( Id.create("1", Node.class), new Coord((double) 0, (double) 0)); Node n2 = NetworkUtils.createNode( Id.create("2", Node.class), new Coord((double) 1000, (double) 0)); nodes.add(n1); nodes.add(n2); doTestNodes(nodes, getOutputDirectory() + "network.xml"); }
public void testNodes_withElevation(){ List<Node> nodes = new ArrayList<>(2); Node n1 = NetworkUtils.createNode( Id.create("1", Node.class), new Coord((double) 0, (double) 0, (double) 0)); Node n2 = NetworkUtils.createNode( Id.create("2", Node.class), new Coord((double) 1000, (double) 0, (double) 0)); nodes.add(n1); nodes.add(n2); doTestNodes(nodes, getOutputDirectory() + "network.xml"); }
private Network reshuffleNodesAndReturnNetwork(List<Node> nodes) { Network network = NetworkUtils.createNetwork(); Collections.shuffle(nodes); for (Node n : nodes) { System.out.println("Adding node "+ n.getId()); network.addNode(NetworkUtils.createNode(n.getId(), n.getCoord())); } return network; }
al.add(NetworkUtils.createNode(Id.createNodeId("c1"), c1)); Coord c2 = new Coord((double) 1, (double) 2); al.add(NetworkUtils.createNode(Id.createNodeId("c2"), c2)); Coord c3 = new Coord((double) 1, (double) 3); al.add(NetworkUtils.createNode(Id.createNodeId("c3"), c3)); Coord c4 = new Coord((double) 1, (double) 4); al.add(NetworkUtils.createNode(Id.createNodeId("c4"), c4)); Coord c5 = new Coord((double) 2, (double) 5); al.add(NetworkUtils.createNode(Id.createNodeId("c5"), c5)); Coord c6 = new Coord((double) 3, (double) 4); al.add(NetworkUtils.createNode(Id.createNodeId("c6"), c6)); Coord c7 = new Coord((double) 3, (double) 3); al.add(NetworkUtils.createNode(Id.createNodeId("c7"), c7)); Coord c8 = new Coord((double) 3, (double) 2); al.add(NetworkUtils.createNode(Id.createNodeId("c8"), c8)); al.add(NetworkUtils.createNode(Id.createNodeId("c9"), c9)); Coord c10 = new Coord((double) 6, (double) 4); al.add(NetworkUtils.createNode(Id.createNodeId("c10"), c10)); Coord c11 = new Coord((double) 7, (double) 5); al.add(NetworkUtils.createNode(Id.createNodeId("c11"), c11)); Coord c12 = new Coord((double) 8, (double) 4); al.add(NetworkUtils.createNode(Id.createNodeId("c12"), c12)); al.add(NetworkUtils.createNode(Id.createNodeId("c13"), c13)); Coord c14 = new Coord((double) 5, (double) 7); al.add(NetworkUtils.createNode(Id.createNodeId("c14"), c14));
nodes.add(NetworkUtils.createNode(node.getId(), node.getCoord())); Node fromNode = NetworkUtils.createNode(link.getFromNode().getId(), link.getFromNode().getCoord()); Node fromCentroid = getClusteredNode(fromNode); Node toNode = NetworkUtils.createNode(link.getToNode().getId(), link.getToNode().getCoord()); Node toCentroid = getClusteredNode(toNode);
@Test public void testAddNode_existingId() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 1000, (double) 0)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord((double) 2000, (double) 500)); Node node1b = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 2000, (double) 0)); network.addNode(node1); network.addNode(node2); Assert.assertEquals(2, network.getNodes().size()); try { network.addNode(node1b); Assert.fail("missing exception. Should not be able to add different node with existing id."); } catch (IllegalArgumentException e) { log.info("catched expected exception.", e); } Assert.assertEquals(2, network.getNodes().size()); network.addNode(node1); // adding the same node again should just be ignored Assert.assertEquals(2, network.getNodes().size()); network.addNode(node3); Assert.assertEquals(3, network.getNodes().size()); }
Node a = NetworkUtils.createNode(Id.createNodeId("a"),CoordUtils.createCoord(0.0, 0.0)); Node b = NetworkUtils.createNode(Id.createNodeId("b"), CoordUtils.createCoord(10.0, 0.0)); Node c = NetworkUtils.createNode(Id.createNodeId("c"), CoordUtils.createCoord(20.0, 0.0)); Node d = NetworkUtils.createNode(Id.createNodeId("d"), CoordUtils.createCoord(30.0, 0.0)); Node e = NetworkUtils.createNode(Id.createNodeId("e"), CoordUtils.createCoord(40.0, 0.0)); Node f = NetworkUtils.createNode(Id.createNodeId("f"), CoordUtils.createCoord(50.0, 0.0));
/** * MATSIM-278, 10jun2015: adding a node if quadtree only contained one node * * @author mrieser / Senozon AG */ @Test public void testAddNode_singleNodeFirstOnly() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 500, (double) 400)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 600, (double) 500)); network.addNode(node1); Assert.assertEquals(1, network.getNodes().size()); Node n = NetworkUtils.getNearestNode(network,new Coord((double) 550, (double) 450)); Assert.assertEquals(node1, n); network.addNode(node2); Assert.assertEquals(2, network.getNodes().size()); n = NetworkUtils.getNearestNode(network,new Coord((double) 590, (double) 490)); Assert.assertEquals(node2, n); }
public void testAddLink_existingId() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 1000, (double) 0)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord((double) 2000, (double) 500)); final double y = -500; Node node4 = NetworkUtils.createNode(Id.create(4, Node.class), new Coord((double) 2000, y)); network.addNode(node1); network.addNode(node2);
/** * Tests if the default values of a network instance are the same as the defaults specified in the network_v1.dtd */ @Test public void testDefaultValues(){ Network net = new NetworkImpl(); Assert.assertEquals(7.5, net.getEffectiveCellSize(), 0.0); Assert.assertEquals(3.75, net.getEffectiveLaneWidth(), 0.0); Assert.assertEquals(3600.0, net.getCapacityPeriod(), 0.0); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 1000, (double) 0)); net.addNode(node1); net.addNode(node2); final NetworkFactory nf = net.getFactory(); Gbl.assertNotNull(nf); Link link = nf.createLink(Id.create(1, Link.class), node1, node2); Assert.assertEquals(1, link.getAllowedModes().size()); Assert.assertEquals("car", link.getAllowedModes().iterator().next()); }
/** * MATSIM-278, 13jun2015: adding a node if quadtree is empty * * @author droeder / Senozon Deutschland GmbH */ @Test public void testAddTwoNodes_initializedEmptyQuadtree() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 500, (double) 400)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 600, (double) 500)); Node n = NetworkUtils.getNearestNode(network,new Coord((double) 550, (double) 450)); Assert.assertNull(n); network.addNode(node1); Assert.assertEquals(1, network.getNodes().size()); n = NetworkUtils.getNearestNode(network,new Coord((double) 550, (double) 450)); Assert.assertEquals(node1, n); network.addNode(node2); Assert.assertEquals(2, network.getNodes().size()); n = NetworkUtils.getNearestNode(network,new Coord((double) 590, (double) 490)); Assert.assertEquals(node2, n); }
@Test public void testAddLink_intoEmptyQuadTree() { Network network = new NetworkImpl(); Assert.assertEquals(0, network.getLinks().size()); Assert.assertNull(NetworkUtils.getNearestLink(network, new Coord(300, 200))); // this will force the node QuadTree to be built Assert.assertNull(NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord(100, 100)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord(1000, 200)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord(500, 700)); network.addNode(node1); network.addNode(node2); network.addNode(node3); Link link1 = NetworkUtils.createLink(Id.create(1, Link.class), node1, node2, network, 800, 13.4, 2000, 1); Link link2 = NetworkUtils.createLink(Id.create(2, Link.class), node2, node3, network, 800, 13.4, 2000, 1); Link link3 = NetworkUtils.createLink(Id.create(3, Link.class), node3, node1, network, 800, 13.4, 2000, 1); network.addLink(link1); network.addLink(link2); network.addLink(link3); Assert.assertEquals(3, network.getLinks().size()); Assert.assertEquals(link1, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link1, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built } }
@Test public void testAddLink_alsoInQuadTrees() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord(100, 100)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord(1000, 200)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord(500, 700)); network.addNode(node1); network.addNode(node2); network.addNode(node3); Link link1 = NetworkUtils.createLink(Id.create(1, Link.class), node1, node2, network, 800, 13.4, 2000, 1); Link link2 = NetworkUtils.createLink(Id.create(2, Link.class), node2, node3, network, 800, 13.4, 2000, 1); Link link3 = NetworkUtils.createLink(Id.create(3, Link.class), node3, node1, network, 800, 13.4, 2000, 1); // do not yet add link1 network.addLink(link2); network.addLink(link3); Assert.assertEquals(2, network.getLinks().size()); Assert.assertEquals(link3, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link3, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built network.addLink(link1); Assert.assertEquals(3, network.getLinks().size()); // check that the quad trees were correctly updated with the new link Assert.assertEquals(link1, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link1, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built }
@Test public void testRemoveLink_alsoInQuadTrees() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord(100, 100)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord(1000, 200)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord(500, 700)); network.addNode(node1); network.addNode(node2); network.addNode(node3); Link link1 = NetworkUtils.createLink(Id.create(1, Link.class), node1, node2, network, 800, 13.4, 2000, 1); Link link2 = NetworkUtils.createLink(Id.create(2, Link.class), node2, node3, network, 800, 13.4, 2000, 1); Link link3 = NetworkUtils.createLink(Id.create(3, Link.class), node3, node1, network, 800, 13.4, 2000, 1); network.addLink(link1); network.addLink(link2); network.addLink(link3); Assert.assertEquals(3, network.getLinks().size()); Assert.assertEquals(link1, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link1, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); network.removeLink(link1.getId()); Assert.assertEquals(2, network.getLinks().size()); Assert.assertEquals(link3, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link3, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); network.removeLink(link3.getId()); Assert.assertEquals(1, network.getLinks().size()); Assert.assertEquals(link2, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); network.removeLink(link2.getId()); Assert.assertEquals(0, network.getLinks().size()); Assert.assertNull(NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertNull(NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); }