Open Geo DB und die Zuordnung von Orten zu einer Region
Tom
- programmiertechnik
Hello,
ich bin ganz erstaunt, was sich inzwischen in Open-Geo-DB getan hat.
Mein SQL-Server hat gerade die 17635 Locations aus Deutschland, Österreich und der Schweiz reingesaugt...
Aber nun möchte ich die Datenbank dafür nutzen, um alle Orte in einer bestimmten Region herauszubekommen, in diesem speziellen Fall, dem Harz. Wie sollte ich da am geschicktesten vorgehen?
Erstmal muss ich sicher ein geegnetes Rastet finden, um die Hüllkurve für den Harz zu ermitteln. Eine genügend feine Karte liegt mir hier vor. Die enthält aber nun wiederum keine echten geografischen Angaben. Allerdings könnte ich die Orte am Rand des gewünschten Gebietes ablesen, und in der Tabelle ausfindig machen.
Ist es denn nun sinnvoller, gleich die ohnehin vorhandene Quantisierung auszunutzen, und den Harz sozusagen in Streifen zu schneiden, oder gibt es eine schlaue Vorgehensweise, das entstehende Polygon und die Geodaten zu verknüpfen? Wie würdet Ihr das machen?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
Aufgabe prinzipiell noch nicht gelöst, aber zu Fuß geht es wohl in diesem Einzelfall bei ca. 250 Orten in den "rechteckigen" between-Grenzen für Längen- und Breitengrad am schnellsten.
Allerdings habe ich noch ein Problemchen mit Excel und CSV-Datei:
plz,name,breite,laenge
06543,Abberode,51.6167,11.2833
06313,Ahlsdorf,51.55,11.4667
06507,Allrode,51.6833,10.9667
38707,Altenau,51.8,10.45
Das steht in der CSV-Datei.
Excel unterschlägt grundsätzlich die führende Null, wenn ich die Datei (durch Doppelklick) an Excel übergebe. Weiß jemand eine einfache Abhilfe dagegegen?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Aufgabe prinzipiell noch nicht gelöst, aber zu Fuß geht es wohl in diesem Einzelfall bei ca. 250 Orten in den "rechteckigen" between-Grenzen für Längen- und Breitengrad am schnellsten.
zu Fuss geht es immer am schnellsten. ;-)
Das steht in der CSV-Datei.
Excel unterschlägt grundsätzlich die führende Null, wenn ich die Datei (durch Doppelklick) an Excel übergebe. Weiß jemand eine einfache Abhilfe dagegegen?
Den Importassi nutzen.
Gruss,
Ludger
Hello,
Das steht in der CSV-Datei.
Excel unterschlägt grundsätzlich die führende Null, wenn ich die Datei (durch Doppelklick) an Excel übergebe. Weiß jemand eine einfache Abhilfe dagegegen?Den Importassi nutzen.
Auch der spinnt. Der macht aus den Float-Werten immer Datum ("11. Nov") oder so. Ich habe es natürlich hingebastelt für den Einzelfall. Aber das lässt sich so nicht automatisieren. Da werde ich wohl ein PHP- oder PERL-Werkzeug zur Erzeugung der Excel-Datei schreiben müssen. Wird wohl Dank existierender Klassen nicht so tragisch werden. Aber eigentlich geht man bei Standard-Software davon aus, dass sie mit normalen Daten umgehen kann.
Scheint aber Standart[tm]-Software zu sein :-((
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Scheint aber Standart[tm]-Software zu sein :-((
wenn Du eine CSV-Datei hast mit Werten und Dezimaltrenner Komma, dann kannst Du mit M$ Excel auch Dein blaues Wunder erleben:
1.) CSV-Datei mit Doppelklick oeffnen
2.) M$ Excel erkennt die Betraege nicht, weil intern wohl Dezimaltrenner Punkt voreingestellt ist
3.) Damit nicht genug, M$ Excel markiert die Zellen anscheinend intern irgendwie und manuelles Zellen formatieren scheitert (auch, wenn die Datei als XLS weitergespeichert wird) fuer alle Zeiten(!)
Umgehen kann man das o.g. mit dem Import-Assi.
Gruss,
Ludger
Hello,
Umgehen kann man das o.g. mit dem Import-Assi.
Da habe ich mir aber auch einen abgebrochen. Wenn ich nicht einfach mal schnell das Datenformat (Quelle) durch Programmierung bzw. beliebig komplexe SQL-Abfrage ändern könnte, hätte ich wieder eine typische "Sekretärinnenleitung" abgegeben. Die Damen, die sich jetzt ggf. fälschlicherweise angesprochen fühlen sollten, bitte ich um Verzeihung. Denn die "moderne" Office-Software kann ja in Bezug auf Datenhandling und -konvertierung weniger, als die "klassische", die auf dBase und Wordstar basierte. Und wenn man die Bürofachkräfte (Sekretäre und -Innen) künstlich dumm hält, dann muss man sich nicht wundern, wenn sie nur "typische" Ergebnisse abliefern können.
Aber diese Gatesmanie (C) greift ja immer mehr um sich, leider auch in Open-Source-Software.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
plz,name,breite,laenge
06543,Abberode,51.6167,11.2833
06313,Ahlsdorf,51.55,11.4667
06507,Allrode,51.6833,10.9667
38707,Altenau,51.8,10.45
Excel unterschlägt grundsätzlich die führende Null, wenn ich die Datei (durch Doppelklick) an Excel übergebe.
Man sollte den Menschen, der Postleitcodes mit führender Null erfunden hat, vierteilen, hängen, erschlagen, köpfen, usw. (Reihenfolge nach Belieben).
Probier mal, den ersten Wert in "" zu setzen, damit der Postleitcode nicht als Postleitzahl interpretiert wird.
cu,
Andreas
Hello,
plz,name,breite,laenge
06543,Abberode,51.6167,11.2833
06313,Ahlsdorf,51.55,11.4667
06507,Allrode,51.6833,10.9667
38707,Altenau,51.8,10.45
Excel unterschlägt grundsätzlich die führende Null, wenn ich die Datei (durch Doppelklick) an Excel übergebe.Man sollte den Menschen, der Postleitcodes mit führender Null erfunden hat, vierteilen, hängen, erschlagen, köpfen, usw. (Reihenfolge nach Belieben).
Probier mal, den ersten Wert in "" zu setzen, damit der Postleitcode nicht als Postleitzahl interpretiert wird.
Schade. Jetzt habe ich die Daten in der Firma gelassen. Und das jetzt zu türken oder nochmal zu downloaden hab ich heute keinen Nerv mehr. Aber generell ist die Idee nicht schlecht, mit delimited SDF (also CSV mit Komma und Begrenzern) zu arbeiten. Ich glaube, mein SQL-Frontend kann das von Haus aus.
Es geht später immerhin darum, aus ca. 3.000.000 Datensätzen immer unterschiedliche Mengenzugehörigkeiten aufgrund der Lage und anderen Kriterien bilden zu können, um relative und absolute Häufungspunkte zu finden.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Holladiewaldfee,
Excel unterschlägt grundsätzlich die führende Null, wenn ich die Datei (durch Doppelklick) an Excel übergebe. Weiß jemand eine einfache Abhilfe dagegegen?
Alle Felder, in die Du importierst, als Text-Felder ausweisen oder den passenden Feld-Filter draufwerfen.
Ciao,
Harry
Hello,
Excel unterschlägt grundsätzlich die führende Null, wenn ich die Datei (durch Doppelklick) an Excel übergebe. Weiß jemand eine einfache Abhilfe dagegegen?
Alle Felder, in die Du importierst, als Text-Felder ausweisen oder den passenden Feld-Filter draufwerfen.
Das funktioniert aber nicht, wenn man Excel mit dem Dateinamen der CSV-Datei als Befehlszeilenparameter aufruft. Und das war mein Ziel.
Ich habe es aber inzwischen anders gelöst. CSV-Datei wird zur Bearbeitung in ein Grid (HTML) geladen. Da es im Prinzip bei keiner Reginalauswahl mehr als 300 Orte werden, kann man das verantworten. Außerdem behalte ich dadurch leichter die Datenhohheit über die ausgewählten Daten. Das Tool funktioniert dann eben nur Online.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Erstmal muss ich sicher ein geegnetes Rastet finden, um die Hüllkurve für den Harz zu ermitteln. Eine genügend feine Karte liegt mir hier vor. Die enthält aber nun wiederum keine echten geografischen Angaben. Allerdings könnte ich die Orte am Rand des gewünschten Gebietes ablesen, und in der Tabelle ausfindig machen.
die hüllkurve ist der polygonzug, welcher den gleichen start- und endpunkt hat.
Ist es denn nun sinnvoller, gleich die ohnehin vorhandene Quantisierung auszunutzen, und den Harz sozusagen in Streifen zu schneiden, oder gibt es eine schlaue Vorgehensweise, das entstehende Polygon und die Geodaten zu verknüpfen? Wie würdet Ihr das machen?
in 'streifen' ist schon gut. besser wäre den polygonzug 'abzuklappern'. hierfür ist eine gerade durch den start-/endpunkt des polygonzuges und den koordinaten des ortes zu legen.
nun kann der polygonzug abgeklappert werden. jedesmal wenn hierbei die gerade durchkreuzt wird, befindet man sich entweder innerhalb oder außerhalb der hüllkurve, im wechsel. ist man innerhalb, so ist zu prüfen, ob die ortskoordinaten auf der linie zwischen den beiden kreuzungspunkten der geraden liegt. dann ist der ort innerhalb.
du kannst ja auch mal nach 'topologie' googeln.
Holladiewaldfee,
Aber nun möchte ich die Datenbank dafür nutzen, um alle Orte in einer bestimmten Region herauszubekommen, in diesem speziellen Fall, dem Harz. Wie sollte ich da am geschicktesten vorgehen?
Überlege Dir, welche Landkreise dazu gehören und wähle dann alle Städte aus, die in den entsprechenden Landkreisen liegen. Die Landkreiszuordnung erfolgt wenn ich mit recht erinnere über die Spalte adm3.
Ciao,
Harry