You are not logged in.

#1 2020-10-17 00:21:37

mbc1989
Member
Registered: 2020-10-17
Posts: 4

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

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

Offline

#2 2020-10-17 19:00:12

DD1GJ
Member
Registered: 2009-04-12
Posts: 692

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

Offline

#3 2020-10-17 20:17:49

mbc1989
Member
Registered: 2020-10-17
Posts: 4

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

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

VG, Felix

Offline

#4 2020-10-17 20:36:46

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,685

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

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

Offline

#5 2020-10-17 20:57:11

seichter
Member
Registered: 2011-05-21
Posts: 2,966

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

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.

Offline

#6 2020-10-18 09:58:42

mbc1989
Member
Registered: 2020-10-17
Posts: 4

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

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

Offline

#7 2020-10-18 13:29:43

GeorgFausB
Member
From: Probstei, Schleswig-Holstein
Registered: 2008-10-14
Posts: 1,710

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

boundary=administrative vice boundary=religious_administration
Politische vice kirchliche Verwaltung

Last edited by GeorgFausB (2020-10-18 13:31:02)

Offline

#8 2020-10-18 17:45:26

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,685

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

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

Offline

#9 2020-10-19 16:34:44

mbc1989
Member
Registered: 2020-10-17
Posts: 4

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

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;

Offline

#10 2020-10-19 17:21:56

gormo
Member
Registered: 2013-08-01
Posts: 2,101
Website

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

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


OSM hat nicht das Ziel bis Ende des Monats einen vollständigen Datensatz der Welt zu enthalten.
(nach S.W.) - Aber weil die Welt vielfältig ist, weil sie auch im Detail interessant ist, mag ich genaue Karten (nach C.)

Offline

Board footer

Powered by FluxBB