Ortsdatenbank gesucht...

Status
Es sind keine weiteren Antworten möglich.

h_c_greier

Aktives Mitglied
Geschätzte Gemeinde!

Wer sich mit der Programmierung astronomischer Sachverhalte beschäftigt, stellt schnell fest, dass man sich mit allerlei "Rundherum-Themen" befassen muss. Ein solches Thema ist z.B., wenn man für die Berechnung topozentrischer Koordinaten den buchstäblichen Ort benötigt, sprich Länge, Breite, Zeitzone.

Wer kennt gute (freie) Orts-Datenbanken mit folgendem Inhalt?
[Land, Ort, Länge, Breite, Höhe, Zeitzone]

Wobei ohne Höhe wär's nicht so schlimm... Und wenn möglich zumindest die Ländernamen in Deutsch. Die Ländernamen übersetzten ginge noch, sind ja nur so 250. Wäre sogar geneigt, für 2000 Orte die Höhen aus dem Netz zu fischen.

Ich möchte kein Google API Gedöns verwenden, weil ich keinen API Key habe/haben will, sondern das soll unabhängig davon vom eigenen Server abgefragt werden. Das Dumme ist nur, dass diese Datenbanken meist etwas kosten, und falls es abgespeckte/kostenfreie Versionen gibt, fehlt z.B. ein Eintrag wie die Zeitzone usw.
Das Ganze soll nichts kosten, ich möchte das hier herein stellen damit es jedermann verwenden kann.

Eine recht große Datenbank findet man z.B. auf World Cities Database | Simplemaps.com
dort fehlt aber in der kostenfreien Version die Zeitzone, es gibt aber immerhin 43.000 Einträge, allerdings alles in Englisch. Soviele Einträge wären für mich nicht notwendig. Brauche ja

Ein weiteres nettes Tool ist GPS Koordinaten, Breiten- und Längengrad, es gibt auf Eingabe die Orte auch in Deutsch zurück, aber keine Listen.
Weiter zu Github: GitHub - bahar/WorldCityLocations: Geographical location (latitude, longitude, altitude) of all main cities of the world, dort wäre auch eine Höhenangabe drinnen, aber wiederum keine Zeitzone, aber immerhin 10567 Einträge.
Vom JPL habe ich auch was gefunden, 4382 Einträge, da sind auch Observatorien dabei und Höhenangaben, aber wiederum keine Zeitzonen.

Manche Datenbanken verwenden für westliche Längen positives Vorzeichen, andere negatives. Echt jetzt? o_O
Man sieht also, alles nicht so ganz einfach.

Ich habe bereits begonnen für meine Applikationen eine kleine Ortsdatenbank zusammenzutragen, die bisher meinen Anforderungen genügt hat. 207 Länder mit insgesamt 2181 Orten. Muss sie noch in verschiedenen Formaten aufbereiten (txt, json usw.), dann poste ich's falls das wer brauchen kann.

Also, wer weiß was und wen interessiert's überhaupt?

cs,
harald

--
 
Klingt spannend, und ich wünsche Dir viel Spaß und Erfolg.

Und nein, ich brauch sowas nicht, wüsste auch nicht wofür…

Aber cool so ein Projekt zu haben!! Viel Erfolg,
Ernie
 
Schaut mal hier, auf meinem privaten Seite gibt es ein kleines Projekt dazu, das ich mal erstellt habe:


Ich hatte auch Höhendaten in Form von GIS-Daten zur Verfügung. Allerdings hatte sich die Extraktion als sehr rechenintensiv und aufwendig herausgestellt.

Stefan
 
Hallo Stefan,

vielen Dank für deinen Input.
Das funktioniert gut, ist aber für mich wenig hilfreich, weil ich möchte ja die Daten an sich haben. In csv oder json oder ähnlich gut strukturiertem Material. Möchte ja nicht 3.000 mal Ortsnamen copy/pasten.

Auf den Seiten von GeoNames war ich auch schon und habe mir mal ein paar Files geladen, etwa die cities15000. Auch dort sind die Daten über separate Files verstreut. Z.B. hat die Datei AT.zip nur die Länge/Breite drin und sonst nur Sachen, die man astronomisch nicht braucht. Die Zeitzonen sind dann wieder in der timeZones.txt. Mal eine Funktion schreiben die das verwurstet.

Man hat's nicht leicht, aber leicht hat's ei'n :cool:

cs,
harald

--
 
Hallo Harald,

habe auch mit GeoNames für den GlobeViewer gearbeitet, da gibt es massig Daten (jede kleine Ortschaft) aber auch ein paar Probleme in den Daten insgesamt.

