Geokoordinaten der Gemeindegrenzen für ganz Deutschland in einer Datei

so,
hier ist der “nachschlag”

http://www.sendspace.com/file/g2dkm5

Gruss
walter

Hallo Walter,
vielen Dank für den

Diese Datei ersetzt die bisherige, richtig?
Ganz toll fände ich, wenn du eine kurze Beschreibung deiner Arbeit machen könntest, welche Quelldaten, Aktualisierungsdatum, wie umgewandelt, …
Ganz herzlichen Dank für deine Mühe
Gruß
Michael

korrekt!

Hi Michael,

ich bin -mal wieder- einen ganz anderen Weg gegangen als die meisten Kollegen:

Ich habe eine lokale auf Postgresql und Postgis basierende Datenbank, die alle für mich interessante OSM-Daten (Germany+) enthält.
Näheres findet man hier: http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage#PostGIS_Tasks_.28Snapshot_Schema.29

Ich verwende ein von mir erstelltes Polygon (Arbeitsname 605 - hat nix mit E605 zu tun sondern hat sich so ergeben), das aus der Grenzrelation 51477 (Germany)
durch PostGis-Verfahren (u.A. ST_Buffer 0.05 und st_simplify 0.01) entstanden ist: ca 1000 Nodes und ca 10 Km grösser als 51477

Dieses Verfahren ist die 2. etablierte Art, OSM-Daten in einer lokalen Datenbank zu halten neben dem osm2pgsql-Verfahren, das besser zum Rendern geeignet ist.
Die Daten werden durch ebenfalls übliche Prozeduren automatisch aktuell gehalten.
http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage#Replication_Tasks

Derzeit “hinkt” meine DB ca 8 Tage hinterher, da ich grössere Pflegearbeiten machen musste und die Replikation dafür abgeschaltet war.
In 3-4 Tagen wird sie wieder fast Realtime sein.

Ich habe mehrer Trigger für die DB definiert wovon einer aktiv wird, wenn eine Relation eingetragen oder geändert wird.
Damit fallen mir die Grenz-Relationen quasi in den Schoß.
Als Ergebnis hab eine stets aktuelle Tabelle “borders”, die alle Grenzen in Deuschland als vorverarbeitete Geometrie enthält.
Eine “is-in”-Abfrage geht damit verdammt schnell.

Aus dieser Tabelle und anderen in OSM stehenden Daten (tags) hab ich “deine” Daten erstellt.
Programmierung mach ich in pgsql und in java (nicht javascript sondern das “richtige” java)

aktuelle Arbeiten: Bereinigung der Tabelle “nodes” von Daten, die ausserhalb von “605” liegen.
Dies ist leider notwendig weil der Replikationsprozess auch Daten von Ausserhalb einschleppt und die DB extrem aufbläht.
ways und way_nodes hab ich so von ca 32 GB auf 12 GB reduziert. Nodes mit 18GB fehlt noch. und das dauert halt.

Gruss
Walter

p.s. du solltest mal über postgresql+postgis nachdenken, wenn du weiterhin im gis-umfeld schaffen willst.

hier mal ein Eindruck:

-- liste der Kreise, Städte und Gemeinden in Bayern

COPY(
select r.id
      ,r.tags->'admin_level' as "admin_level"
      ,r.tags->'prefix' "prefix"
      ,r.tags->'prefix:de' "pde"
      ,r.tags->'name' as "name"
      ,r.tags->'de:amtlicher_gemeindeschluessel' as "aschluessel"
  from relations r,
       borders b,
       borders bb
 where centroid(b.geom) @ bb.geom
   and bb.id=62549                  -- bayern
   and b.id = r.id
   and tags->'name' != ''
   and tags->'boundary' = 'administrative'
order by r.id )
TO '/tmp/bayern.csv' WITH CSV HEADER
                     DELIMITER ';'
                     FORCE QUOTE name,prefix,pde
;

Habe jetzt die Kartierung umgesetzt:
Alles passt, nur in Mittelfranken setzt’s aus. (Nur) In den folgenden Einträgen sind die lat/lon-Zellen leer
OSM_ID OSM_Ring OSM_Node OSM_lat OSM_lon
17614 1,00 14.062,00 fehlt fehlt
17614 1,00 14.061,00
17614 1,00 14.060,00
17614 1,00 14.059,00
17614 1,00 14.058,00
17614 1,00 14.057,00
17614 1,00 14.056,00
17614 1,00 14.055,00
17614 1,00 14.063,00

Korrigierbar? Löschen?

Ratlos
Michael

