| Author |
Message |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 27/12/2007 05:40:27
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
Hi,
ich bin gerade auf geonames gestossen und muss sagen - Hut ab! Diese Menge an Daten und vorallem exakten Daten findet man selten!
Ich habe mich bis anhin mit der OpenGeoDB beschäftigt, und bin wirklich froh nun auch Geonames zu kennen!
Ich würde es gerne für mein Projekt verwenden, wofür ich Daten aus DE/AT/CH/FL benötige, und diese scheinen mir bei Geonames zu 95% komplett zu sein.
Eines stört mich jedoch noch und zwar: Die Hierarchie funktioniert teilweise nicht oder nur dürftig. Dies wäre für mich jedoch sehr wichtig.
Als Beispiel:
Delhoven (ID = 2938380), Zons, Hackenbroich sind Ortschaften die zur Stadt Dormagen gehören.
Dormagen wiederrum gehört zum Rhein-Kreis Neuss und dieser zum Regierungsbezirk Düsseldorf und der zur Bundesrepublik Deutschland
Dormagen gibts mit der ID 2935825 und 6557505
jedoch lieferen diese Abfragen keine Ergebnisse:
http://ws.geonames.org/children?geonameId=6557505
http://ws.geonames.org/children?geonameId=2935825
auch andersrum funktionierts nicht
http://ws.geonames.org/hierarchy?geonameId=2938380
hier wird autom. zum Bundesland gesprungen.
Schrittweise kommt man aber z.B. nach Dormagen
Regierungsbezirke NRW: http://ws.geonames.org/children?geonameId=2861876
Landkreise / Kreisstädte im Regierungsbezirk Düsseldorf: http://ws.geonames.org/children?geonameId=2934245
Städte im Kreis Neuss: http://ws.geonames.org/children?geonameId=3247434
Weiter bis nach Delhoven gehts leider nicht:
http://ws.geonames.org/children?geonameId=6557505
Das ist mir eigentlich auch egal, bis zur Stadtebene würde mir schon reichen
Wenns also von oben nach unten geht, sollte es doch auch von unten nach oben gehen oder?
Nun würde mich natürlich interessieren ob das bald implementiert wird oder nicht?
Ich würde sonst gerne bei dieser Aufgabe behilflich sein. Ich habe dieses Problem bei der OpenGeoDB mithilfe von nested sets gelöst.
Meine Mail aus der Mailingliste von OpenGeoDB hab ich angehängt.
Ich danke schonmal viemals für eine Antwort!
Gruss
Simon
| Description |
Mail in der OpenGeoDB Mailingliste |
Download
|
| Filesize |
9 Kbytes
|
| Downloaded: |
1707 time(s) |
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 27/12/2007 20:11:02
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Hallo Simon
Die gegenwärtige Implementierung erlaubt in der Tat nur direkte Baumstrukturen. Deutschland ist dafür leider nicht geeignet. Wir planen dies grundsätzlich zu ändern und auch nicht hierarchische Strukturen zu unterstützen. In Spanien beispielsweise ist die Information zu welcher Insel (Ibiza, etc) ein Ort gehört auch wichtig, obwohl diese Information nicht Teil der administrativen Hierarchie ist (oder zumindest nicht aus der Sicht von Madrid). Das heisst es sollte in Zukunft auch parallele Hierarchien zu einem Ort geben.
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 27/12/2007 20:26:23
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
Hi,
das ist schade mit der Hierarchie, in der Schweiz scheint es teilweise zu funktionieren.
Ich muss mich mal näher mit der Datenstruktur von Geonames befassen. Mich wundert es nur dass es möglich ist von "Oben (z.B Land)" Schrittweise nach "Unten" (z.b Ort) zu gelangen.
Dann müsste es doch theoretisch auch umgekehrt gehen
Ist dir das Nested Set Modell für hierarchische Datenstrukturen bekannt? Falls nicht, schau es dir mal an
Z.b unter http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
Damit konnte ich die Abfragen für die OpenGeoDB wesentlich verkürzen. Wenn man die Knoten noch mit flags wie "Administrativer Knoten (z.B Bundesland)" oder "Geographischer Knoten (z.B Insel)" verknüpft könnte man auch das Problem sicher lösen
Wie sieht das eigentlich aus bezüglich des Webservice, kann ich mich auf die geonameIDs verlassen und in meiner Datenbank speichern? Z.b. wenn ein Benutzer sein Wohnort auswählt und ich die geonameID speichere, so wäre es fatal wenn die gleiche geonameID eine Woche später auf einen anderen Erdteil verweist *g"
Ich danke dir vielmals für die Menge an Daten!
Gruss
Simon
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 27/12/2007 22:02:56
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Hallo Simon
Das Nested Set Model ist mir bekannt, denoch danke für den Link.
Die GeoNameId ist eine fortlaufende Nummer, die nur einmal vergeben wird und eindeutig ist.
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 04/01/2008 15:45:38
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
Wie kann man in Österreich die Bezirke auflisten lassen?
Wenn ich nach feature_code = ADMD suche dann kommen auch nicht-bezirke da diese ebenfalls ADMD als feature_code haben
ist es geplant in Österreich auch ADM1,2,3 feature_codes einzuführen?
Gruss
simon
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 04/01/2008 21:46:52
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Hallo Simon
Das ist sicher geplant. Es hat halt einfach noch niemand Zeit gehabt, bzw. es hat sich auf der Prioritätenliste noch nicht hochgearbeitet.
Vielleicht möchtest Du etwas beitragen?
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 04/01/2008 22:28:29
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
Klar möchte ich gerne etwas beitragen, da es ja auch in meinem Interesse ist.
Ich würde sofort alle Politischen Bezirke in ganz Österreich richtig kodieren
Jedoch müsstest du mir sagen wie - ich habe gerade ausprobiert den
Politischen Bezirk Hollabrunn (GeoNameId : 2775635) zu korrigieren, das ging aber nicht mit der Meldung:
error while saving:
no changes
Ich wollte "Lower Austria" in "Bundesland Niederösterreich" ändern. Klappte jedoch nicht
Eine alternative wäre auch, dass ich die Datenbank mithilfe der GeoDB korrigiere bzw. vervollständige.
Gruss
simon
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 05/01/2008 10:10:40
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Hallo Simon
Diese Fehlermeldung kommt, wenn man auf speichern klickt ohne was geändert zu haben. 'Lower Austria' und 'Bundesland Niederösterreich' ist ja daselbe. Das eine ist der Englische, das andere der Deutsche Name.
Die Hauptaufgabe ist das Zuordnen der bereits existierenden ADMs zu den officiellen Codes.
Die neusten Daten findest Du hier :
Bezirke :
http://www.statistik.at/web_de/statistiken/regionales/regionale_gliederungen/PolitischeBezirke/index.html
Gemeinden :
http://www.statistik.at/web_de/statistiken/regionales/regionale_gliederungen/Gemeinden/index.html
Viele ADMD in GeoNames sind wahrscheinlich ADM2 oder ADM3 und man muss den FeatureCode korrigieren und die Zurordnung zum korrekten admincode machen. Du kannt mir dazu ein File schicken, da diese Bootstrapping Aufgabe direkt auf der DB gemacht werden muss, es gibt dazu noch kein UI.
Danach müssen die fehlenden in die Datenbank eingefügt werden. Für die Koordinaten können wir einen avg value aus den PLZ dump verwenden. Das geschieht aber automatisch. Du kannst mir ein csv file mit den Daten schicken und ich füge die Daten dann in die DB.
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 05/01/2008 20:16:48
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
Hi,
habe mir eben ein Skript geschrieben und das ganze geupdated
Ich habe nur die Adminlevels geändert, nicht die Namen.
Wenn du willst kann ich das auch machen.
Die Erfolgsquote war relativ hoch, ich konnte 112 von 122 Datensätze updaten.
Es bleiben also noch 10 übrig die du evtl. neu hinzufügen musst.
Es handelt sich dabei oft um Stadt/Land.
Einen doppelten Datensatz habe ich auch entdeckt:
Code:
ERROR: Multiple records found for: name = Oberwart, ac1: 1, ac2: 109, ac3: 109
[ 2769621 Politischer Bezirk Oberwart Politischer Bezirk Oberwart 47.3333333 16.25 A ADM2 AT 01 109 0 0 407 Europe/Vienna 1994-01-05 ]
[ 2769622 Politischer Bezirk Oberwart Politischer Bezirk Oberwart 47.2833333 16.3 A ADM2 AT 01 109 0 0 324 Europe/Vienna 1994-01-05 ]
SELECT * FROM geonames WHERE country_code = 'AT' AND (feature_code = 'ADMD' OR feature_code = 'ADM2')
AND admin1_code = 1 AND (name LIKE '%Oberwart%' OR alternames LIKE '%Oberwart%')
Da müsste einer gelöscht werden!
Bei Wien scheint es einige Stadtbezirke zu geben, diese habe ich als ADM3 eingetragen. Mit admin2_code von Wien.
Bitte beachte, dass die CSV Datei nicht UTF8 formatiert ist, das lag daran dass das Original CSV file auch nicht UTF8 war.
Ich habe folgendes angehängt:
results.csv - die neuen Daten
errors.csv - Datensätze die nicht zugeordnet werden konnten
bez.csv - original daten von der angegebenen Seite
Gruss
Simon
| Description |
errors.csv |
Download
|
| Filesize |
7 Kbytes
|
| Downloaded: |
1747 time(s) |
| Description |
results.csv |
Download
|
| Filesize |
16 Kbytes
|
| Downloaded: |
1616 time(s) |
| Description |
bez.csv |
Download
|
| Filesize |
4 Kbytes
|
| Downloaded: |
1591 time(s) |
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 05/01/2008 20:27:32
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
Wenn du möchtest, kann ich dir auch noch alle Gemeinden samt PLZ einbinden.
Das ist für mich keine grosse Arbeit mehr, da mein Update-Script leicht anzupassen ist
Ich würde dann diese Daten hier verwenden:
http://www.statistik.at/web_de/static/gemeinden_sortiert_nach_gemeindekennziffer_mit_status_und_postleitzahlen_c_022953.csv
Die Gemeindekennziffer scheint wie ein Amtlicher Gemeinde Schlüssel zu sein.
D.h. die ersten 3 Ziffern stehen für den Bezirk. Und über den Bezirk wiederrum komme ich ans Bundesland.
Somit wäre ein korrekte Einteilung möglich. Da es gewisse Ortsnamen bestimmt mehrfach in anderen Bundesländern gibt.
Jedoch scheint Wien ein Sonderfall zu sein Da bräuchte ich dann genauere angaben wie ich das machen soll. D.h wenn der Gemeindecode nicht gleich wie die Gemeindekennziffer ist.
Gruss
Simon
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 06/01/2008 11:11:26
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Hallo Simon
Vielen Dank.
Ein Oberwart habe ich gelöscht und die Bezirke nachgeführt.
Kannst du die fehlenden noch anschauen. Da sind einige bereits vorhanden. Einen ADMD für Wien habe ich als den Bezirk Wien (Stadt) verwendet.
Auch beide Eisenstadt sind als ADMD vorhanden :
http://www.geonames.org/advanced-search.html?q=Eisenstadt&country=AT&featureClass=A&continentCode=&fuzzy=0.6
Wenn wir dann die Bezirke voll haben können wir uns um die Gemeinden kümmern. Die Name in den Statistik Austria Liste werde ich dann als alternate name einfügen.
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 06/01/2008 16:15:06
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
hi,
ich werde mich um die fehlenden demfall gleich manuell kümmern.
Warum hast du für Eisenstadt Stadt/Land ADMD verwendet? Sind das keine eigenständige Bezirke?
Weil es scheint so dass Eisenstadt Land/Stadt eigene Gemeinden haben.
Gruss
simon
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 06/01/2008 17:15:33
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
So hier sind noch die restlichen Daten, folgendes ist mir aufgefallen dabei:
- Schreibfehler in "Politischer Bezirk Sankt Veitan der Glan" da muss ein whitespace zwischen "Veit" und "an". ( GID = 2766358 )
- Stadt Waidhofen an der Ybbs hat featureclass 'P' statt 'A'
- Der Polit. Bezirk Wels habe ich als Wels (Land) kodiert, und Wels selber (P, PPL) als Wels (Stadt). Wels Stadt hat also immernoch featureclass P und code PPL.
- Wien 3.,Landstraße und Wien 15.,Rudolfsheim-Fünfhaus sind Gemeindebezirke von Wien und wurden als ADM3 kodiert.
Meine wichtigste Frage ist nun ob z.b die Stadt Wels P/PPL bekommen soll oder A/ADM2
Gruss
Simon
PS: Wäre es nicht sinnvoller die aktuellen namen durch die von der Liste zu ersetzen? Weil das sind ja eigentlich die amtlich "gültigen" Namen.
| Description |
results2.csv |
Download
|
| Filesize |
1 Kbytes
|
| Downloaded: |
1571 time(s) |
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 07/01/2008 15:38:17
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
hi,
was hältst du davon wenn ich die Postleitzahlen für DE/AT richtig kodiere? Momentan scheint es mir so als ob Österreich ein riesen durcheinander wäre. Ich kriege für eine Österreichische PLZ jedesmal ein Dutzend Resultate
Bei den deutschen PLZ würde ich gerne die admin codes richtig setzen - bei der PLZ wird ja der ISO 3166-2 Code verwendet. In der Hauptdatenbank wird jedoch der FIPS code verwendet. Da sollte man sich für einen entscheiden.
Dann würde ich noch die admin2 und admin3 codes einfügen.
Somit wäre es dann problemlos möglich direkt die GeonameID zur PLZ zu finden. Was meiner Meinung nach sehr wichtig ist.
Für Österreich würde ich die PLZ Daten mittels der CSV Datei von Statistik Austria updaten.
Achja, wäre es nicht sinnvoll auch admin4 codes in der PLZ Datenbank zu verwenden? Immerhin gibts die ja auch in der Hauptdatenbank.
Gruss
simon
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 07/01/2008 22:13:15
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Danke.
Ich habe die neuen Änderungen auch nachgeführt. Jetzt haben wir 98 ADM2 in Österreich :
http://www.geonames.org/search.html?q=adm2&country=AT
Langsam kommen wir der Sache näher. In der Datei von Statistik Austria hat es 122 Bezirke.
Sankt Veit habe ich umbennant, Eisenstadt auf ADM2 gesetzt. Für Wels etc habe ich neue ADM2 Toponyme eingefügt. Das haben wir auch in anderen Ländern schon so gemacht, da die administrative division von der Stadt bei der Suche etc anders behandelt wird.
In diesem Fall kann man durchaus die 'amtlichen' Namen für den Hauptnamen verwenden. Der Hauptname sollte ein international verständlicher Name sein. Für lokale varianten dient der 'alteratename' table.
Das Ziel ist auch die Hauptdatenbank auf ISO zu wechseln, wenn möglich für alle Länder gleichzeitig, was nicht so einfach ist, da in vielen Ländern keine 1:1 Beziehung besteht ....
Für Österreichische PLZ liefert die Österreichische Post, die Daten. Die PLZ in Österreich sind nicht eindeutig, deshalb kriegst du viele Resultate.
Ich denke zuerst sollten wir die Bezirke sauber aufräumen, und dann die Gemeinden.
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 07/01/2008 22:19:33
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
hi,
das es 98 sind liegt daran, dass einige (24) als ADM3 kodiert wurden.
98 + 24 = 122
Siehe hier:
http://www.geonames.org/search.html?q=adm3&country=AT
Diese Gemeindebezirke gehören fast alle zu Wien.
Gruss
Simon
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 07/01/2008 23:00:54
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Danke. Ich hätte nur besser lesen müssen was du geschrieben hast dann wäre es klar gewesen.
Eine Frage habe ich jetzt aber doch noch. Wir haben jetzt 98 ADM2. Auf dieser Seite von Statistik Austria schreiben sie "Das Bundesgebiet gliedert sich in 99 Politische Bezirke und zwar 15 Statutarstädte und 84 Landbezirke. Die Politischen Bezirke stellen die unterste Verwaltungseinheit der staatlichen Verwaltung dar." :
http://www.statistik.at/web_de/statistiken/regionales/regionale_gliederungen/PolitischeBezirke/index.html
Fehlt uns jetzt noch einer?
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 08/01/2008 00:35:51
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
marc wrote:
Fehlt uns jetzt noch einer?
Jein Oberwart ist der Bösewicht. Ist zwar drin, aber als ADMD !
Oberwart war ja auch mal doppelt vorhanden. Ich hab dir den korrekten Datensatz angehängt.
Soll ich nun noch die Gemeinden "eingemeinden" ? Denke mal das krieg ich bis morgen Nachmittag hin.
Gruss
Simon
| Description |
|
Download
|
| Filesize |
134 bytes
|
| Downloaded: |
1524 time(s) |
|
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 09/01/2008 21:03:28
|
marc
Joined: 08/12/2005 07:39:47
Messages: 4501
Offline
|
Hi Simon
Danke. Jetzt haben wir alle vollständig. Wäre fantasisch wenn du auch noch die Gemeinden machen könntest.
Gruss
Marc
|
 |
