x

benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen


  1. benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · mbc1989 (Gast) · 17.10.2020 00:21 · [flux]

    Hallo,

    ich bin gerade dabei, eine Smartphone-App zu entwickeln, die dem Anwender die aktuellen Covid19-Statistiken anzeigt für den Landkreis in dem er sich gerade aufhält.
    Eine API zu den landkreis-spezifischen Infektionsdaten habe ich bereits und muss dafür (logischerweise) den Landkreis an die API übermitteln.
    Durch die GPS-Koordinaten des Anwenders kann ich theoretisch über die Google Maps API den Landkreis ermitteln - jedoch sind hier nur begrenzt viele Anfragen im Monat kostenlos und ich möchte bei einer kostenlosen App (die vermutlich eh niemand außer meinen Bekannten benutzen wird) ungern Kosten tragen.

    Somit benötige ich Tabellen, die mir helfen, die Verbindung von GPS-Koordinaten zu Landkreis zu finden.
    Ich habe hier etwas gefunden:
    https://www.basedig.com/german-governme … ates-4937/
    Für wenige Euro könnte ich mir eine Liste aller deutschen Städte mit ihren Koordinaten holen. Dann könnte ich mithilfe der GPS-Koordinaten die nächstgelegene Stadt ermitteln. Dann würde mir nur noch die die Weiterverbindung von Städten zu Landkreisen fehlen.

    Durch googeln bin ich hier gelandet. Kann mir hier jemand helfen? Ist es möglich mithilfe der Rohdaten von OSM eine Liste aller deutschen Städte mit dazugehörigem Landkreis zu generieren? Geht es evtl sogar, sich eine Liste aller Städte mit einer Koordinate zu generieren? Dann wäre ich komplett unabhängig von der evtl etwas älteren Tabelle im oben genannten Link.
    Vielleicht habt ihr ja ein Tutorial für mich.

    Bin für jede Hilfe dankbar.

    Vielen Dank und Grüße,

    Felix



    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · mbc1989 (Gast) · 17.10.2020 20:17 · [flux]

      vielen Dank für die Antwort, Joachim. Werde es mir genauer anschauen.

      VG, Felix


    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · fx99 (Gast) · 17.10.2020 20:36 · [flux]

      Vom Stat. Bundesamt gibt es eine Tabelle mit allen Orten in DE inkl. Mittelpunktkoordinaten und Kreiszuordnung.
      Ich habe die Tabelle mal hier runtergeladen:
      https://www.destatis.de/DE/Themen/Laend … cationFile

      Von der aktuellen Koordinate zum richtigen Ort zu kommen erscheint mir aber so nicht möglich.
      Mit Hilfe einer overpass Abfrage wie http://overpass-turbo.eu/s/Z7E /Ausführen drücken) erhält man den Kreis und Ort direkt aus den Koordinaten.
      Anleitung zu overpass: https://wiki.openstreetmap.org/wiki/Ove … 28is_in.29


    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · seichter (Gast) · 17.10.2020 20:57 · [flux]

      Die Zuordnung zu einem Landkreis per nächstgelegener Stadt wäre mir zu ungenau.
      Für Deutschland sind die Kreisgrenzen (admin_level=6) komplett in OSM erfasst (s.o.).
      Dann braucht man "nur noch" ein Werkzeug, das feststellt, in welcher dieser Flächen eine Koordinate liegt (s.o.: is_in).

      Wenn man zunächst nur einen Namen hat, liefert eine Suche per Nominatim neben den Koordinaten auch den Land- oder Stadtkreis. Man muss sich da nur oft den richtigen unter vielen namensgleichen heraussuchen.


    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · mbc1989 (Gast) · 18.10.2020 09:58 · [flux]

      Hallo,

      ganz großen Dank für eure Antworten. Jetzt habe ich sogar drei Möglichkeiten, mein Problem anzugehen.

      Ich habe lange nach Reverse Geolocation gesucht, aber bin nie auf Overpass gestoßen. Super interessant! Hat mich bis gestern Nacht am 3 beschäftigt.

      Ich habe ein wenig mit dem von fx99 geschriebenen Befehl rumgespielt. Mich interessiert für die Landkreise vor allem die Adminebene 6. Bei bestimmten Koordinaten bekomme ich zwei Nodes zurück und nicht nur einen. Beispiel hier:
      is_in(47.909824, 7.908466);
      area._[admin_level~"6"];
      out;

      <?xml version="1.0" encoding="UTF-8"?>
      <osm version="0.6" generator="Overpass API 0.7.55.7 8b86ff77">
      <note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
      <meta osm_base="2020-10-18T08:48:03Z" areas="2020-10-16T09:48:02Z"/>

      <area id="3601946367">
      <tag k="TMC:cid_58:tabcd_1:Class" v="Area"/>
      <tag k="TMC:cid_58:tabcd_1:LCLversion" v="8.00"/>
      <tag k="TMC:cid_58:tabcd_1:LocationCode" v="357"/>
      <tag k="admin_level" v="6"/>
      <tag k="border_type" v="county"/>
      <tag k="boundary" v="administrative"/>
      <tag k="de:amtlicher_gemeindeschluessel" v="08315"/>
      <tag k="de:place" v="county"/>
      <tag k="de:regionalschluessel" v="08315"/>
      <tag k="name" v="Landkreis Breisgau-Hochschwarzwald"/>
      <tag k="name:de" v="Landkreis Breisgau-Hochschwarzwald"/>
      <tag k="name:fr" v="Arrondissement de Brisgau-Haute-Forêt-Noire"/>
      <tag k="name:gsw" v="Landchreis Brisgau-Hochschwarzwald"/>
      <tag k="name:ru" v="Брайсгау — Верхний Шварцвальд"/>
      <tag k="ref:nuts:3" v="DE132"/>
      <tag k="source" v="http://wiki.openstreetmap.org/wiki/Import/Catalogue/Kreisgrenzen_Deutschland_2005"/>
      <tag k="type" v="boundary"/>
      <tag k="website" v="https://www.breisgau-hochschwarzwald.de/"/>
      <tag k="wikidata" v="Q8195"/>
      <tag k="wikipedia" v="de:Landkreis Breisgau-Hochschwarzwald"/>
      </area>
      <area id="3606153362">
      <tag k="admin_level" v="6"/>
      <tag k="boundary" v="religious_administration"/>
      <tag k="denomination" v="protestant"/>
      <tag k="name" v="Evangelische Landeskirche in Baden"/>
      <tag k="name:en" v="Protestant Church in Baden"/>
      <tag k="name:fr" v="Église évangélique du Pays de Bade"/>
      <tag k="religion" v="christian"/>
      <tag k="type" v="boundary"/>
      <tag k="website" v="https://www.ekiba.de"/>
      <tag k="wikidata" v="Q897256"/>
      <tag k="wikipedia" v="de:Evangelische Landeskirche in Baden"/>
      </area>

      </osm>

      Was hat es denn mit dem zweiten Knoten inhaltlich auf sich, der bei <area id="3606153362"> beginnt? Gibt es einen Befehl, um nur den erstgenannten Knoten mit den landkreisspezifischen Informationen zurückzubekommen? Beide Male beginnt der key mit "name", sodass es recht fehleranfällig wäre, das nachträglich auseinanderzuschnipseln.
      <tag k="name" v="Landkreis Breisgau-Hochschwarzwald"/>
      <tag k="name" v="Evangelische Landeskirche in Baden"/>

      VG, Felix


    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · GeorgFausB (Gast) · 18.10.2020 13:29 · [flux]

      boundary=administrative vice boundary=religious_administration
      Politische vice kirchliche Verwaltung


    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · fx99 (Gast) · 18.10.2020 17:45 · [flux]

      Mit dieser Erweiterung

      is_in(47.909824,␣7.908466);
      area._[admin_level~"6"];
      rel(pivot)[boundary=administrative];
      out␣tags;
      

      bekommst Du nur die gesuchten (weltlichen) Landkreise.
      In diesem Fall die OSM Relation 1946367.

      Darstellen kannst Du diese z.B. über https://www.openstreetmap.org/relation/1946367


    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · mbc1989 (Gast) · 19.10.2020 16:34 · [flux]

      Vielen Dank euch beiden. Ich habe jetzt vermutlich meine finale Abfrage. Habe noch leicht umgestellt auf JSON:

      [out:json];
      is_in(47.909824,␣7.908466);
      area._[admin_level~6]
      [boundary=administrative];
      out;
      

    • Re: benötige Rohdaten für die Zuordnung von Stadt zu Landkreisen · gormo (Gast) · 19.10.2020 17:21 · [flux]

      mbc1989 wrote:

      Vielen Dank euch beiden. Ich habe jetzt vermutlich meine finale Abfrage. Habe noch leicht umgestellt auf JSON:

      [out:json];
      is_in(47.909824,␣7.908466);
      area._[admin_level~6]
      [boundary=administrative];
      out;
      

      wieso prüfst du auf String-Ähnlichkeit mit ~ statt auf Gleichheit mit =?

      ~ ist vermutlich langsamer als =, außerdem trifft "admin_level~6" auch welche mit 16 und 26 wenn ich das richtig sehe, siehe diese Testabfrage hier: https://overpass-turbo.eu/s/Zcg