Berechnungen mit OSM-Daten?

Hallo,

ich suche nach Möglichkeiten, mit Geodaten, insbesondere aus OSM gezogenen, zu rechnen. Ich sollte Aufgaben der folgenden Art lösen können:

Wie weit sind zwei Knoten/Punkte voneinander entfernt?

Wie weit ist die kürzeste Entfernung zwischen einem Weg/einer Linie und einem Knoten/Punkt?

An welchen Punkten schneiden/berühren sich zwei Wege/Linien?

In welcher Fläche, z. B. Gemeindegrenze als Weg, befindet sich ein Knoten oder ein Weg? (Wie treffsicher lässt sich diese Frage für Grenzbereiche überhaupt aus OSM-Daten beantworten?)

Am liebsten wäre mir ein fertiges Python-Modul, da ich mit Python ein paar Erfahrungen habe und mit Python und Expat bereits auf große OSM-Dateien zugegriffen habe. Ich finde zwar im Web viel zu Geo-Modulen in Python, kann aber nicht erkennen, wo ich Algorithmen zu den obigen Fragen finde.

Danke für alle Hinweise, Redoute

Hi,

mit den Möglichkeiten von Python kenne ich mich nicht aus. Aber wenn du die Daten ohnehin aus einer PostgreSQL-DB ausliest, kannst du die PostGIS-Funktionen nutzen:
http://postgis.refractions.net/documentation/manual-1.4/ch07.html#Spatial_Relationships_Measurements

Gruß, Plasmon

Hm, PostGresQL ist mir eigentlich zu komplex und würde ich gerne vermeiden. Andererseits scheinen vor allem die Funktionen ST_Intersection und ST_Contains genau das zu sein, was ich gebrauchen kann.

Ich taste mich mal schrittweise vor. Im Moment hilft mir pyproj.Geod weiter. Wenn ich richtig gelesen habe, liegt wohl die gleiche C-Bibliothek Proj.4 auch PostGIS zugrunde.

Vielen Dank für den Tipp,
Redoute