[opengeodb] README - Teil 1+2 (von min. 6)

Martin Trautmann traut at gmx.de
Sam Mar 22 10:01:48 CET 2008


Hallo,

ein freundlicher Helfer auf der Liste hat mir einen umfangreichen und 
sehr guten Entwurf eines READMEs zugeschickt.

Vermutlich wird er selbst dazu noch Stellung nehmen.

Ich habe diesen Entwurf nun um einen Teil 2 ergänzt, den ich für 
elementar halte. Dazu habe ich begonnen, die einzelnen Datentypen 
genauer zu erläutern.

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?

+++

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

      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


  - 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
name	   500100000	Name
            200100000	WGS84 Koordinaten
lat	       200200000	Breitengrad (latitude)
lon	       200300000	Längengrad (longitude)
amt        500700000	Verwaltungszusammenschluss
            500700001	Sortiername eines Verwaltungszusammenschlusses
plz	       500300000	Postleitzahl
vorwahl    500400000	Telefonvorwahl
einwohner  600700000	Einwohnerzahl
            650700001	Ungefähre Einwohnerzahl
            650700002	Genaue Einwohnerzahl
flaeche	   610000000	Fläche
kz         500500000	KFZ-Kennzeichen	
typ        400300000	Typ	
level      400200000	Ebene	
of	       400100000	Teil von
invalid                 Markierung als ungültig
########## 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
########## 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
            500100004	Region eines Postleitzahlgebietes
            500800000	Quelle
            500900000	Kommentar

Weitere Erklärungen zu einzelnen Datentypen:
* 100*00000 Hierarchie-Ebenen

Alle opengeodb-Einträge können durch die Zuordnung über den Typ 
400100000 Teil von in Hierarchien zugeordnet werden.

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.

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)

* 100100000	Erdteil

Aktiv gefüllt wird bisher nur der Kontinent Europa

* 100200000 Staat

Verfügbar sind bisher die Länder Deutschland (DE), Österreich (AT), 
Schweiz (CH) 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.

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.

* 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 ###
########################################################