ja, das ergibt sich schon mal, weil ich jeden Tag den aktuellen Stand dranhänge. Eventuell sollte ich das anders realisieren.
so viele Fragen
-
an der Beschreibung hapert es natürlich.
-
die Aktualisierung läuft jede Nacht, wertet aber nur einen Teil der Grenzen aus. Das steuere ich händisch und werte immer DEU, dann die aktuell kritischen Länder und danach noch ca 1 Dutzend andere aus. Der Job startet ca 1:00 Nacht und ist meistens so um 7:00 Uhr fertig. Nebenprodukt dieses Jobs ist die aktuelle Auswertung, die ich morgens immer poste. Wenn man die Wiki-Seite betrachtet, sollte man erkennen, das jedes Land spätestens nach ca 4 Wochen wieder dran kommt.
-
ich importiere die Diffs ganz normal mit Osmosis und osm2pgsql. osm2pgsql bügelt ja viele Sachen aus, ich mache da nix.
Ja, ich vergleiche immer die Grenzen vom letzten Lauf mit der aktuellen Auswertung. Aber einfach auf Zugang, Verlust und Größenänderung.
nein.
wie oben schon erwähnt: osmosis + osm2pgsql und natürlich sehr viel pl/sql PostGis.
Ich habe das Wiki durchgeackert und daraus meine “Referenztabelle” für die ersten 3 Level zusammengestellt. Einen Automatismus gibt es nicht und manche “Bewertungen” sind auch noch diskussionswürdig.
Ich gebe gerne alles raus, bin mir aber nicht sicher, ob jemand was mit meinem Spagetti-Code anfangen kann. Basiert zu 90% auf Java und 10% Bash. An neuen Features bastel ich derzeit nicht, kann aber immer wieder geschehen.
Nö, beschrieben hab ich wirklich nicht viel. Drücke mich halt gerne drum.
Ich bin für alles offen, aber :
Das Hauptprodukt dieser Auswertung und auch der Grund dafür, daß die so fürchterlich lange dauert, ist was anderes:
Ich baue jede Nacht einen “Materialized Tree” auf, der die genauer Verschachtelung der verschiedenen Admin-Levels beschreibt. (welche AL4 liegen in DEU? Welche AL6 in BW? Welche AL9 in Karslruhe, …
Das sieht dann für deine Ecke so aus:
id | value | level | path
---------+--------------------------------------------------+-------+----------------------------------------------------
22027 | Regierungsbezirk Karlsruhe | 5 | {0,51477,62611,22027}
62340 | Baden-Baden | 6 | {0,51477,62611,22027,62340}
62354 | Landkreis Freudenstadt | 6 | {0,51477,62611,22027,62354}
935834 | Alpirsbach | 8 | {0,51477,62611,22027,62354,935834}
935836 | Loßburg | 8 | {0,51477,62611,22027,62354,935836}
935839 | Baiersbronn | 8 | {0,51477,62611,22027,62354,935839}
2946717 | Verwaltungsgemeinschaft Horb am Neckar | 7 | {0,51477,62611,22027,62354,2946717}
935829 | Horb am Neckar | 8 | {0,51477,62611,22027,62354,2946717,935829}
935840 | Empfingen | 8 | {0,51477,62611,22027,62354,2946717,935840}
935841 | Eutingen im Gäu | 8 | {0,51477,62611,22027,62354,2946717,935841}
2953248 | Vereinbarte Verwaltungsgemeinschaft Freudenstadt | 7 | {0,51477,62611,22027,62354,2953248}
935831 | Bad Rippoldsau-Schapbach | 8 | {0,51477,62611,22027,62354,2953248,935831}
935835 | Seewald | 8 | {0,51477,62611,22027,62354,2953248,935835}
935838 | Freudenstadt | 8 | {0,51477,62611,22027,62354,2953248,935838}
2957318 | Verwaltungsgemeinschaft Pfalzgrafenweiler | 7 | {0,51477,62611,22027,62354,2957318}
935830 | Wörnersberg | 8 | {0,51477,62611,22027,62354,2957318,935830}
935833 | Grömbach | 8 | {0,51477,62611,22027,62354,2957318,935833}
935837 | Pfalzgrafenweiler | 8 | {0,51477,62611,22027,62354,2957318,935837}
2957319 | Verwaltungsverband Dornstetten | 7 | {0,51477,62611,22027,62354,2957319}
935832 | Dornstetten | 8 | {0,51477,62611,22027,62354,2957319,935832}
935842 | Schopfloch | 8 | {0,51477,62611,22027,62354,2957319,935842}
935843 | Waldachtal | 8 | {0,51477,62611,22027,62354,2957319,935843}
935844 | Glatten | 8 | {0,51477,62611,22027,62354,2957319,935844}
62388 | Landkreis Rastatt | 6 | {0,51477,62611,22027,62388}
907194 | Forbach | 8 | {0,51477,62611,22027,62388,907194}
907232 | Gaggenau | 8 | {0,51477,62611,22027,62388,907232}
1188924 | Bühlertal | 8 | {0,51477,62611,22027,62388,1188924}
2959873 | Vereinbarte Verwaltungsgemeinschaft Gernsbach | 7 | {0,51477,62611,22027,62388,2959873}
309860 | Loffenau | 8 | {0,51477,62611,22027,62388,2959873,309860}
907212 | Gernsbach | 8 | {0,51477,62611,22027,62388,2959873,907212}
2793220 | Lautenbach | 9 | {0,51477,62611,22027,62388,2959873,907212,2793220}
2793222 | Reichental | 9 | {0,51477,62611,22027,62388,2959873,907212,2793222}
...
285864 | Heidelberg | 6 | {0,51477,62611,22027,285864}
3283775 | Altstadt | 9 | {0,51477,62611,22027,285864,3283775}
3283776 | Bahnstadt | 9 | {0,51477,62611,22027,285864,3283776}
3283777 | Bergheim | 9 | {0,51477,62611,22027,285864,3283777}
3283778 | Boxberg | 9 | {0,51477,62611,22027,285864,3283778}
3283779 | Emmertsgrund | 9 | {0,51477,62611,22027,285864,3283779}
3283780 | Handschuhsheim | 9 | {0,51477,62611,22027,285864,3283780}
3283781 | Kirchheim | 9 | {0,51477,62611,22027,285864,3283781}
3283782 | Neuenheim | 9 | {0,51477,62611,22027,285864,3283782}
3283783 | Pfaffengrund | 9 | {0,51477,62611,22027,285864,3283783}
3283784 | Rohrbach | 9 | {0,51477,62611,22027,285864,3283784}
3283785 | Schlierbach | 9 | {0,51477,62611,22027,285864,3283785}
3283786 | Südstadt | 9 | {0,51477,62611,22027,285864,3283786}
3283787 | Weststadt | 9 | {0,51477,62611,22027,285864,3283787}
3283788 | Wieblingen | 9 | {0,51477,62611,22027,285864,3283788}
3283789 | Ziegelhausen | 9 | {0,51477,62611,22027,285864,3283789}
(344 rows)
Und damit versorge ich meine Boundaries-Karte.
Wenn es dagegen “nur” um eine Überprüfung der Grenzen auf Existenz, Korrektheit, Größenveränderungen und ähnliches geht - ohne die Verschachtelung zu erzeugen - geht das sicher einfacher und schneller. Diese tägliche Liste ist wirklich nur ein Spin-Off der Boundaries-Karte.
Solch eine Auswertung ohne Tree müsste schnell zu schreiben sein und man (ich? du? sonstwer?) könnte täglich den ganzen Globus untersuchen, aber eine tiefschürfende Analyse und Visualisierung eventueller Geometrie-Fehler traue ich mir nicht zu.
Diese kleine Weltkarte mit den manchmal fehlenden Ländern braucht z.B. nur ca 5 Minuten, dann ist die durch. und die Hälfte davon braucht QGis.
Gruss
walter
ps: links stehen alle unten im Subject.