Guter Hinweis "Map matching", Michael !
Nebst OSRM (C++) ist Map Matching auch im GraphHopper (Java) realisiert. Zu besagten Markow-Ketten (Achtung: Mathe!) finde ich u.a. diese Open Source Python-Implementationen: https://github.com/ustroetz/OSM-Map-Matcher, https://github.com/mapillary/map_matching .
Als "naiver" Ansatz mit PostGIS mit nur teilweiser Berücksichtigung der GPX-Zeitabfolge könnte folgendes dienen: ST_SharedPaths und/oder ST_HausdorffDistance (siehe [1]) oder der "Trick" mit ST_Line_Locate_Point [2][3].
Bei letzterem Ansatz ist es ev. nötig, die OSM-Daten vorzuverarbeiten, d.h. u.a. die Strassen zu extrahieren, in einzelne Kanten aufzuteilen und Abbiege-Restriktionen (wo vorhanden) zu berücksichtigen.
Bin gespannt, welche Lösung du findest.
LG, Stefan
[1] https://lists.osgeo.org/pipermail/postgis-users/2012-January/031980.html [2] https://lists.osgeo.org/pipermail/postgis-users/2008-July/020613.html (http://blog.cleverelephant.ca/2008/04/snapping-points-in-postgis.html ), [3] http://gis.stackexchange.com/questions/143909/map-matching-gps-points-to-the...
Am 27. März 2017 um 19:56 schrieb michael spreng mailinglist@osm.datendelphin.net:
Hoi Danilo
OSRM kann das zum Beispiel:
https://www.mapbox.com/blog/map-matching/
Hoffe das hilft
Grüsse Michael
On 27/03/17 18:13, Danilo wrote:
Hoi zäme
Danke für die Antworten und Ideen! Darin ging es primär darum, ein Strassennetz möglichst effizient abzufahren, oder?
Darum ging es mir gar nicht, bei mir ist die Problemstellung viel einfacher: Mit einem Datensatz an GPS-Traces möchte ich wissen, wie viel Prozent eines Strassennetzes ich bereits besucht habe. Eine lineare Suche würde reichen, algorithmisch ist der Check selbst also nicht sonderlich schwierig.
Die Frage ist wie man das praktisch umsetzt. Welche Tools gibt es dafür? Wie kann ich GPS-Traces auf Strassen "snappen"? Und wie kann ich einfach prozentuale Überschneidung von zwei Pfaden (z.B. in PostGIS) berechnen?
Grüsse Danilo _______________________________________________ talk-ch mailing list talk-ch@openstreetmap.ch http://lists.openstreetmap.ch/mailman/listinfo/talk-ch
talk-ch mailing list talk-ch@openstreetmap.ch http://lists.openstreetmap.ch/mailman/listinfo/talk-ch