|
|
 |
![[Post New]](/gforum/templates/default/images/icon_minipost_new.gif) 10/01/2008 00:29:45
|
simon
Joined: 27/12/2007 05:12:01
Messages: 21
Location: Zurich
Offline
|
marc wrote:
Hi Simon
Danke. Jetzt haben wir alle vollständig. Wäre fantasisch wenn du auch noch die Gemeinden machen könntest.
Gruss
Marc
Kein Problem ist ne Sache von einigen Minuten wenn ich mein Skript übers CSV file laufen lasse. Sofern alles gefunden wird
Habe da jedoch noch einige Fragen und zwar:
1. Es gibt noch viele ADMDs (ca. 304) die sind meist auch im Gemeinde CSV File drin. Soll ich die auf ADM3 setzen?
2. Sollen die restlichen Gemeinden als PPL oder als ADM3 kodiert werden? Wenn eine Gemeinde noch zusätzlich Ortschaften hat, wärs doch ADM3 oder?
4. Es sind ca. 14'000 PPLs in der DB, im CSV jedoch nur ca. 2200, sind die restlichen demfall Ortschaften? Bzw. unselbständige Gemeinden?
5. Soll ich noch was mit den Postleitzahlen machen?
Wenn das geklärt ist, leg ich los
Achja, wenn die Gemeinden alle drin sind, kann ich auch noch die Ortschaften mitreinpacken, dann wär AT zu 99% komplett!
(http://www.statistik.at/web_de/statistiken/regionales/regionale_gliederungen/Ortschaften/index.html)
900kb CSV File das wird heftig
Gruss
Simon
|
|
|
 |
|
|