Package org.geotools.graph.structure

Examples of org.geotools.graph.structure.Edge


   
    //get the edge between the first and last nodes
    Node first = (Node)get(0);
    Node last = (Node)get(size()-1);
   
    Edge e = first.getEdge(last);
    if (e != null) {
      edges.add(e);
      return(edges);
    }
   
View Full Code Here


      el1.add( lsgg.add( lines[i] ) );
      el2.add( fgg.add( features[i] ) );
    }
   
    for ( int i = 0; i < el1.size(); i++ ) {
      Edge e1 = (Edge) el1.get( i );
      Edge e2 = (Edge) el2.get( i );
     
      assertTrue( e1.getObject() instanceof LineString );
      assertTrue( e2.getObject() instanceof SimpleFeature );
     
      LineString line = (LineString) e1.getObject();
      SimpleFeature feature = (SimpleFeature) e2.getObject();
     
      assertEquals( line, feature.getDefaultGeometry() );
    }
  }
View Full Code Here

    //test addition of multiple edges, same edge
    m_node.add(m_edge);
    assertTrue(m_node.getEdges().size() == 2);
   
    //test addition of multiple edges, different
    Edge other = new BasicEdge(m_node, m_otherNode);
    m_node.add(other);
    assertTrue(m_node.getEdges().size() == 3);
    assertTrue(m_node.getEdges().contains(m_edge));
    assertTrue(m_node.getEdges().contains(other));
  }
View Full Code Here

    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    assertTrue(m_builder.getEdges().isEmpty());
   
    Edge e = m_builder.buildEdge(n1, n2);
   
    assertTrue(e != null);
    assertTrue(e.getNodeA() == n1 || e.getNodeA() == n2);
    assertTrue(e.getNodeB() == n1 || e.getNodeB() == n2);
  }
View Full Code Here

            List shortEdges = acd.getShortEdges();
            if (!(shortEdges.isEmpty())){
                Vector shortlyConnectedComponents = new Vector();
                Iterator shortIt = shortEdges.iterator();
                while (shortIt.hasNext()){
                    Edge nextEdge = (Edge) shortIt.next();
                    Node other = nextEdge.getOtherNode(next);
                    Graph g = getMyComponent(other, connectedComponents);
                    if (!(shortlyConnectedComponents.contains(g))){
                        shortlyConnectedComponents.add(g);
                    }
                }
                Graph cv = null;
                if (shortlyConnectedComponents.size() > 1){
                    Iterator sccIt = shortlyConnectedComponents.iterator();
                    int maxSize = 0;
                    while (sccIt.hasNext()){
                        Graph nextGraph = (Graph) sccIt.next();
                        int size = nextGraph.getNodes().size();
                        if (size > maxSize){
                            maxSize = size;
                            cv = nextGraph;
                        }
                    }
                } else {
                    cv = (Graph) shortlyConnectedComponents.get(0);
                }
                Iterator shortIt2 = shortEdges.iterator();
                while (shortIt2.hasNext()){
                    Edge nextEdge = (Edge) shortIt2.next();
                    Node other = nextEdge.getOtherNode(next);
                    if (cv.equals(getMyComponent(other, shortlyConnectedComponents))){
                        edges.add(nextEdge);
                    }
                }
            } //end if shortEdges isn't empty
            Graph gr = getMyComponent(next, connectedComponents);
            if (gr.getNodes().size() == 1){
                Vector shortlyConnectedComponents = new Vector();
                Iterator shortIt = shortEdges.iterator();
                while (shortIt.hasNext()){
                    Edge nextEdge = (Edge) shortIt.next();
                    Node other = nextEdge.getOtherNode(next);
                    Graph g = getMyComponent(other, connectedComponents);
                    if (!(shortlyConnectedComponents.contains(g))){
                        shortlyConnectedComponents.add(g);
                    }
                }
                if (shortlyConnectedComponents.size() == 1){
                    edges.addAll(shortEdges);
                }
            }
        } //end nodeIt4 while loop.
       
        LOGGER.fine("End of phase two and ");
        LOGGER.fine("Nodes are " + nodes);
        LOGGER.fine("Edges are " + edges);  
        showGraph(nodes, edges, 2);
        connectedComponents = AutoClustUtils.findConnectedComponents(nodes, edges);
       
        //Phase III
        Iterator nodeIt5 = nodes.iterator();
        while (nodeIt5.hasNext()){
            DelaunayNode next = (DelaunayNode) nodeIt5.next();
            Vector edgesWithinTwo = new Vector();
            List adjacentEdges = AutoClustUtils.findAdjacentEdges(next, edges); //yes, next.getEdges() could work, but there's no guarantee that next's edge list is current anymore
            edgesWithinTwo.addAll(adjacentEdges);
            Iterator adjacentIt = adjacentEdges.iterator();
            while (adjacentIt.hasNext()){
                Edge nextEdge = (Edge) adjacentIt.next();
                Node other = nextEdge.getOtherNode(next);
                List adjacentToOther = AutoClustUtils.findAdjacentEdges(other, edges)//yes, other.getEdges() could work, but there's no guarantee that other's edge list is current anymore
                Iterator atoIt = adjacentToOther.iterator();
                while (atoIt.hasNext()){
                    Edge nextEdge2 = (Edge) atoIt.next();
                    if (!(edgesWithinTwo.contains(nextEdge2))){
                        edgesWithinTwo.add(nextEdge2);
                    }
                }
            }
View Full Code Here

 
  public void test_addEdge_0() {
    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    Edge e = m_builder.buildEdge(n1, n2);
   
    m_builder.addNode(n1);
    m_builder.addNode(n2);
   
    m_builder.addEdge(e);
View Full Code Here

  }
 
  public void test_addEdge_1() {
    //add a loop edge, edge list size ==1 but degree == 2
    Node n1 = m_builder.buildNode();
    Edge loop = m_builder.buildEdge(n1, n1);
   
    m_builder.addNode(n1);
    m_builder.addEdge(loop)
   
    assertTrue(n1.getEdges().size() == 1);
View Full Code Here

 
  public void test_removeEdge_0() {
    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    Edge e = m_builder.buildEdge(n1, n2);
   
    m_builder.addNode(n1);
    m_builder.addNode(n2);
    m_builder.addEdge(e);
   
View Full Code Here

 
  public void test_removeEdge_1() {
    //test a loop edge
    Node n1 = m_builder.buildNode();
   
    Edge e = m_builder.buildEdge(n1, n1);
   
    m_builder.addNode(n1);
    m_builder.addEdge(e);
   
    assertTrue(n1.getEdges().contains(e));
View Full Code Here

    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
    Node n3 = m_builder.buildNode();
    Node n4 = m_builder.buildNode();
   
    Edge e1 = m_builder.buildEdge(n1, n2);
    Edge e2 = m_builder.buildEdge(n3, n4);
   
    m_builder.addNode(n1);
    m_builder.addNode(n2);
    m_builder.addNode(n3);
    m_builder.addNode(n4);
View Full Code Here

TOP

Related Classes of org.geotools.graph.structure.Edge

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.