Hi Michael,
dachte schon, du hättest das Projekt eingestampft.
Eventuell ist das Polygon 17614 nich sauber. Ich schau es mir mal genauer an.

Gruss
walter

p.s. osm_node als Gleitkomma ist auch was feines. In Osm und in meinen Extrakten sind das bigint. Aber die brauchst du eh nicht.

NACHSCHLAG: Schmeisse es einfach raus. Das ist sind einige Seen, die nicht zum Landkreis gehören sollen. Sieht aber komisch aus in OSM.

Hallo Walter,
gut, die leeren Datenätze werden gelöscht.

Trotzdem noch eine Frage, ich arbeite mich ja Stück für Stück weiter.
Wie komme ich an fehlende Grenzen, z.B. fehlt Landkreis Pfaffenhofen (Ilm)? Und warum fehlen die?
Die folgenden Landkreis-Gemeinden sind vorhanden
Baar-Ebenhausen
Ernsgaden
Geisenfeld
Gerolsbach
Hettenshausen
Hohenwart
Ilmmünster
Manching
Münchsmünster
Pfaffenhofen an der Ilm
Pörnbach
Reichertshausen
Reichertshofen
Rohrbach
Scheyern
Schweitenkirchen
Vohburg
Wolnzach

es fehlt: Gemeinde Jetzendorf

Habe derzeit keine Kontrolle auf Vollständigkeit, sondern kartiere die Polygone, die ich brauche. Deshalb bemerke ich offene Punkte erst Step by Step …
Danke
Michael

Hallo,

wir sprechen hier von Mittelfranken, meinem Mittelfranken :slight_smile:
Da ist gar nix komisch nicht :wink:

Der Steinersee ist bambergerisch und somit oberfränkisch. Müßte mal auf der Gemeinde in Pommersfelden bzw. Höchstadt/Aisch nachhaken, ob’s immer noch so ist und ggf. auch wikipedia updaten (lassen).

Ciao,
Frank

In Bayern sollten die Gemeindegrenzen vollständig sein, siehe
http://osm-static.anders-hamburg.de/Deutschland/Bayern/Reg_-Bez_Oberbayern/Pfaffenhofen_a_d_Ilm/index.html und darüber.

Es kommt aber immer mal wieder vor, dass eine Relation beschädigt wird.

hi frank,

ich hab schon gesehen, dass der way um die seen von dir ist. nur am osten davon liegen zwei grenzen direkt nebeneinander, d.h. da ist keine gemeinsame Grenze in OSM. Das erschien mir “komisch”.

EDIT: irgendwie wollte das mit dem screenshot nicht.

war defekt und ist inzwischen in osm gefixed worden, werd ich dir heute(?) rüberschicken.

kann etwas (einige Tage) dauern, da meine db nicht ganz aktuell ist.

Die Sache kann man auch als “quality-control” auffassen, wenn du was findest, wird es verbessert. :wink:

Gruss
Walter

Hi Walter,

vielen Dank für den Hinweis.
Hab’ nun die Grenzen verschmolzen.

Recht hohe Ansprüche an den Grenzverlauf wird man hier nicht stellen können, da sie aus dem Gemeindeimport Bayern 2010 bzw. PLZ-Import 2010 stammen und beide nicht besonders akkurat sind (auf Gemeinde-/Lokaler Ebene).

Ciao,
Frank

hi,

hier sind die beiden fehlenden grenzen:

http://www.sendspace.com/file/e6c5yg

gruss
walter

wenn noch welche fehlen sollten, nur keine hemmungen :wink:

Du Walter, wenn Du die Daten komplett hast, kannst Du die mit pgsql2shp exportieren? Ich würde sie dann allgemein zm Download bereitstellen. Wenn Du möchtest, kann ich eine *.txt Referenz auf Dich machen.

irgendwie seh ich den Sinn nicht. Ihr habt doch laut http://forum.openstreetmap.org/viewtopic.php?id=12019 die Daten bereits. oder täusch ich mich?

Die Aktion mit MichaelFS war aus meiner Sicht sinnvoll, da er die Daten in eine mysql-db importieren wollte und da hätten poly-files, osm-files oder shape-files doch nur gestört.
Ich gebe zu, dass ich den Aufwand für “einen Kunden” leicht überschätzt habe, will ihn aber jetzt nicht mittendrin hängen lassen.

Ich hab den anderen Thread nicht so richtig verfolgt - also überzeuge mich :wink:

Gruss
Walter

