<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hey,<br>
      <br>
    </div>
    <blockquote
cite="mid:CAH_H74=vCSO7YU_wZaVYoTQWwyw0HKBJzPBV75bcBUN-ENdeGg@mail.gmail.com"
      type="cite">
      <div dir="ltr">>This is called geocoding and not provided by
        GraphHopper. Although we<br>
        >have some (closed source) prototype we still recommend other
        existing
        <div>>solutions.</div>
        <div><br>
        </div>
        <div>Isn't there a way then to somehow manually find which
          node/edge ID is associated with street name by reading routing
          data provided from graphopper.sh script? I only need to figure
          out 5-10 street's names associated with their edge/node ids so
          that I could manipulate them via hardcoding. I mean, yes, it's
          that unpractical and basic but that's my goal here :) <br>
        </div>
      </div>
    </blockquote>
    <br>
    yes, sure: loop over all edges! This extremely expensive and
    error-prone as there are multiple identical named streets even in
    one city! But you can find the names:<br>
    <br>
    EdgeIterator iter = getAllEdges();<br>
    while (iter.next())<br>
    {<br>
          iter.getName()<br>
    }<br>
    <br>
    <blockquote
cite="mid:CAH_H74=vCSO7YU_wZaVYoTQWwyw0HKBJzPBV75bcBUN-ENdeGg@mail.gmail.com"
      type="cite">
      <div dir="ltr">>Where the last option probably would be the
        simplest one as there is<br>
        >already a (hidden) method for it in OSMReader called
        isInBounds or just<br>
        >use OSM tools like osmosis:<br>
        ><a moz-do-not-send="true"
href="http://wiki.openstreetmap.org/wiki/Osmosis#Extracting_bounding_boxes"
          target="_blank">http://wiki.openstreetmap.org/wiki/Osmosis#Extracting_bounding_boxes</a><br>
        ><br>
        >Or do you need to define it per request? What is your
        usecase?
        <div><br>
        </div>
        <div>Yes, my usecase would be to define per request: </div>
        <div>-First request calculates the fastest path </div>
        <div>-Point A is moving inside the map (GPS tracking on) </div>
        <div>-Timer should recalculate path each 30s or so</div>
      </div>
    </blockquote>
    <br>
    Ok, but why would you need to find a path in a subgraph - to limit
    search space? Wouldn't it make more sense to re-compute the whole
    path (where you could reuse parts of the old result) or if that is
    too expensive you could re-compute a path in a bounding box leading
    you back to the original path.<br>
    <br>
    <div><br>
    </div>
    <div><span
        style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">>
        >* limit the search to only nodes in this area (this is only
        possible if</span><span
        style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">
        no CH is used)</span><br>
    </div>
    <div><span
        style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">>
        ><br>
      </span></div>
    <div><span
        style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">>
        how is this possible to implement? <br>
        <br>
      </span></div>
    Will work for none CH only. You'll have to tweak the algorithm to
    accept only edges which are in the bounds:<br>
    edgeFilter = new EdgeFilter() {<br>
       accept(EdgeIteratorState state) {<br>
          base = state.getBaseNode();<br>
          adj = state.getAdjNode();<br>
          int baseLat = graph.getLatitude(base);<br>
          int baseLon = graph.getLatitude(base);<br>
    ...<br>
          return bbox.contains(baseLat, baseLon) ||
    bbox.contains(adjLat, adjLon);<br>
       }<br>
    }<br>
    dijkstra.setEdgeFilter(edgeFilter);<br>
    <br>
    Regards,<br>
    Peter.<br>
  </body>
</html>