[opengeodb] README - Teil 1+2 (von min. 6)
Peter Wendorff
wendorff at uni-paderborn.de
Sam Mar 22 10:49:46 CET 2008
Hallo zurück.
Das sieht doch schonmal vielversprechend aus.
Ein paar kleine Anmerkungen schreibe ich mal dazu, deshalb der lange
Kommentar:
Martin Trautmann schrieb:
> Jetzt gewinne ich den Eindruck, diese README wird mehr und mehr zu einem
> Handbuch - und da halte ich für besser, diese Erklärungen in das wiki
> auszulagern. Einerseits ist es dort besser strukturierbar, andererseits
> kann dort von jemden korrigiert und ergänzt werden.
>
> Was würdet ihr empfehlen?
>
Ich würde vorschlagen, das ganze zweigleisig laufen zu lassen: Das
readme zu den Download-Daten zu legen, darin aber ganz deutlich darauf
hinzuweisen, dass die opengeodb ständiger Weiterentwicklung unterliegt,
und das ganze im wiki aktuell zu halten.
Also: Mit einer Änderung der Struktur immer auch das wiki zu
aktualisieren, bei größeren Inkompatiblitäten dann auch das readme zum
runterladen.
Hier nochmal der Hinweis auf Versionsnummern, auf die man sich dann
eindeutig beziehen sollte.
> +++
>
> README-Datei für Opengeodb
>
> Diese Datei erläutert, welche Dateien im Verzeichnis
> http://fa-technik.adfc.de/code/opengeodb/
> vorhanden sind und gibt einen kurzen Überblick über die Verwendung.
>
> Gliederung:
>
> 1. Verzeichnis-Übersicht
> 2. Dateninhalt
> 2. Kurzbeschreibung zur Erstellung der Datenbank
> 3. Erläuterungen zum Datenbank-Schema
> 4. weiterführende Beispiele
> 5. Verwendung der Opengeodb für eine Umkreissuche
>
>
>
> ################################
> ### 1. Verzeichnis-Übersicht ###
> ################################
>
> Die Dateien in diesem Verzeichnis enthalten die Basis-Daten der OpenGeoDB.
> Diese liegen in zwei verschiedenen Formaten vor:
>
> - als Textdateien
> Diese enthalten die reinen Informationen, eine Zeile pro Datensatz.
> Die einzelnen Felder sind durch Tabulatoren getrennt, die Feldnamen
> stehen in der ersten Zeile. Aktuell werden die Daten in diesen Dateien
> gepflegt.
>
> Es sind folgende Dateien vorhanden:
>
> AT.tab Daten für Österreich
> BE.tab Daten für Belgien
> CH.tab Daten für die Schweiz
> DE.tab Daten für Deutschland
> LI.tab Daten für Liechtenstein
>
Hier würde ich vielleicht "Basis-Daten für ~" schreiben, damit das
eindeutig zu den Sätzen vorher passt.
> PLZ.tab Diese Datei enhält eine Liste der Postleitzahlen
> mit den dazugehörigen Geokoordinaten und Ortsnamen
>
> DE9.tab Experimentelle Straßendaten abgeleitet aus der
> OpenStreetMap. Diese Daten stehen unter der
> CC-BY-SA-Lizenz
>
Ein Link zum Lizenztext wäre hier ganz sinnvoll (wenn ich das richtig
sehe, müsste dieser Link passen:
http://creativecommons.org/licenses/by-nc-sa/2.0/de/legalcode -
zusätzlich angeben würde ich zur einfacheren Verständlichkeit:
http://creativecommons.org/licenses/by-nc-sa/2.0/de/ )
> - als SQL-Dump
> alle Dateien haben die Endung .sql und sind für MySQL erstellt. Falls
> eine andere SQL-basierte Datenbank zum Einsatz kommen soll, dürfte sich
> der Portierungs-Aufwand in Grenzen halten.
>
> Diese Daten entstehen durch Konvertierung der Dateien von .tab nach .sql
>
>
>
> ################################
> ### 2. Dateninhalt ###
> ################################
>
> Seit der ersten Einrichtung der OpenGeoDB ist die Datenbank in
> verschiedene Richtungen gewachsen. Der Umfang der Daten, wie auch
> Genauigkeit und Qualität allgemein werden fotlaufend verbessert. Es
> können jederzeit neue Länder hinzugefügt werden. Auch die angebotenen
> Daten wurden immer wieder ergänzt.
>
> Derzeit enthalten die .tab-Dateien eine Auswahl sogenannter Basisdaten,
> die ergänzt werden durch Extradaten, die nur im Einzelfall verfügbar
> sind. Zu diesen Extradaten gehören beispielsweise Sprachversionen oder
> versionierte Daten mit eingeschränkter Gültigkeit.
>
> Für SQL werden die einzelnen Datentypen durch Kenn-Nummern markiert
> (data_types)
>
> Folgende Daten werden insgesamt unterstützt:
>
> .tab .sql Beschreibung
> ########## Basisdaten ######################################################
> locid loc-id Location ID (Primärschlüssel)
> ags 500600000 Amtlicher Gemeindeschlüssel
> ascii 500100002 Sortiername
>
Hier sollte dazugeschrieben werden, dass eben auch nur Zeichen des
ASCII-Zeichensatzes verwendet werden, mit der Konsequenz für Umlaute und
weitere Sonderzeichen.
> name 500100000 Name
> 200100000 WGS84 Koordinaten
>
Link zur Bedeutung von WGS84 sinnvoll?
> lat 200200000 Breitengrad (latitude)
> lon 200300000 Längengrad (longitude)
> amt 500700000 Verwaltungszusammenschluss
> 500700001 Sortiername eines Verwaltungszusammenschlusses
> plz 500300000 Postleitzahl
> vorwahl 500400000 Telefonvorwahl
>
was ist mit der führenden 0? ist die dabei oder nicht?
> einwohner 600700000 Einwohnerzahl
> 650700001 Ungefähre Einwohnerzahl
> 650700002 Genaue Einwohnerzahl
> flaeche 610000000 Fläche
> kz 500500000 KFZ-Kennzeichen
>
kann man sich darauf verlassen, dass KFZ-Kennzeichen in Großbuchstaben
geschrieben sind?
> typ 400300000 Typ
>
Genauere Erläuterung, was Typ hier heißt: Für eine Locid spezifisch die
lokale Bezeichnung der Ebene bzw. des Hierarchie-Typs: z.B. Bundesland
vs. Kanton
Dabei, weil ich gerade bei mir überprüft habe, was da drinsteht:
Ich habe die folgende SQL-Abfrage abgeschickt:
SELECT DISTINCT text_val
FROM `opengeodb`.`geodb_textdata`
WHERE `text_type` LIKE '%400300000%'
und bekomme unter anderem fünf verschiedene Werte für text_val, die ich
irgendwie nicht einordnen kann:
100600000
100500000
100400000
100300000
100200000
Was bedeuten die wiederum? ein zusätzlicher Verweis auf einen
Hierarchie-Typen wäre doch hier definitiv nicht sinnvoll, oder habe ich
da was übersehen?
> level 400200000 Ebene
> of 400100000 Teil von
> invalid Markierung als ungültig
>
Wie wird diese Markierung vorgenommen? 0/1? timestamp? boolscher Wert?...
> ########## Hierarchie-Typen ################################################
> 100100000 Erdteil
> 100200000 Staat/Land
> 100300000 Bundesland
> 100400000 Regierungsbezirk
> 100500000 Landkreis
> 100600000 Politische Gliederung
> 100700000 Ortschaft
> 100800000 Postleitzahlgebiet
> 100900000 Ortsteil
> ########## Datums-Typen ####################################################
> 300100000 Auf einen Tag genaues Datum
> 300200000 Auf ein Monat genaues Datum
> 300300000 Auf ein Jahr genaues Datum
> 300400000 Auf 10 Jahre genaues Datum
> 300500000 Unbekanntes Datum in der Zukunft
>
NULL ist die Angabe, dass ein Datum vollkommen unbekannt ist - das
sollte mit angegeben werden.
> ########## Höhenangaben ####################################################
> 600800000 Höhenangabe in Metern
> 650800001 Maximale Höhe
> 650800002 Minimale Höhe
> 650800003 Durchschnittliche Höhe
> 650800004 Höhe am Referenzpunkt mit der angegebenen loc_id
> 650800005 'Höhe an der angegebenen Koordinate'
> ########## sonstiges #######################################################
> 500100001 ISO 3166 Alpha-2
> 500100003 ISO_3166_2
>
Auch hier würde ich einen Link zu entsprechenden Angaben hinzufügen, z.B.
http://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste
> 500100004 Region eines Postleitzahlgebietes
> 500800000 Quelle
>
eindeutiger: Quelle der Daten - Quelle ist gerade bei Geodaten sonst
schnell der Ursprung eines Flusses ;)
> [..]
> Weitere Erklärungen zu einzelnen Datentypen:
> * 100*00000 Hierarchie-Ebenen
>
Dies sind generellere Informationen als die oben einzeln aufgelisteten,
insofern sind sie an dieser Stelle unsinnig. Ich würde das irgendwie
weiter hochschieben oder weglassen (wer aufmerksam liest, kann sich das
auch ohne dieser Information denken).
> Alle opengeodb-Einträge können durch die Zuordnung über den Typ
> 400100000 Teil von in Hierarchien zugeordnet werden.
>
...in Hierarchien eingeordnet werden.
Ein Beispiel wäre hier noch sinnvoll.
> Durch die Ergänzung mit 400200000 Ebene lässt sich sicherstellen, dass
> benachbarte Zweige gleich strukturiert bleiben. So gibt es neben
> Kontinent (Ebene 1) und Staat (2) in Deutschland die Ebenen Bundesland
> (3), Regierungzbezirk (4), Kreis (5), Gemeinde (6) usw. Nicht in jedem
> Bundesland ist jede dieser Ebenen vorhanden. In den Hierarchien werden
> solche Ebenen daher übersprungen.
>
Regierungsbezirk: Tippfehler! Zwischen 400200000 und Ebene sollte ein
Leerzeichen stehen, kein Tab (Ebene evtl. in Klammern).
> Die SQL-Hierarchien geodb_hierarchies sind redundant, können die
> Datenbankabfragen aber erheblich beschleunigen. Da bisher keine
> SQL-Routine existiert, die diese rekursive Berechnung erledigt, werden
> sie ebenfalls aus den Basisdaten abgeleitet und als dump bereitgestellt
> (XXhier.sql)
>
Anmerkung dazu an Martin, um Verwirrung in naher Zukunft zu vermeiden:
nimm die leere Tabelle weg aus den veröffentlichten Paketen, damit
niemand aus Versehen oder Dummheit auf der leeren Tabelle arbeitet und
sich wundert, wieso nichts funktioniert. Dann ist keine Tabelle
vermutlich besser.
> * 100100000 Erdteil
>
> Aktiv gefüllt wird bisher nur der Kontinent Europa
>
...da bisher nur europäische Staaten in der opengeodb berücksichtigt sind.
> * 100200000 Staat
>
> Verfügbar sind bisher die Länder Deutschland (DE), Österreich (AT),
> Schweiz (CH) usw.
>
Angaben zur Vollständigkeit? was soll das "usw."?
> * 100300000 Bundesland
>
> Deutschland hat 16 Bundesländer. Österreich hat 9 Bundesländer. Dem
> entsprechen die 26 Schweizer Kantone.
>
> * 100400000 Regierungsbezirk
>
> Regierungsbezirke gibt es in den deutschen Bundesländern
> Nordrhein-Westfalen, Baden-Württemberg und Bayern. In anderen
> Bundesländern wie Niedersachsen (2004) und Sachsen-Anhalt (2007) wurden
> diese aufgelöst. In Stadtstaaten wie Hamburg gab es diese nie.
>
> * 100500000 Kreis
>
> In Deutschland gibt es sowohl Landkreise als auch kreisfreie Städte. In
> Österreich und der Schweiz werden auf dieser Ebene die Bezirke geführt.
>
> * 100600000 Gemeinde
>
> Die deutsche Hierarchisierung strukturiert jede politische Gliederung
> bis zur Gemeinde-Ebene. Es gibt daher einen Stadtstaat wie Hamburg
> sowohl als Bundesland Hamburg, als kreisfreie Stadt Hamburg (Kennzeichen
> HH) und auch als Gemeinde. Notfalls werden hier Dummy-Einträge
> eingeführt, die den Kreis als Gemeindestruktur wiederholen.
>
Inwiefern sind dies Dummy-Einträge, bzw. inwiefern sind diese Einträge
tatsächlich auch Gemeinden im offiziellen Sinne?
> Auch in Österreich und der Schweiz gibt es Gemeinde-Strukturen.
>
> * 100700000 Ortschaft
>
> Während viele Gemeinden praktisch nicht von einem Ort unterschieden
> werden können, gibt es künstliche Gemeindestrukturen, die den
> Zusammenschluss mehrerer Orte bilden. Während hier auf Gemeindeebene die
> Koordinaten der Gemeindefläche oder teils auch die Koordinaten der
> Gemeinde-Verwwaltung genutzt werden können. bietet die Ortschaft die
> Koordinaten der entsprechenden, meist geschlossenen Ortsfläche.
>
Tippfehler bei Verwaltung.
Beispiel wäre sinnvoll.
> * 100800000 Postleitzahlgebiet
>
> Achtung: ein Postleitzahlgebiet ist nur im Ausnahmefall eine Teilmenge
> eines Ortes. Postleitzahlen folgen den unternehmerischen Interessen der
> Post und sind oftmals völlig losgelöst von der politischen Struktuierung
> der opengeodb.
>
> Großsstädte können viele verschiedene Postleitzahlen umfassen. Kleinere
> Ortschaften und Gemeinden können sich die gleiche Postleitzahl teilen.
> opengeodb wurde daher um PLZ-Gebiete erweitert, die für jede einzelne
> PLZ eine repräsentative Koordinate, wie auch einen repräsentativen
> Ortsnamen angeben.
>
> * 100900000 Ortsteil
>
> Ortsteile sind Unterstrukturen von Ortschaften und Gemeinden. Die genaue
> Zuordnung folgt hier keinen regelmäßigen und bundesweit einheitlichen
> Strukturen. Die Unterscheidung von Ort und Ortsteil, von Stadtviertel,
> Stadtbezirk, Stadtquartier, Stadtteil, von Einzelwohnplatz, Siedlung,
> Weiler usw. ist hier nach geeigneten Kriterien vor Ort festzulegen.
>
> Es können hier also auf gleicher Ebene kleinere Strukturen als Teil von
> übergeordneten Strukturen aufgenommen werden. Nach unten werden diese
> Strukturen ergänzt durch Straßen und Einzelkoordinaten wie Hausnummern.
> Tipp: Ortsteile sind noch flächig, Straßen eher linienförmig,
> Einzelkoordianten punktförmig.
>
>
> [...]
>
>
> * 500600000 Amtlicher Gemeindeschlüssel
>
> Der Amtliche Gemeindeschlüssel wird in Deutschland vom Statistischen
> Landesamt vergeben. Er wird für verschiedene Verwaltungsaufgaben
> verwendet. [...]
>
> ########################################################
> ### 3. Kurzbeschreibung zur Erstellung der Datenbank ###
> ########################################################
>
>
>