Die normale GIS Welt kennt die OSM Konventionen nicht. Und dort gibt es auch keine DupNodes und DupWays…Das ist da halt etwas anders.
Was ich momentan habe, sind die Teilgrenzstückchen. Sprich gemalt sieht es gut aus, aber die Segmente sind nicht verbunden.
Level 2 und 4 habe ich händisch erstellt und dort sind es dann keine Polyline Segmente sonder echte Polygone. Ich dachte, dass, wenn Du eh alle Grenzen durch hast, die bestehenden Grenzen dann zur Verfügung stellen könntest.
Wenn Du nicht magst, dann ist das auch kein Problem

Hi Thomas,

mit “Mögen” oder nicht hat das zu Gück nix zu tun. Ich hab den anderen Thread nicht verfolgt und wusste nicht, wie du die Daten erstellst.

Wie du richtig vermutest, generiere ich aus den OSM-Daten (z.B. OSM-Multipolygone oder Boundaries mit mehreren Ringen) “GIS-nähere” Daten - mehr recht als schlecht - aber automatisch.
Ich glaube, da sollten wir am Ball bleiben.

pgsql2shp werd ich mit morgen mal reinziehen. Ich hoffe, dass das Teil auch mit einer postgresql-db im “snapshot-schema” klarkommt.
http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage#PostGIS_Tasks_.28Snapshot_Schema.29

Und wenn nicht, bekommt es das halt beigebracht :wink:

Gruss
Walter

Hallo Walter,

also eigentlich ist mir *.osm auch recht. Das konvertieren in *.shp, *.kml oder auch *.sqlite ist kein Problem. Aber (jetzt kommts) ich bräuchte die Grenzen als geschlossene Ways. Also ohne Relation, jede Grenze als ein einziger Way. Dabei müssten alle Grenzes eines Levels in eine Datei. Die OSM Konventionen (Keine DupNodes/DupWays, max 2000 Nodes pro Way) muss man ignorieren. Die Ways sollten die Namen der Relation tragen.
Es gibt zwar ein Tool, dass Relationen in *.osm Ways umwandelt, aber leider erstellt das für jede Relation eine neue Datei.

moin moin thomas

hab pgsql2shp “geknackt” und hab jetzt keine TECHNISCHEN Probleme mehr.
Jetzt kommen die ORGANISATORISCHEN :frowning:

a) filenamen
name der relation oder der Grenze? relationsnamen sagen nicht-osmlern nichts.
b) kompressor (rar/zip)
zip ist “windows-freundlicher”
c) tags
d) Datei-Struktur
e) web-server
f) unerwartetes

Das Wichtigste erscheint mir, sich in den Bedarf des Anwenders hineinzudenken. Was braucht der und wie braucht er das?
Wer ist das überhaupt? osm-ler oder nicht?

BRD, Bundesländer, Kreise und eventuell Reg-Bezirke gehen noch als einzelnes Files pro Grenze
aber danach wird es unsinnig (al 7 bis 9 sind bei mir 12898 relationen, macht ca 64500 files + kml + gpx + wwwsn)
Alle admin_level=8 in ein File zu packen, sieht zwar schön aus aber wer kann das gebrauchen?

mehrere shape-layer in ein shape-file stecken und die dann auch einzeln z.b in qgis ansprechen. daraus sollte/könnte es herauslaufen.

Denk mal drüber nach.

Gruss
Walter

p.s. wwwsn=wer weiss was sonst noch

Also ich sehe einen Bedarf nach Kategorien. Dabei würde es sich nicht vordergründig um OSMler handeln. Hier wären Grenzen Nach Bundesländern Kreisen und Gemeinden klassifiziert in shp-Files sehr interessant. Damit lassen sich dann schnell Überblickskarten und/oder räumliche Zuordnungen von einzelnen Punkten zu Gemeinden herstellen.
Am besten wäre es wenn die einzelnen Gemeinden mit ihrem amtlichen Gemeindeschlüssel bezeichnet wären. Damit lassen sich weitere Daten wie der Bundesagentur für Arbeit oder der Statistischen Landesämter eindeutig verknüpfen.

Klar, der Amtliche Gemeindeschlüssel ist schon drin. Und ich kann auch jeden anderen osm-tag dazunehmen.

Das mit den Nicht-Osm-lern ist mir auch wichtig. denen “sagt” ja z.b. die Relation-ID garnix.

meine test-files stehen hier: http://wnordmann.homeunix.com/index.php/downloads/cat_view/40-osm-dokumente

Gruss
Walter

p.s. ist nicht der schnellste Server und auch nicht immer online, und auf keinen Fall der Server, der das Zeug letzendlich hosten soll.