Hallo! Diese Mail hat zwei Teile. Ich hatte gestern auf dem Treffen zugesagt, ein paar Informationen, die ich zu den Themen schon gesammelt habe, weiter zu reichen. (Die angegebenen URLs haben häufig überlange Zeilen.)
Der erste Teil befasst sich mit dem Zugriff auf die OSM-Daten außerhalb der allgemein bekannten Kartendarstellung. Die Einstiegsseite dazu ist [deutsch]: http://wiki.openstreetmap.org/index.php/DE:Daten_aus_der_Datenbank_filtern Es gibt dazu eine graphische Beispielanwendung [englisch]: http://www.faveve.uni-stuttgart.de/~troll/OSM/index2.html Ich könnt rechts auf der Karte den gewünschten Ausschnitt wählen und dann bei »search for« ein Kriterium eingeben, was angezeigt werden soll. »amenity=parking« zeigt zum Beispiel alle Parkplätze an (es dauert eventuelle einen kleinen Moment bis der Server antwortet). Im links unteren Teil könnt Ihr Euch die Ergebnisse der Abfrage in verschiedenen Formaten speichern lassen. Ganz ohne Browser geht das auch (das Beispiel von gestern): wget -O parkplaetze.csv "http://www.faveve.uni-stuttgart.de/~troll/OSM/osm-poll.cgi?format=csv&filename=parkplaetze&query=[bbox=14.4906,52.3144,14.5682,52.3619][amenity=parking]" Die Parameter in der URL sind wohl selbsterklärend, so dass sie sich leicht an andere Anforderungen anpassen lassen. Leider geht nicht alles derzeit. Ein wget -O einbahn.csv "http://www.faveve.uni-stuttgart.de/~troll/OSM/osm-poll.cgi?format=csv&filename=einbahn&query=[bbox=14.4906,52.3144,14.5682,52.3619][oneway=yes|YES|true|TRUE|1] liefert mir eine leere Datei. Zuständig für die Datenbankabfrage ist die XAPI[englisch]: http://wiki.openstreetmap.org/wiki/OSMXAPI Das Parkplatzbeispiel von eben sieht damit so aus: wget -O parkplaetze.osm "http://osmxapi.hypercube.telascience.org/api/0.5/*[bamenity=parking][bbox=14.4906,52.3144,14.5682,52.3619]" Mit der XAPI geht auch die Anfrage nach Einbahnstraßen: wget -O einbahn.osm "http://osmxapi.hypercube.telascience.org/api/0.5/*[oneway=yes|YES|true|TRUE|1][bbox=14.4906,52.3144,14.5682,52.3619]" Die XAPI liefert allerdings (bisher) die Daten allerdings nur im OSM-XML-Format zurück. Die sollten also auch schon parsbar sein; ansonsten gibt's bestimmt auch Konvertierungstools für OSM-Daten -- etwa Osmosis [englisch]: http://wiki.openstreetmap.org/index.php/Osmosis ---------------------------- Zweiter Teil: Eigene Daten in die OSM-Darstellung einbauen Ich habe für die Statuskarte (http://www.kryger.de/ML-osm-ffo/status/) »Openlayers« benutzt [englisch]: http://www.openlayers.org/ Viele Beispiele zum Abgucken gibt auf [englisch]: http://www.openlayers.org/dev/examples/example-list.html oder -- etwas besser sortiert [englisch]: http://trac.openlayers.org/wiki/UserRecipes Die vollständige Dokumentation des APIs [englisch]: http://dev.openlayers.org/releases/OpenLayers-2.7/doc/apidocs/files/OpenLayers-js.html In Openlayers muss man sich ein wenig hineinfriemeln, aber es macht durchaus Spaß. Openlayers hat den Vorteil, dass sich alle möglichen Karten als Basis benutzen lassen, also nicht nur OSM. Für die Darstellung von OSM mit Openlayers gibt's sogar eine deutsche Einstiegsseite: http://wiki.openstreetmap.org/wiki/DE:OpenLayers mit weiterführenden Links. Ein einfaches Beispiel, welches sich je nach Gusto (mit den Links von oben) weiter entwickeln lässt steht auf [deutsch]: http://wiki.openstreetmap.org/wiki/DE:OpenLayers_Simple_Example Ein weiteres -- umfangreich auf deutsch kommentiertes -- Beispiel: http://wiki.openstreetmap.org/wiki/DE:Openlayers_Track_example Die Beispiele zeigen, wie man auf Grundlage von mehr oder weniger frei verfügbarem Kartenmaterial eigene Daten darstellen kann. Für die oben genannte Statussseite liegen die Daten zu den einzelnen Gebieten in einer XML-Datei. Diese wird von dem Script geladen, die Umrisse der einzelnen Gebiete liegen als Trackpunkte vor und werden als geschlossenes Polygon in die Karte gezeichnet, dabei je nach Status eines Attributes unterschiedlich eingefärbt. Die Bezeichnung der Gebiete sind kleine Grafiken, die an eine festes Position auf der Karte projiziert werden. So, ich hoffe, das reicht erstmal als Einstieg. Viel Spaß! Torsten -- http://www.openstreetmap.org/user/kunister -- Mailingliste »osm-ffo«: http://www.kryger.de/ML-osm-ffo/ Frankfurt (Oder) bei OpenStreetMap: http://wiki.openstreetmap.org/wiki/Frankfurt_%28Oder%29