x

Nutzung von GeoTools mit mapnik (Gekoordinaten vs. OSM IDs)


  1. Nutzung von GeoTools mit mapnik (Gekoordinaten vs. OSM IDs) · TrafficJam (Gast) · 02.05.2012 07:57 · [flux]

    Hallo zusammen,

    ich möchte mit OSM ein Routing von Node A nach Node B durchführen.
    Nach meinen Recherchen ist dafür der DijkstraShortestPathFinder gut geeignet.

    Nachdem ich die Route gefunden habe, möchte mit dem Mapnik die entsprechenden Images/Tiles für unsere Webseit erzeugen.

    Mein Problem dabei ist: DijkstraShortestPathFinder arbeitet nur mit Nodes auf der Basis von Koordinaten. Mapnik kann aber nur mit OSM IDs (in diesem Fall way IDs) arbeiten.

    Kann der DijkstraShortestPathFinder mit OSM IDs routen???

    Im Geotools Demoprojekt 'Quickstart I' kann man mit dem Button 'Identify Features' kann man die OSM ID der aktuellen Geo Position anzeigen.

    Es ist also offensichtlich ein Mapping OSM-ID <---> coordinates möglich. Weiß jemand wie man das macht?

    Noch eine Frage:
    Habe versucht über geotools-gt2-users@lists.sourceforge.net einen analogen englischen Post abzusetzen.
    Leider erscheint er nicht in der Liste.
    Laut der Beschreibung der Liste unter http://docs.geotools.org/latest/usergui … guide.html ist die Liste nicht moderiert.
    Was kann da schief gehen? Eigentlich muß man doch nur den Post an die E-Mail Adresse schicken und schon sollte der Post erscheinen.

    Vielen Dank für Eure Hilfe!


    • Re: Nutzung von GeoTools mit mapnik (Gekoordinaten vs. OSM IDs) · lutz (Gast) · 02.05.2012 12:15 · [flux]

      hallo,
      ich würde es mal dort versuchen:

      http://lists.openstreetmap.org/listinfo/routing

      grüße von lutz


    • Re: Nutzung von GeoTools mit mapnik (Gekoordinaten vs. OSM IDs) · ikonor (Gast) · 02.05.2012 14:56 · [flux]

      Hallo TrafficJam,

      ich bin was GeoTools anbelangt auch erst Anfänger, aber vielleicht kann ich ja trotzdem helfen:

      TrafficJam wrote:

      Mein Problem dabei ist: DijkstraShortestPathFinder arbeitet nur mit Nodes auf der Basis von Koordinaten. Mapnik kann aber nur mit OSM IDs (in diesem Fall way IDs) arbeiten.

      Wie verwendest du Mapnik? Letzten Endes benötigt Mapnik doch nur die Geometrie zum Rendern?

      TrafficJam wrote:

      Kann der DijkstraShortestPathFinder mit OSM IDs routen???

      Je nachdem wie der Graph aufgebaut wird, enthalten die Node und Edge Objekte eine Referenz zum ursprünglichen Objekt. Welche Informationen das enthält, hängt von der verwendeten Datenquelle ab.

      Ich lade z.B. die Tabelle "planet_osm_roads" aus dem osm2pgsql Schema:

      ...
      SimpleFeatureSource␣featureSource␣=␣dataStore.getFeatureSource("planet_osm_roads");
      

      und baue damit den Graph wie im Beispiel.

      Die Node Objekte im Graph haben - wie du schon geschrieben hast - nur simple Point Geometrien als Referenz, ohne weitere Attribute. Die sind sehr wahrsch. einfach aus dem LineString entnommen (way Spalte), die Tabelle bzw. das Schema gibt aber auch gar nicht mehr her, da keine separaten Infos zu Way-Nodes.

      Nach der Berechnung des Path kann ich aber schon über das mit Edge verknüpfte Objekt die OSM ID der Ways auslesen:

      ␣␣␣␣␣List<Edge>␣edges␣=␣path.getEdges();
      for␣(Edge␣edge␣:␣edges)
      {
      SimpleFeature␣feature␣=␣(SimpleFeature)edge.getObject();
      Object␣osmId␣=␣feature.getAttribute("osm_id");
      System.out.println("osm_id␣=␣"␣+␣␣osmId);
      }
      

      Das Attribut "osm_id" entspricht der Spalte in der Tabelle. Die ID des SimpleFeature ist künstlich vergeben, weil osm_id nicht als Primärschlüssel definiert ist.

      Zur Bestimmung der Start- und End-Nodes über die OSM ID habe ich jetzt aber keine Idee, außer halt indirekt über die Koordinaten zu suchen.

      Hier hab ich noch einen Link zu Beispiel-Code gefunden, speziell WayPointTool.findClosest.

      TrafficJam wrote:

      Habe versucht über geotools-gt2-users@lists.sourceforge.net einen analogen englischen Post abzusetzen.
      Leider erscheint er nicht in der Liste.
      Laut der Beschreibung der Liste unter http://docs.geotools.org/latest/usergui … guide.html ist die Liste nicht moderiert.
      Was kann da schief gehen? Eigentlich muß man doch nur den Post an die E-Mail Adresse schicken und schon sollte der Post erscheinen.

      Evtl. muss man sich vorher erst registrieren (subscribe)?

      Gruß,
      Norbert