[opengeodb] Welche Daten sind die aktuellsten?
Martin Trautmann
traut at gmx.de
Mon Dez 3 20:53:36 CET 2007
Felix Schwarz wrote:
> Noch ein paar ergänzende Fragen zum Datenbestand:
>
> Nachdem ich opengeodb-0251_2007-10-02.sql aus dem ADFC-Bestand importiert
> habe, gibt es mehrere Datensätze, die für mich keinen Sinn ergeben, z.B.
> loc_id 23519.
>
> mysql> select loc_id, lon, lat, valid_since, valid_until from geodb_coordinates where loc_id = 23519;
> +--------+------------------+------------------+-------------+-------------+
> | loc_id | lon | lat | valid_since | valid_until |
> +--------+------------------+------------------+-------------+-------------+
> | 23519 | 11.2440571428571 | 51.5083285714286 | NULL | 3000-01-01 |
> | 23519 | 51.4667 | 11.3 | NULL | 2005-09-30 |
> | 23519 | 51.5083285714286 | 11.2440571428571 | 2005-12-01 | 3000-01-01 |
> | 23519 | 51.5089692307692 | 11.2346230769231 | 2005-10-01 | 2005-11-30 |
> +--------+------------------+------------------+-------------+-------------+
>
> Laut GeoDatenZentrum ist der erste Eintrag in etwa richtig. Warum ist der 3. dann
> nicht abgelaufen bzw. wie kann man algorithmisch entscheiden, dass der erste richtig
> ist?
Der erste ist der aktuellste und richtige - er stammt aus D.tab und
wurde in SQL umgewandelt. Dabei wurden valid_since mit NULL und valid
until mit 3000-01-01 aufgefüllt.
Die nächsten drei Zeilen stammen aus der extra.sql, wo Daten mit Datum
hinterlegt sind. Dort hatte ich eigentlich die Reihenfolge schon auf das
gängigere lat/lon umgestellt - nur in der Umwandlung von tab nach sql es
bei der alten lon/lat belassen.
Die neue Datenstruktur kommt in Zukunft also mit lat,lon, daher auch die
neue 026-dump-Version.
So viel also zur Vertauschung von lon und lat in deiner Tabelle.
Die zweite Zeile stellt die ersten Koordinatenangaben dar: bis 2005-09-30
die vierte Zeile hat die Folgedaten: 2005-10-01 bis 2005-11-30
die dritte Zeile hat die seither gültigen Daten ab 2005-12-01.
Weil diese Daten ein Beginn-Datum haben, tauchen sie doppelt auf: einmal
ohne aus den D.tab-Rohdaten, einmal aus dem extra.sql
Wolltest du das bereinigen, so solltest du dir entsprechend die Daten
zusammenbasteln, z.B. indem du alle Daten ohne Begin-Datum wegwirfst,
wenn es dafür noch weitere Daten mit gültigen begin-until gibt. Das geht
zumindest, wenn die Inhalte identisch sind. Andernfalls kannst du
zusätzlich die changes.sql heranziehen, um festzustellen, wann sie
geändert wurden.
> Gibt es da Abhilfe bzw. mit welchem Datenbestand habt ihr gute Erfahrungen gemacht?
Wenn ich Rückmeldungen bekomme, dann kan ich dem teilweise Abhilfe
verschaffen.
Schönen Gruß
Martin