Datenbank erstellen
Die zur Verfügung gestellten SQL-Daten werden per Skript aus den .tab-Dateien erzeugt.
Die in dieser Anleitung verwendeten SQL-Dateien mit den Daten sind unter http://fa-technik.adfc.de/code/opengeodb/ zu finden.
Dabei kann entweder ein fertiger Dump der Datenbank aus dem Unterverzeichnis dump eingespielt werden, oder man stellt sich seine eigene Datenbank nach individuellen Bedürfnissen zusammen.
Inhaltsverzeichnis |
Individuelle Auswahl der Daten
Um eine vollständige SQL-Datenbank mit den Basisdaten der OpenGeoDB zu erhalten sind drei Schritte notwendig:
Basisdaten
Schritt 1
Um die Datenbank-Struktur zu erstellen muss als erstes der in opengeodb-begin.sql enhaltene Struktur-Dump in die Datenbank importiert werden.
Beim Import werden folgende Tabellen angelegt:
geodb_locations geodb_textdata geodb_intdata geodb_floatdata geodb_coordinates geodb_type_names geodb_changelog
Hinweis: Der Dump erzeugt Tabellen im Format InnoDB, was die Angabe von Foreign Key Checks ermöglicht, aber auch die Import-Dauer der Daten drastisch erhöht. Allgemein steht InnoDB in dem Ruf um den Faktor 2-3 mal langsamer zu sein als MyISAM. Wer also auf Foreign Key Checks verzichten kann, sollte in Erwägung ziehen, das SQL entsprechend für MyISAM-Tabellen anzupassen. Im wesentlichen entfernt man dafür die check- und references-Anweisungen und stellt den TYPE für die Tabelle auf MyISAM.
Schritt 2
Die folgenden Dateien enhalten dann die eigentlichen Nutzdaten nach Ländern gruppiert. Beim Import werden keine Tabellen angelegt, es sind lediglich INSERT-Statements vorhanden:
AT.sql Österreich
BE.sql Belgien
CH.sql Schweiz
DE.sql Deutschland
LI.sql Lichtenstein
Schritt 3
Abschließend sollten die Anweisungen in opengeod-end.sql in der Datenbank ausgeführt werden. Dabei werden die Beschreibungen zu den einzelnen Typen in die Tabelle geodb_type_names eingefügt und verschiedene Indizes erstellt.
Weitere Daten
Weitere Dateien enthalten zusätzliche Daten zum Import:
changes.sql geänderte Datensätze
extra.sql Zusatzinformationen
(z.B. Höhenangaben, Kontinente, Daten mit Versionierung etc.)
Wer für seine Zwecke eine Einordnung der Locations in eine Verwaltungshierarchie benötigt sollte zusätzlich die Dateien *hier.sql importieren, die die Zuordnung der Locations zu den einzelnen Hierarchie-Ebenen übernimmt. Dabei wird die Tabelle geodb_hierarchies erstellt.
AThier.sql Hierarchie-Daten für Österreich BEhier.sql Hierarchie-Daten für Belgien CHhier.sql Hierarchie-Daten für die Schweiz DEhier.sql Hierarchie-Daten für Deutschland LIhier.sql Hierarchie-Daten für Liechtenstein
Einspielen eines fertigen Dumps
Fertige Dumps der Datenbank finden sich im Unterverzeichnis dump. Diese enthalten folgdende Daten:
- Basisdaten (DE, AT, CH, LI, LU, BE)
- Weitere Daten (extra + changes)
- Hierarchie-Ebenen
Unter Linux kann man die Dump-Datei mit folgender Anweisung auf der Kommandozeile einspielen:
zcat opengeodb-026.sql.gz | mysql --user=<username> --password=<password> <dbname>
Die Angaben in den eckigen Klammern müssen natürlich durch die entsprechenden Werte ersetzt werden.
Dump enthält veraltetes MySQL-Statement
Der Dump auf http://fa-technik.adfc.de/code/opengeodb/ enthält noch "TYPE=InnoDB" in den create_table MySQL-Statements. Dies wird seit MySQL 5.5 nicht mehr unterstützt.
Daraus resultiert ein Fehler beim einlesen in MySQL >= 5.5
Das Problem wird behoben, indem man im SQL-Dump "TYPE=InnoDB" durch "ENGINE=InnoDB" ersetzt.