Hallo,
klingt an sich ganz interessant die Daten aus dem Netz abzurufen. Ich habe zu diesem Thema eine Studienarbeit gefunden, die Daten von Open Street Map nutzt: http://www.ipf.kit.edu/downloads/gann2010.pdf
Gruß
Moin zusammen,
ich hab mir die Facharbeit mal zu Herzen genommen und einen Ablauf entwickelt wie man sich die POI von OSM exportieren kann. Es ist nachwievor noch etwas Arbeit aber immer noch besser als alles von Hand zu machen.
Wichtige Seiten:
Wir benutzen hier die sogenannte Overpass-API. Dies ist eine Anwendung und Scriptsprache die verwendet werden kann um auf die Datenbank von Openstreetmaps zu zugreifen. Das bedeutet natürlich auch, dass Fehler in der OSM sind auch in der Mod erscheinen würde. Also sind unsere Daten nur so gut, wie die der OSM.
Folgenden Code könnt ihr in Overpass Turbo (s.o.) eingeben:
- [out:csv(::lat,::lon,name,"addr:city","addr:street","addr:housenumber")]; //Hier wird definiert, dass die Ergebnisse als .csv-Datei ausgegeben werden sollen und welche Spalten es gibtarea["de:amtlicher_gemeindeschluessel"="05566"]->.a; //Hier kann man angeben, für welches Kreis- oder Stadtgebiet gesucht werden soll. Den Gemeindeschlüssel müsst ihr gegen euren austauschen..a out; ( node[amenity=grave_yard](area.a); //In den eckigen Klammern wird angegeben WAS gesucht werden soll. Dies muss in allen 3 Zeilen gleich sein.way[amenity=grave_yard](area.a);rel[amenity=grave_yard](area.a); );out center;
Der Code und die Funktionen werden jeweils nach den // erklärt. Alles in allem ergibt dies nach dem Ausführen rechts eine CSV-Datei mit allen Friedhöfen im Kreis Steinfurt samt ihren Koordinaten. Diese kann man kopieren und in eine Exceldatei einfügen. WICHTIG: Man muss die ersten beiden Spalten in Excel als "Text" formatieren. Ansonsten werden die Koordinaten verändert!
Wie kommen wir aber nun zum Beispiel an die POI der Hotels?
Das ist ganz einfach! Wir gehen in die OSM Wiki (erster Link) und gucken uns dort an wie ein Hotel getaggt wird. Dort sehen wir, dass es "tourism=hotel" ist. Nun müssen wir oben die Zeilen 4-6 bearbeiten, so dass nun folgendes als Code steht:
- [out:csv(::lat,::lon,name,"addr:city","addr:street","addr:housenumber")]; //Hier wird definiert, dass die Ergebnisse als .csv-Datei ausgegeben werden sollen und welche Spalten es gibtarea["de:amtlicher_gemeindeschluessel"="05566"]->.a; //Hier kann man angeben, für welches Kreis- oder Stadtgebiet gesucht werden soll. Den Gemeindeschlüssel müsst ihr gegen euren austauschen..a out; ( node[tourism=hotel](area.a); //In den eckigen Klammern wird angegeben WAS gesucht werden soll. Dies muss in allen 3 Zeilen gleich sein.way[tourism=hotel](area.a);rel[tourism=hotel](area.a); );out center;
Nun klickt man wieder oben auf "ausführen" und bekommt rechts alle Hotels aus dem Kreis Steinfurt.
Ihr kommt nicht aus dem schönsten aller Kreise?
Auch kein Problem! Führt einmal diesen Code aus:
- [out:csv("de:amtlicher_gemeindeschluessel",name)];
- rel["de:amtlicher_gemeindeschluessel"][admin_level=6];
- out tags;
Dann werden rechts alle Kreise angegeben, die mit Schlüssel erfasst sind. Dort könnt ihr die 5 stellige Nummer kopieren und diese in Zeile 2 einfügen. Sollte euer Kreis nicht dabei sein, funktioniert dieser Code leider nicht ohne weiteres.
Die Rohdaten müssen dann natürlich noch gesichtet und angepasst werden, die Koordinaten müssen in eine Spalte zusammengefasst werden, Zeilen ohne Namen müssen gelöscht werden aber diese Excelgrundkenntnisse traue ich jedem zu Bei Fragen bitte melden!
Ich hab das natürlich nicht komplett alleine hinbekommen, deshalb geht mein Dank an den Overpass-Entwickler Roland Olbricht, der mir mit der Syntax geholfen hat!
Viele Grüße
FritzP.