OpenStreetMap und Open Government Data in

Werbung
OSM und OGD in PostGIS
OpenStreetMap und Open Government Data in
PostGIS
Oene geograsche Daten zusammenführen, verarbeiten und
visualisieren
Balázs Bárány
Rapid-I GmbH
Linuxwochen Wien 2013
OSM und OGD in PostGIS
Inhalt
Überblick und Grundlagen
PostgreSQL und PostGIS
Einlesen der OSM-Daten
Arbeit mit Geodaten in PostGIS
Einfache Abfragen
Abfragen mit geograschen Funktionen
Geodaten-Feld im Ergebnis
Views und Tabellen
Open Data importieren
Open Government Data in Österreich
Datenimport mit RapidMiner
OSM und OGD in PostGIS
Überblick und Grundlagen
Geodaten in der Datenbank
I Warum Geodaten in der Datenbank speichern?
OSM und OGD in PostGIS
Überblick und Grundlagen
Geodaten in der Datenbank
I Warum Geodaten in der Datenbank speichern?
I Warum PostGIS?
OSM und OGD in PostGIS
Überblick und Grundlagen
Wichtige Begrie
I Arten von Geodaten
I
I
Rasterdaten
Vektordaten
OSM und OGD in PostGIS
Überblick und Grundlagen
Wichtige Begrie
I Arten von Geodaten
I
I
Rasterdaten
Vektordaten
I Abbildung der Erde in zwei Dimensionen
I
I
Projektion
Koordinatenbezugssystem
OSM und OGD in PostGIS
Überblick und Grundlagen
Österreich in falscher und richtiger Projektion
Abbildung: WGS 84
Abbildung: ETRS89 / Austria Lambert
OSM und OGD in PostGIS
Überblick und Grundlagen
Geograsche Objekte
I Punkt
I Linie
OSM und OGD in PostGIS
Überblick und Grundlagen
Geograsche Objekte
I Punkt
I Linie
I Fläche (Polygon)
I
Multipolygon
OSM und OGD in PostGIS
Überblick und Grundlagen
Dateiformate für Geodaten
I ESRI Shapele
OSM und OGD in PostGIS
Überblick und Grundlagen
Dateiformate für Geodaten
I ESRI Shapele
I OpenStreetMap
OSM und OGD in PostGIS
Überblick und Grundlagen
Dateiformate für Geodaten
I ESRI Shapele
I OpenStreetMap
I GPX, KML
OSM und OGD in PostGIS
Überblick und Grundlagen
Dateiformate für Geodaten
I ESRI Shapele
I OpenStreetMap
I GPX, KML
I Comma separated values
OSM und OGD in PostGIS
Überblick und Grundlagen
Dateiformate für Geodaten
I ESRI Shapele
I OpenStreetMap
I GPX, KML
I Comma separated values
I Konvertierungswerkzeuge
I
I
OGR
GPSBabel
OSM und OGD in PostGIS
Überblick und Grundlagen
OpenStreetMap
I Community
OSM und OGD in PostGIS
Überblick und Grundlagen
OpenStreetMap
I Community
I Inhalte
OSM und OGD in PostGIS
Überblick und Grundlagen
OpenStreetMap
I Community
I Inhalte
I Lizenz: Open Data Commons Open Database Licence
OSM und OGD in PostGIS
PostgreSQL und PostGIS
PostgreSQL-Installation und Konguration
I Linux: Distributionspakete oder Binärpakete vom
PostgreSQL-Projekt
I Windows: Installer
OSM und OGD in PostGIS
PostgreSQL und PostGIS
PostgreSQL-Installation und Konguration
I Linux: Distributionspakete oder Binärpakete vom
PostgreSQL-Projekt
I Windows: Installer
I Netzwerkzugri freischalten
I Zugrisrechte: User und Gruppen
OSM und OGD in PostGIS
PostgreSQL und PostGIS
PostGIS-Einrichtung: Template-Datenbank
Beispiel
CREATE DATABASE gis_template;
\connect gis_template;
\i /pfad/zu/postgis.sql
\i /pfad/zu/spatial_ref_sys.sql
\i /pfad/zu/../postgis_comments.sql
CREATE EXTENSION hstore;
OSM und OGD in PostGIS
PostgreSQL und PostGIS
PostGIS: neue geograsche Datenbank
Beispiel
CREATE DATABASE gis WITH TEMPLATE gis_template
OWNER gis;
OSM und OGD in PostGIS
PostgreSQL und PostGIS
PostGIS: neue geograsche Datenbank
Beispiel
CREATE DATABASE gis WITH TEMPLATE gis_template
OWNER gis;
I geometry_columns
I spatial_ref_sys
OSM und OGD in PostGIS
Einlesen der OSM-Daten
osm2pgsql
I 64-bit-Betriebssystem, >= 8 GB!
OSM und OGD in PostGIS
Einlesen der OSM-Daten
osm2pgsql
I 64-bit-Betriebssystem, >= 8 GB!
I Download von Geofabrik
OSM und OGD in PostGIS
Einlesen der OSM-Daten
osm2pgsql
I 64-bit-Betriebssystem, >= 8 GB!
I Download von Geofabrik
I Skript auf der Vortragshomepage
OSM und OGD in PostGIS
Einlesen der OSM-Daten
OSM-Daten in PostGIS
I Basistabellen: osm_austria_lines, osm_austria_point,
osm_austria_polygon
I osm_austria_roads
OSM und OGD in PostGIS
Einlesen der OSM-Daten
OSM-Daten in PostGIS
I Basistabellen: osm_austria_lines, osm_austria_point,
osm_austria_polygon
I osm_austria_roads
I Einträge in geometry_columns
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Einfache Abfragen
Bundesländer
Beispiel
SELECT DISTINCT name
FROM osm_austria_polygon
WHERE boundary='administrative'
AND admin_level = '4'
ORDER BY name;
name
Bayern
Burgenland
Kärnten
Niederösterreich
Oberösterreich
Salzburg
Steiermark
Tirol
Vorarlberg
Wien
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Einfache Abfragen
Häugste Namen von Restaurants
Beispiel
SELECT name, COUNT(osm_id)
AS anzahl
FROM osm_austria_point
WHERE amenity = 'restaurant'
AND name <> GROUP BY name
ORDER BY anzahl DESC
LIMIT 10
name
Kirchenwirt
Gasthof zur Post
Pizzeria
Gasthaus
Dorfwirt
Interspar Restaurant
Asia
Pizzeria Venezia
Mensa
Gasthof Post
anzahl
43
16
13
11
10
9
9
9
8
7
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Abfragen mit geograschen Funktionen
Ö-Haltestellen in der Nähe
Beispiel
WITH fh_technikum AS (
SELECT way FROM osm_austria_polygon
WHERE name = 'FH Technikum Wien'
)
SELECT DISTINCT p.name,
CASE WHEN p.highway = 'bus_stop' THEN 'Bushaltestelle'
WHEN p.railway = 'subway_entrance' THEN 'U-Bahn-Station'
ELSE 'Straÿenbahnhaltestelle'
END AS art,
ROUND(ST_Distance(p.way, fh.way)) AS "Entfernung (m)"
FROM osm_austria_point p
INNER JOIN fh_technikum fh ON ST_Distance(p.way, fh.way) < 250
WHERE (highway = 'bus_stop' OR railway IN ('subway_entrance', 'tram_stop'))
ORDER BY ROUND(ST_Distance(p.way, fh.way));
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Abfragen mit geograschen Funktionen
Ergebnis: Ö-Haltestellten
name
art
Entfernung (m)
Höchstädtplatz
Straÿenbahnhaltestelle
34
Höchstädtplatz
Straÿenbahnhaltestelle
64
Höchstädtplatz
Bushaltestelle
74
Höchstädtplatz
Bushaltestelle
89
Höchstädtplatz
Straÿenbahnhaltestelle
113
Dresdner Straÿe
Straÿenbahnhaltestelle
173
Dresdner Straÿe
Bushaltestelle
181
Dresdner Straÿe
Bushaltestelle
199
Dresdner Straÿe (Meldemannstraÿe)
Bushaltestelle
228
Pasettistraÿe
U-Bahn-Station
235
Dresdner Straÿe
U-Bahn-Station
237
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Geodaten-Feld im Ergebnis
Koordinaten des Riesenrades
Beispiel
SELECT name, way, ST_AsText(way) AS äche
FROM osm_austria_polygon
WHERE name = 'Riesenrad';
name
way
äche
Riesenrad
01030000. . . 08C1D41
POLYGON((627460.39 484102,...))
(way und äche abgekürzt)
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Views und Tabellen
View für die Bundesländer
Beispiel
CREATE VIEW osm_bundesländer_namen AS
SELECT DISTINCT name
FROM osm_austria_polygon
WHERE admin_level = '4'
AND boundary='administrative'
AND name NOT IN ('Bayern')
ORDER BY name;
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Views und Tabellen
Bundesländer-Tabelle mit Geodaten
Beispiel
CREATE TABLE osm_bundesland AS
SELECT MIN(osm_id) AS id, name, ST_Collect(way) AS geo
FROM osm_austria_polygon
WHERE admin_level = '4'
AND boundary='administrative'
AND name NOT IN ('Bayern')
GROUP BY name
ORDER BY name;
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Views und Tabellen
Neue Tabelle/View registrieren
I Erfassung der neuen Tabelle (View) in geometry_columns
Beispiel
SELECT
Populate_Geometry_Columns('osm_bundesland'::regclass);
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Views und Tabellen
Neue Tabelle/View registrieren
I Erfassung der neuen Tabelle (View) in geometry_columns
Beispiel
SELECT
Populate_Geometry_Columns('osm_bundesland'::regclass);
I Notwendig für die meisten Clients
I Überprüfungen, Konsistenzregeln automatisch hinzugefügt
OSM und OGD in PostGIS
Arbeit mit Geodaten in PostGIS
Views und Tabellen
Beispiele geograscher Funktionen
I ST_Area
I ST_Transform
I ST_Buer
I ST_GeomFromText
OSM und OGD in PostGIS
Open Data importieren
Open Government Data in Österreich
Open Government Data in Österreich
I data.gv.at
I
I
Portal zu den Open-Data-Seiten öentlicher Institutionen
Suchfunktion
OSM und OGD in PostGIS
Open Data importieren
Open Government Data in Österreich
Open Government Data in Österreich
I data.gv.at
I
I
Portal zu den Open-Data-Seiten öentlicher Institutionen
Suchfunktion
I (statistik.at)
OSM und OGD in PostGIS
Open Data importieren
Datenimport mit RapidMiner
RapidMiner
I Open-Source-Software für Data Mining und analytische
Datenintegration
OSM und OGD in PostGIS
Open Data importieren
Datenimport mit RapidMiner
RapidMiner
I Open-Source-Software für Data Mining und analytische
Datenintegration
I
Datenanalyse, Visualisierung, Vorhersagen
OSM und OGD in PostGIS
Open Data importieren
Datenimport mit RapidMiner
RapidMiner
I Open-Source-Software für Data Mining und analytische
Datenintegration
I
Datenanalyse, Visualisierung, Vorhersagen
I
Datenimport, Verarbeitung, Export
OSM und OGD in PostGIS
Open Data importieren
Datenimport mit RapidMiner
RapidMiner
I Open-Source-Software für Data Mining und analytische
Datenintegration
I
Datenanalyse, Visualisierung, Vorhersagen
I
Datenimport, Verarbeitung, Export
I Leicht zu bedienende GUI
OSM und OGD in PostGIS
Open Data importieren
Datenimport mit RapidMiner
RapidMiner
I Open-Source-Software für Data Mining und analytische
Datenintegration
I
Datenanalyse, Visualisierung, Vorhersagen
I
Datenimport, Verarbeitung, Export
I Leicht zu bedienende GUI
I Automatisierung
I
I
Befehlszeile
RapidAnalytics
OSM und OGD in PostGIS
Open Data importieren
Datenimport mit RapidMiner
RapidMiner-Oberäche
OSM und OGD in PostGIS
Open Data importieren
Datenimport mit RapidMiner
Datenimport mit RapidMiner
OSM und OGD in PostGIS
Ausblick
Ausblick
I Publikation freier Karten
OSM und OGD in PostGIS
Ausblick
Ausblick
I Publikation freier Karten
I Interaktive Karten im Web
OSM und OGD in PostGIS
Ausblick
Ausblick
I Publikation freier Karten
I Interaktive Karten im Web
I Analytik
OSM und OGD in PostGIS
Ausblick
Fragen?
Anleitung:
Scan:
http://tud.at/linuxwochen/2013-osm-postgis/
Herunterladen