Examples of WayModel


Examples of de.hpi.eworld.model.db.data.WayModel

    double lat;
    double lon;
    String key;
    for(ModelElement element : modelElements.values()) {
      EdgeModel min_edge=null;
      WayModel min_way=null;
      double min_dist = Double.MAX_VALUE;
     
      // check whether the model element is a point of interest and
      // the poi is of type crossing, gate or stop_sign
      if(!(element instanceof PointOfInterest))
        continue;
     
      PointOfInterest poi = (PointOfInterest) element;
     
      if(!(poi.getDescription().equals("crossing") || poi.getDescription().equals("gate") || poi.getDescription().equals("stop_sign")) )
        continue;
       
      lat = poi.getLatitude();
      lon = poi.getLongitude();
      String poi_lat = Double.toString(lat);
      String poi_long = Double.toString(lon);     
      double key_lat = Double.parseDouble(poi_lat.substring(0,(poi_lat.split("\\.")[0].length()) + 1 + MapSegmentationPrecission));
      double key_lon = Double.parseDouble(poi_long.substring(0, (poi_long.split("\\.")[0].length()) + 1 + MapSegmentationPrecission));
     
      // create a cluster around poi
      double[] keys_lat = new double[(LatitudeDifference * 2) + 1];
      keys_lat[0] = key_lat;
      int index_lat = 1;
     
      for (int i = 1; i < LatitudeDifference + 1; i++) {
        keys_lat[index_lat] = key_lat- i / Math.pow(10, (MapSegmentationPrecission));
        index_lat++;
        keys_lat[index_lat] = key_lat+ i / Math.pow(10, (MapSegmentationPrecission));
        index_lat++;
      }

      double[] keys_lon = new double[(LongitudeDifference * 2) + 1];
      keys_lon[0] = key_lon;
      int index_lon = 1;

      for (int j = 1; j < LongitudeDifference + 1; j++) {
        keys_lon[index_lon] = key_lon- j / Math.pow(10, (MapSegmentationPrecission));
        index_lon++;
        keys_lon[index_lon] = key_lon+ j / Math.pow(10, (MapSegmentationPrecission));
        index_lon++;
      }

      // search for all ways in the cluster and calculate the distance for each edge to poi
      for(double lati : keys_lat) {
        for(double longi : keys_lon) {
          String key1="";
          String lat_key = Double.toString(lati);
          String key2="";
          String long_key = Double.toString(longi);

          try{
            key1 = lat_key.substring(0, lat_key.split("\\.")[0].length() + 1 + MapSegmentationPrecission);
          } catch(Exception e) {
            while(key1.length()< lat_key.split("\\.")[0].length() + 1 + MapSegmentationPrecission-1)
              key1 =key1+"0";
          }

          try{
            key2 = long_key.substring(0, long_key.split("\\.")[0].length() + 1 + MapSegmentationPrecission);
          } catch(Exception e) {
            while(key2.length()< long_key.split("\\.")[0].length() + 1 + MapSegmentationPrecission-1)
              key2 =key2+"0";
          }

          key =key1+":" +key2;

          if(clusteredWays.containsKey(key)) {
            for(String wayId: clusteredWays.get(key)) {
              WayModel way =(WayModel)modelElements.get(wayId);
              if(way!=null) {
                for(EdgeModel edge:way.getForwardEdges()) {
                  double dist = Line2D.ptSegDist(
                    edge.getFromNode().getLatitude(),
                    edge.getFromNode().getLongitude(),
                    edge.getToNode().getLatitude(),
                    edge.getToNode().getLongitude(),
View Full Code Here

Examples of de.hpi.eworld.model.db.data.WayModel

  public void testDatabaseSaveWay() {
    if (DATABASE_DISABLED)
      return;
   
   
    WayModel testWay = new WayModel("My way");
    EdgeModel testEdge = TestCaseUtil.createTestEdge();
    EdgeModel testEdge2 = TestCaseUtil.createTestEdge();
    testWay.addForwardEdge(testEdge);
    testWay.addBackwardEdge(testEdge2);
   
    boolean found = false;
    Collection<ModelElement> c = databaseSaveLoadGeneric(testWay);
    for (ModelElement e : c) {
      if (e instanceof WayModel) {
        WayModel way = (WayModel) e;
        if (way.equals(testWay)) found = true;
      }
    }
    Assert.assertEquals(true, found);
  }
View Full Code Here

Examples of de.hpi.eworld.model.db.data.WayModel

          i.setParentWay(j);
          done = true;
        }
      }
      if (!done) {
        WayModel newWay = new WayModel("");
        newWay.addForwardEdge(i);
        i.setParentWay(newWay);
        mm.addModelElement(newWay);
        ways.put(i.getFromNode().getInternalID() + i.getToNode().getInternalID(), newWay);
      }
     
View Full Code Here

Examples of de.hpi.eworld.model.db.data.WayModel

    for (ModelElement me : modelElements) {
      if (me instanceof EdgeModel) {
        edges.add((EdgeModel) me);

      } else if (me instanceof WayModel) {
        WayModel way = (WayModel) me;
        for (EdgeModel edge : way.getForwardEdges())
          edges.add(edge);
        for (EdgeModel edge : way.getBackwardEdges())
          edges.add(edge);

      } else if (me instanceof SchoolModel) {
        schools.add((SchoolModel) me);
View Full Code Here

Examples of de.hpi.eworld.model.db.data.WayModel

        eWays.get(e.second+"|"+e.first).addBackwardEdge(newEdge);
        newEdge.setComplementaryEdge(eWays.get(e.second+"|"+e.first).getFirstForwardEdge());
        eWays.get(e.second+"|"+e.first).getFirstForwardEdge().setComplementaryEdge(newEdge);
        newEdge.setParentWay(eWays.get(e.second+"|"+e.first));
      } else {
        WayModel newWay = new WayModel("");
        newWay.addForwardEdge(newEdge);
        newEdge.setParentWay(newWay);
        eWays.put(e.first+"|"+e.second, newWay);
        model.addModelElement(newWay);
      }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.