Daten vor- und aufbereiten
Für das folgende Beispiel dienen die Daten aus dem Openaddresses-Projekt, die im XML-Format vorliegen, und eine Tabelle mit Kundendaten der Firma in einer PostgreSQL-Postgis-Datenbank. Der Kasten "Postgis einrichten" zeigt die einfache Installation [9] in drei Schritten. [2] liefert bei Bedarf weiterführende Details und Anwendungsbeispiele für diese flexible Geodatenbasis.
Im Beispiel enthält die existierende Kundentabelle des Unternehmens unter anderem die Attributspalten »strasse«, »strassennummer«, »ort« vom Typ »text« und die Attributspalte »plz« vom Typ »integer«. Der nächste Schritt besteht darin, die Adressendaten von der XML-Datei in ein geografisches Dateiformat zu bringen. Hierfür soll das weitverbreitete Shapefile-Format dienen, das Qgis standardmäßig unterstützt.
Auf Basis der Shapedatei erzeugt der Admin dann eine neue Postgis-Tabelle mit den Adressen. Beide Schritte lassen sich bequem über die grafische Benutzerschnittstelle von Qgis durchführen. Das Verknüpfen (Join) der Adressentabelle mit der Kundentabelle in PostgreSQL und Postgis reichert die Kundendaten mit den notwendigen Koordinaten an. Eine passende, neu hinzugefügte Ansicht (View) in Qgis ermöglicht jetzt bereits das Betrachten und Bearbeiten dieser Daten.
XML nach Shape konvertieren
Qgis bietet die Möglichkeit, selbst geschriebene Python-Plugins über ein externes Repository einzubinden. Um die XML-Datei ins Shapeformat zu konvertieren, haben die Autoren für das Anwendungsbeispiel ein Openaddresses-Konverter-Plugin in Python geschrieben und stellen es im Internet zur Verfügung [10]. Die Anleitung im Kasten "Openaddresses-Plugin für Qgis installieren" zeigt die Schritte für den Import direkt nach dem ersten Start von Qgis. Bei den etwa 140000 Adressen, die gegenwärtig für die Schweiz erfasst sind, kann das allerdings eine Weile dauern.
|
Openaddresses-Plugin für |
|---|
| Sechs Schritte sind notwendig, um die Adressendaten aus dem Openaddresses-Projekt über Qgis in eine Shapedatei zu konvertieren:
Nach Abschluss der Konvertierung bindet Qgis die neu erzeugte Shapedatei über das Menü »Layer | Vektorlayer hinzufügen« ein. |
Im nächsten Schritt importiert der Admin den Inhalt der Shapedatei in eine Postgis-Tabelle. Das Qgis-Plugin SPIT, das Shapefile to Postgis Import Tool, lässt sich analog zum Kasten "Openaddresses-Plugin für Qgis installieren" mit dem Plugin-Manager laden und erlaubt es dem Benutzer, über das Menü eine Tabelle in der PostgreSQL-Postgis-Datenbank mit den Adressendaten zu erzeugen. Abbildung 1 zeigt den entsprechenden Einrichtungsdialog von SPIT.
Abbildung 1: In SPIT, dem Shapefile Import Tool für Postgis, gibt der Benutzer die Verbindungsparameter der Datenbank sowie die zu konvertierende Shapedatei an. Nach dem Klick auf »OK« landen die Adressdaten in der PostgreSQL-Datenbank.
Das Kontrollkästchen »Eingestellte SRID benutzen« sollte er deaktivieren und stattdessen »4326« eingeben. Dadurch weiß die Datenbank, dass das Koordinatenbezugssystem WGS84 ist, mit der kartographischen Einheit Grad. Nach erfolgreichem Import sieht die Definition der Adressentabelle in PostgreSQL-Postgis aus wie in Listing 1.
|
Listing 1: Die Tabelle |
|---|
01 Table "public.adressen_ch" 02 Column | Type |Modifiers 03 -----------+-----------------------+----------- 04 gid | integer |not null 05 strasse | character varying(80) | 06 hnr | character varying(80) | 07 adrzusatz | character varying(80) | 08 plz | integer | 09 ort | character varying(80) | 10 herkunft | character varying(80) | 11 the_geom | geometry | 12 Indexes: 13 "adressen_ch_pkey" PRIMARY KEY, btree (gid) 14 "adress_idx" btree (strasse, hnr, ort) Check constraints: 15 "enforce_dims_the_geom" CHECK (ndims(the_geom) = 2) 16 "enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'POINT'::text OR the_geom IS NULL) 17 "enforce_srid_the_geom" CHECK (srid(the_geom) = 4326) |
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 5 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