Wenn man die allCountries.txt (1.5GB) durchläuft und alle Orte extrahiert, bekommt man alle Ortseinträge weltweit. Reduziert man das dann auf Orte mit einer bestimmten Bevölkerung ist das schon überschaubarer, allerdings gibt es z.B. in Asien sehr viele Orte ohne Bevölkerungsdaten, sodass diese Städte dann alle nicht im Datensatz sind (darum sind im GlobeViewer bislang kaum Ortschaften in Asien vorhanden). Das nächste Problem wird für Dich sein, dass die Orte alle mit internationaler Bezeichnung in der DB stehen (z.B. Munich). Will man die deutschen Bezeichnungen haben, braucht man noch die alternateNamesV2.txt, dort sind dann zu den entsprechenden GeoIDs die Übersetzungen enthalten.

Das wird also ein ziemlicher Aufwand das alles zu extrahieren (habe ich erst kürzlich im Januar gemacht - alle Orte weltweit als csv ergeben 273 MB) und dann auch noch die deutschen Namen zuzuordnen (das habe ich mir bislang gespart)... und die Zeitzonen sind da tatsächlich nicht drin.

Viele Grüße
Armin
 
Hallo Armin,

danke auch dir!

Ja, die Datei allCountries.txt habe ich geladen um mal reinzusehen, wie das Format ist. Bis man die Erbsen vom Reis getrennt hat sitzt man schon ein wenig....um die nach population zu ordnen, weil man braucht das ja zuerst in einem "vernünftigen" Format, um da mit Scripten dranzufahren. Aber so viele Daten brauche ich gar nicht...:ROFLMAO:

und dann auch noch die deutschen Namen zuzuordnen (das habe ich mir bislang gespart)... und die Zeitzonen sind da tatsächlich nicht drin.

Naja da meine ich auch nur die Länder, nicht die Ortsnamen.

Der Schwerpunkt für meine Apps (bei mir in Deutsch) liegt naturgemäß auf Europa, dort im DE Sprachraum. Deutschland habe ich zB 274 Orte, Österreich 32 und Schweiz 37. Auf alle Fälle aber alle Hauptstädte (weltweit), in größeren Ländern halt mehr Orte und in kleineren nur einen oder ein paar, so wie beim Verhältnis DE/AT in etwa (von Kiribati brauch ich ja keine 20 Orte....o_O). Die Zeitzonen/Höhendaten mit dem was ich habe zu konsolidieren wird dauern. Mal sehen.

cs,
harald


--
 
Hallo Peter,

Ja, ist aber schwer zu ?n.
Der geonames dump ist auch viel zu groß, ich mein 5Mb allein für AT, Hinterf*****g lässt grüßen! :LOL:

Yep, verweist aber u.A. auf simplemaps, siehe mein OP.

Ja das wäre so was mir vorschwebt, vielleicht nicht 10.000 sondern 2-3k würden genügen. Bin ich gerade dran. Hat Höhenangaben, aber keine Zeitzonen :poop:

Dank dir!
cs,
harald

--
 
Harald, die fehlende Zeitzone kann man ja großenteils über die angegebenen Länder zuordnen, und wo das nicht reicht, wie in USA und Kanada, die Zuordnung über die Geografische Länge versuchen. Wegen der unterschiedlichen Konventionen bzgl. der Sommerzeit wird das wohl eh nie perfekt. - Gruß, Peter

P.S.: Für die angestrebte Datenbank von nur 2-3k Einträgen ist ja sogar eine händische Übertragung der Wikipedia-Daten möglich.
 
Zuletzt bearbeitet:
Ahoi Peter,

Harald, die fehlende Zeitzone kann man ja großenteils über die angegebenen Länder zuordnen, und wo das nicht reicht, wie in USA und Kanada, die Zuordnung über die Geografische Länge versuchen. Wegen der unterschiedlichen Konventionen bzgl. der Sommerzeit wird das wohl eh nie perfekt. - Gruß, Peter
Jaja, ich weiß schon wie's geht. Ich schau auf timeanddate nach, wie viele Zeitzonen das jeweilige Land hat. Die meisten Länder haben eh nur eine. Nur eben bei Russland, USA usw. wird's lästig. Bei Ländern mit vielen Längengraden erwartet man das ja, aber zB China hat nur 1 Zeitzone. Wär eine Frage für den nächsten Telefonjoker.

P.S.: Für die angestrebte Datenbank von nur 2-3k Einträgen ist ja sogar eine händische Übertragung der Wikipedia-Daten möglich.
Ja sicher. "Nur" ist gut, mein lieber Freund und Zwetschkenröster :cool:
Ich hab das Script schon, um Englische Ländernamen einzudeutschen. Bei den Orten lästig sind auch solche Sachen wie Muenchen, Munich oder St.Polten usw., da muss ein regex herhalten...

Seltsamerweise hat die 10k Liste von World_Cities_Location_table.csv "nur" 155 Länder.

cs,
harald

--
 
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben