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
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
;
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
wir sprechen hier von Mittelfranken, meinem Mittelfranken
Da ist gar nix komisch nicht
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).
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.
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).
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.
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
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
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.
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.
hab pgsql2shp “geknackt” und hab jetzt keine TECHNISCHEN Probleme mehr.
Jetzt kommen die ORGANISATORISCHEN
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.
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.