Workshop „Einführung in Geokettle“

Werbung
Workshop
„Einführung in Geokettle“
13.03.2015
1
Agenda
13.03.2015
●
Vorstellung GeoKettle
●
Wichtige Begriffe
●
Erste Schritte mit GeoKettle
●
Transformationen anlegen und bearbeiten
●
Import Shapefile in Datenbank
●
Koordinatentransformation
●
Veränderung von Sachdaten
●
Aufsplitten von Shapefiles
FOSSGIS 2015 in Münster
2
Lernziel
●
Kennenlernen von GeoKettle.
●
Grundbegriffe in GeoKettle kennen.
●
Starten von GeoKettle und zurechtfinden in der
Benutzeroberfläche.
●
Kennenlernen von verschiedenen Transformationen
●
Anlegen und bearbeiten von eigenen Transformationen
13.03.2015
3
1 Vorstellung GeoKettle
13.03.2015
FOSSGIS 2015 in Münster
Was ist GeoKettle?
●
GeoKettle ist eine ETL-Programm für räumliche Daten
–
E => Extract
–
T => Transform
–
L => Load
13.03.2015
FOSSGIS 2015 in Münster
Was ist GeoKettle?
●
●
Es basiert auf der OpenSource-Software Pentaho Data
Integration (Kettle)
GeoKettle unterstützt viele OpenSource Bibliotheken
–
JTS
–
GeoTools
–
deegree
–
gdal/ogr
–
sextante
13.03.2015
FOSSGIS 2015 in Münster
Betriebsarten
●
Es existieren mehrere Möglichkeiten mit GeoKettle zu
arbeiten:
–
Spoon
–
Pan
–
Kitchen
–
Carte
13.03.2015
FOSSGIS 2015 in Münster
Spoon
●
●
Graphische Oberfläche, um Transformationen und Jobs zu
erstellen.
Die hier angelegten Transformationen und Jobs werden
entweder als xml (.ktr) oder in einer Datenbank (Repository)
abgespeichert.
13.03.2015
FOSSGIS 2015 in Münster
Pan/Kitchen
●
●
●
Pan ist ein Programm, das Transformationen ausführt, die in
spoon erstellt wurden.
Kitchen ist ein Programm, das Jobs ausführt, die in spoon
erstellt wurden.
Beide arbeiten mit der Kommandozeile und werden unter
Windows über mit pan.bat/kitchen.bat und unter Linux und
OSX mit pan.sh/kitchen.sh aufgerufen.
13.03.2015
FOSSGIS 2015 in Münster
2. Wichtige Begriffe
13.03.2015
FOSSGIS 2015 in Münster
Repository
●
●
Speicherung von Transformationen und Jobs in einer
Datenbank. Datenbank wird Repository genannt.
Vorteile:
–
Es können mehrere Benutzer auf einen zentralen Bestand
zugreifen.
–
Der Zugang zur Datenbank ist mandantenfähig
(Rechte/Rollen).
–
Es können Änderungen an den Transformationen und Jobs
nachvollzogen werden.
13.03.2015
FOSSGIS 2015 in Münster
Transformation
●
●
●
Eine Transformation besteht aus einem Satz an Operationen,
die mit den Daten vollzogen werden sollen.
Sie bestehen aus mehreren Steps, die durch Hops
verbunden werden.
In den Transformationen wird mit den Daten „gearbeitet“.
13.03.2015
FOSSGIS 2015 in Münster
Hops in Transformationen
●
Es gibt drei verschieden
Arten von Hops:
copy
–
copy
–
distribute
–
conditional
distribute
conditional
13.03.2015
FOSSGIS 2015 in Münster
Job
●
●
●
Jobs sind den Transformationen „übergeordnet“.
Sie kontrollieren den Ablauf von Transformationen und/oder
anderer Jobs.
Die Schritte in den Jobs werden immer nacheinander
abgearbeitet (Innerhalb einer Transformationen kann auch
parallel gearbeitet werden).
13.03.2015
FOSSGIS 2015 in Münster
Hops in Jobs
●
Bei den Jobs gibt es zwei
verschiedene Hop-Arten:
–
unconditional (werden
immer ausgeführt)
–
conditional (wird in
Abhängigkeit vom
vorherigen Ergebnis
ausgeführt)
13.03.2015
FOSSGIS 2015 in Münster
3. Erste Schritte mit GeoKettle
13.03.2015
FOSSGIS 2015 in Münster
Starten von GeoKettle
●
GeoKettle wird über die üblichen Wege gestartet.
●
Im „Begrüßungsbildschirm“ gibt es zwei Möglichkeiten
–
Starten ohne Repository => Dateibasiert
–
Starten mit Respository => Datenbankbasiert
13.03.2015
FOSSGIS 2015 in Münster
Benutzeroberfläche (Ubuntu)
Hauptmenü
Menüleiste
Arbeitsfläche
Sidebar
Ergebnisanzeige
13.03.2015
FOSSGIS 2015 in Münster
Benutzeroberfläche / Sidebar
13.03.2015
FOSSGIS 2015 in Münster
Benutzeroberfläche / Ergebnisanzeige (Step Metrics)
●
Erscheint erst, wenn eine Transformation/Job ausgeführt wird.
●
Zeigt den aktuellen Bearbeitungszustand der Steps an.
13.03.2015
FOSSGIS 2015 in Münster
Benutzeroberfläche / Ergebnisanzeige (Logging)
Log löschen
Nur Fehler
anzeigen
13.03.2015
Einstellungen fürs Logging
FOSSGIS 2015 in Münster
Benutzeroberfläche / Menüleiste (1)
Erscheint nur bei Inhalten
im Hauptfenster
neu/öffnen
Speichern/
Speichern unter
Funktionen um
Transformationen zu:
●starten
●unterbrechen
●stoppen
●vorschau
●debuggen
●nochmals auszuführen
13.03.2015
FOSSGIS 2015 in Münster
Benutzeroberfläche / Menüleiste (2)
Funktionen, um :
●Transformationen zu verifizieren
●Den Einfluss auf DB zu untersuchen
●Ein SQL zu erstellen
●Bestehende DB­
Verbindungen zu untersuchen 13.03.2015
Ergebnisanzeige öffnen/schließen
Zoomfaktor der
Arbeitsfläche ändern FOSSGIS 2015 in Münster
4. Transformationen anlegen und
bearbeiten
13.03.2015
FOSSGIS 2015 in Münster
Transformation
●
●
●
Eine Transformation besteht aus einem Satz an Operationen,
die mit den Daten vollzogen werden sollen.
Sie bestehen aus mehreren Steps, die durch Hops
verbunden werden.
In den Transformationen wird mit den Daten „gearbeitet“.
13.03.2015
FOSSGIS 2015 in Münster
Arten von Transformationen
Die einzelnen Transformationsschritte sind in folgende Gruppen
aufgeteilt
●
●
Input
Validation
●
Output
●
Statistics
●
Transform
●
Job
●
Utility
●
Mapping
●
Flow
●
Inline
●
Scripting
●
Experimental
●
Lookup
●
Deprecated
●
Joins
●
Bulk Loading
●
Data Warehouse
13.03.2015
FOSSGIS 2015 in Münster
Anlegen von Transformationen
●
Es gibt mehrere Wege eine neue Transformation
anzulegen:
–
Crtl + N (immer)
–
Über das Hauptmenü File | New | Transformation
–
Über Menüleiste (nur bei geöffnetem Inhalt im
Hauptfenster)
13.03.2015
FOSSGIS 2015 in Münster
Einfügen von Steps
●
●
●
Steps können in eine Transformation aus der Sidebar in das
Hauptfenster gezogen werden.
Dazu muss in der Sidebar „Design“ ausgewählt sein.
Steps können auch per Copy-Paste aus bestehenden
Transformationen eingefügt werden.
13.03.2015
FOSSGIS 2015 in Münster
Bearbeiten von Steps
●
Mit einem Doppelklick auf den gewünschten Step lässt sich
dieser jederzeit bearbeiten.
13.03.2015
FOSSGIS 2015 in Münster
Verbinden von Steps
1. 2 Steps auswählen
2. Rechte Maustaste
3. „New hop“ auswählen
4. Steps und Richtung
festlegen
13.03.2015
FOSSGIS 2015 in Münster
Bearbeiten von Hops
●
Mit der rechten Maustaste muss auf den Hop geklickt werden.
●
Dann stehen einem folgende Möglichkeiten zur Verfügung
–
Edit hop
–
Flip direction
–
Disable hop
–
Delete hop
13.03.2015
FOSSGIS 2015 in Münster
4.1 Import Shapefile in Datenbank
13.03.2015
FOSSGIS 2015 in Münster
Transformation / Input
●
Es können eine Vielzahl von Datenformaten für
den Input genutzt werden.
–
Über 35 Datenbanken (u.a. PostgreSQL,
Oracle, MySQL, …)
–
Shapefiles, GML, KML, OGR
–
OGC Web services
–
XML
–
MS Access
–
LDAP
–
Excel, CSV, txt
–
Etc.
13.03.2015
FOSSGIS 2015 in Münster
ESRI Shapefile Input
Eindeutigen Namen vergeben
Shapefile festlegen
Encoding festlegen
Anzahl der zu importierenden Datensätze
13.03.2015
FOSSGIS 2015 in Münster
Shapefile - Preview
●
●
●
Man kann sich die Daten in einer Vorschau anzeigen lassen.
Zuerst muss die Anzahl der Reihen/Objekte festgelegt
werden, die man sehen möchte.
Man kann sich
–
die Attributdaten und/oder
–
die Geometrien anzeigen lassen.
13.03.2015
FOSSGIS 2015 in Münster
Shapefile – Preview Attributdaten
13.03.2015
FOSSGIS 2015 in Münster
Shapefile – Vorschau Geometrie
13.03.2015
FOSSGIS 2015 in Münster
●
Es gibt eine Vielzahl an Outputformate,
z. B.
–
Räumliche Datenbanken
–
Datenformate
–
shp
● GML
● KML
● OGR
uvm.
●
13.03.2015
FOSSGIS 2015 in Münster
Outputformate
Output - PostgreSQL-Datenbank
Eindeutigen Namen vergeben
DB­Verbindung spezifizieren
Tabelle vorm Import leeren
„Mapping“ für Daten aktivieren
13.03.2015
FOSSGIS 2015 in Münster
●
●
●
Speichern in einer nicht bestehenden DB-Tabelle
Beim ersten Benutzen muss
eine Datenbankverbindung
erstellt werden.
Wenn ein anderes
Datenbankschema als
„public“ benutzt werden soll,
muss das unter „Target
schema“ eingegeben
werden.
Bestehende Tabellen
können unter „Target table“
eingegeben oder über
„Browse“ ausgesucht
werden.
13.03.2015
FOSSGIS 2015 in Münster
1. Es muss eine
Verbindung
zwischen Input
und Output
bestehen
2. DB-Verbindung
und
Tabellennamen
festlegen
Neue Tabelle anlegen (1)
2.
4.
3.
3. „Specify database
fields“ aktivieren
4. In den Reiter
„Database fields“
wechseln.
13.03.2015
FOSSGIS 2015 in Münster
Neue Tabelle anlegen (2)
5. „Get fields“ drücken, um die
Spalten aus dem Input zu
erhalten
5.
6. Table fields können noch
einmal geändert werden.
7. Button „SQL“ drücken
7.
13.03.2015
FOSSGIS 2015 in Münster
Neue Tabelle anlegen (3)
8. SQL-Statement ggf. noch
einmal anpassen.
9. Button „Execute“ drücken
8.
9.
13.03.2015
FOSSGIS 2015 in Münster
●
●
Speichern in bestehende Tabellen
Bei bestehenden Tabellen
muss kein SQL ausgeführt
werden.
Wenn die Zuordnung der
Spalten von Input zu Output
nicht eindeutig ist, kann die
Zuordnung über die
Funktion „Enter Field
mapping“ vorgenommen
werden.
13.03.2015
FOSSGIS 2015 in Münster
Übung 1: Transformation – Input/Output (1)
●
●
Erstellen Sie eine neue Transformation, bei der ein Shapefile in eine
Postgres-Tabelle eingelesen wird.
–
Shapefile: railways.shp
–
Postgres-Tabelle
●
Datenbank-Typ: PostgreSQL
●
Host: localhost
●
Port: 5432
●
DB-Name: osm_local
●
User: user
●
Password: user
Wiederholen Sie den Vorgang für die Shapfiles
–
buildings.shp
–
roads.shp
13.03.2015
FOSSGIS 2015 in Münster
4.2 Koordinatentransformation
13.03.2015
FOSSGIS 2015 in Münster
●
●
●
Transform - Allgemein
Unter Transform befinden sich
viele Steps, mit denen man die
Daten direkt manipulieren kann.
Unter Ihnen befinden sich sowohl
Steps mit räumlichen Funktionen
–
Set SRS
–
SRS Transform
–
Spatial Analysis
Als auch Steps mit denen
Sachdaten verändert werden
können:
–
Value mapper
–
Replace in String
13.03.2015
FOSSGIS 2015 in Münster
Transform – Set SRS
●
Mit diesem Step wird das Koordinatensystem des Inputs
bestimmt.
Geometriespalte bestimmen
Koordinaten­ bzw. Projektionssystem festlegen
13.03.2015
FOSSGIS 2015 in Münster
Transform – SRS Transformation
●
13.03.2015
Mit diesem Step können die Geometrien des Inputs für den
Output in ein anderes Koordinatensystem transformiert
werden.
FOSSGIS 2015 in Münster
Übung 2: Arbeiten mit Koordinatensystemen
●
Importieren Sie das Shapefile roads in eine neue PostgresTabelle. Legen Sie für das Shapefile das Koordinatensystem
mit dem EPSG-Code 4326 fest.
–
●
●
Tabellenname: roads_wgs84
Schauen Sie sich das SQL dabei genau an. Fällt Ihnen ein
Unterschied zu den bisherigen SQLs auf?
Importieren Sie nun das Shapfile in eine neue PostgresTabelle. Transformieren Sie die Daten dabei von EPSG:4326
nach UTM 32 N (EPSG: 25832).
–
13.03.2015
Tabellenname: roads_utm32
FOSSGIS 2015 in Münster
4.3 Veränderung von Sachdaten
13.03.2015
FOSSGIS 2015 in Münster
Transform – Add constant
●
●
Mit „Add constant“ können neue Attributspalten hinzugefügt
werde, die mit konstanten Werten gefüllt werden.
Ein Anwendungsfall könnte zum Beispiel sein, die Quelle mit
in die Sachdaten zu schreiben, wenn Daten aus mehreren
Quellen in einer Output vereint werden.
13.03.2015
FOSSGIS 2015 in Münster
Transform – Replace in string
●
●
Mit dieser Funktion können String in Attributen verändert
werden.
Dabei können/müssen folgende Werte angegeben werden:
–
Input stream: Feld, in dem nach dem String gesucht wird
–
Output stream: Feld in das der neue Wert geschrieben wird
–
Use RegEx: Verwendung von regulären Ausdrücken
–
Search: der zu ersetzende String
–
Replace with: Ersatz
–
Whole word: Gesuchte Ausdruck als ganzes Wort (Ja/nein)
–
Case sensitive: Groß/Kleinschreibung berücksichtigen
(ja/nein)
13.03.2015
FOSSGIS 2015 in Münster
Transform – Replace in string (2)
13.03.2015
FOSSGIS 2015 in Münster
Transform – Value Mapper
●
●
Der Value Mapper wird dazu eingesetzt, um Werte einer
Spalte konstant in einen anderen Wert umzuwandeln.
Mögliches Einsatzgebiet: Übersetzungen
13.03.2015
FOSSGIS 2015 in Münster
Übung 3: Arbeiten mit Attributwerten
Importieren Sie die Daten aus roads.shp und railways.shp in einer
Tabelle „verkehr“. Folgende Aufgaben sollen dabei gelöst werden:
Die Daten sollen in der Datenbank im Koordinatensystem UTM-32N
vorliegen. (SRS Transformation)
●
Die Attribute beider Shapefiles sollen um die Herkunft der Daten
erweitert werden (Add constant).
●
Die Attribute des Feldes Type bei railways.shp sollen übersetzt
werden in: (Value Mapper)
●
●
●
●
●
●
Rail → Eisenbahn
Subway → U­Bahn
Tram → Straßenbahn
Abandoned → außer Betrieb
Station → Bahnhof
13.03.2015
●
●
●
●
●
Proposed → in Planung
Disused → außer Betrieb
Construction → im Bau
Platform → Bahnsteig
Disused;construc → außer Betrieb
FOSSGIS 2015 in Münster
4.4 Aufsplitten von Shapefiles
13.03.2015
FOSSGIS 2015 in Münster
Flow allgemein
●
●
In der Kategorie Flow
befinden sich Steps, die den
Ablauf einer Transformation
beeinflussen.
So finden Sich hier Steps
um,
–
eine Transformation
abzubrechen
–
leere streams zu
entdecken
–
gar nichts zu machen
–
Streams aufzuteilen
13.03.2015
FOSSGIS 2015 in Münster
Flow – Switch / Case (1)
●
●
Besonders interessant ist hier der Step „Switch / Case“
Er bietet die Möglichkeit einen Stream aufzuteilen und so eine
Datenquelle aufzusplitten
Spalte auswählen
Festlegung, welche Werte in welchen Step geleitet werden
13.03.2015
FOSSGIS 2015 in Münster
Übung 4: Arbeiten mit „Switch / Case“
●
●
●
Erstellen Sie eine Transformation bei der die Inhalte der
buildings.shp auf mehrere Tabellen aufgeteilt wird. Folgende
Aufgaben sollen dabei gelöst werden:
Die Daten sollen in der Datenbank im Koordinatensystem UTM-32N
vorliegen. (SRS Transformation)
Die Daten sollen auf verschiedene Tabellen verteilt werden
–
Attributspalte für Split: type
–
Zuordnung: Wert → Tabelle
13.03.2015
●
„residential“ und „apartments“ → „wohngeb“
●
„university“ und „school“ → „bildunggeb“
●
Rest → „sonstigegeb“
FOSSGIS 2015 in Münster
Sie möchten noch mehr lernen?
Weitere Schulungen zu diesem
und anderen Themen im
Schulungsprogramm der
FOSS-Academy:
http://www.foss-academy.eu
13.03.2015
FOSSGIS 2015 in Münster
61
Vielen Dank für Ihre Aufmerksamkeit ...
Fragen?
Save the Date:
Einf. in GeoKettle
22.­23.04.2015 in Bonn
WhereGroup GmbH & Co. KG
Eifelstraße 7 | 53121 Bonn
Tel.: +49 (0)228 909038-0
Fax: +49 (0)228 909038-11
Workshop­Teilnehmer erhalten 10 % Rabatt.
[email protected]
http://www.wheregroup.com 13.03.2015
FOSSGIS 2015 in Münster
62
Herunterladen