Gemeinsame POI

  • Hallo alle zusammen.


    Da bereits angekündigt wurde, dass die Simulation Mulitplayer beinhalten soll, dachte ich mir, dass mann doch eine Gemeinsame POI Datenbank eröffnen könnte, wobei der Spieler entscheiden kann, ob er diese nutzen will.


    Eine andere Möglichkeit wäre, falls dies möglich ist, die Daten aus OpenStreetMap zu benutzen da dort ja fast alle POI hinterlegt sind, und diese Daten dann zu nutzen (ich weis bloß leider nicht , ob das funktioniert)


    Falls so eine Idee schon aufgekommen ist könnt ihr mich ja weiterleiten, ansonsten freu ich mich auf eure Meinungen.

  • Ich fände gut, wenn man dies optional einstellen könnte, damit man auch sofern gewünscht alles selbst erstellen und umsetzen kann.

    Viele Grüße


    Jan
    _____________________________________________________________________________________


    Ich bin ein Ideenreicher Kopf, doch leider weiß ich nicht, was hinter einer solchen Umsetzung steckt! :D
    Sollte ich zu umfangreiche Ideen haben, bitte ich um Bremse ^^

  • 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:


    Code
    1. [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:


    Code
    1. [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:


    Code
    1. [out:csv("de:amtlicher_gemeindeschluessel",name)];
    2. rel["de:amtlicher_gemeindeschluessel"][admin_level=6];
    3. 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.

  • Hallo zusammen,


    ich habe die Funktion wie von FritzP. erklärt bereits früher erfolgreich genutzt. Nach langer Zeit wollte ich mal wieder ein paar Daten exportieren.

    Leider funktioniert die Abfrage nicht. Weder das Hotel-Bsp. für den Kreis Steinfurt noch eigene Daten. Nur die Abfrage der Gemeindeschlüssel wird ausgeführt. Mache ich etwas falsch oder hat jemand einen neuen Code/Idee?

    Vielen Dank für eure Hilfe
    Jan



    EDIT:
    Problem selbst behoben, die Kommentare im Skript waren nicht richtig getrennt.
    Mit dieser Version klappt es:

    Code
    1. [out:csv(::lat,::lon,name,"addr:city","addr:street","addr:housenumber")]; area["de:amtlicher_gemeindeschluessel"="05566"]->.a; ( node[tourism=hotel](area.a); way[tourism=hotel](area.a);rel[tourism=hotel](area.a); );out;

    Viele Grüße


    Jan
    _____________________________________________________________________________________


    Ich bin ein Ideenreicher Kopf, doch leider weiß ich nicht, was hinter einer solchen Umsetzung steckt! :D
    Sollte ich zu umfangreiche Ideen haben, bitte ich um Bremse ^^

    Edited 2 times, last by JLS ().

  • Keano

    Added the Label [Offen]