ACHTUNG: „DRAFT“.
Dieser Text wird bis zur letzten Stunde der Übung fortgeschrieben und verbessert.
Autor: Franz Xaver Schütz
Ort: Tübingen
Jahr: 2011
Stand dieser Information: 19.4.2011. Zu den Übungen vom 20.4.2011, 27.4.2011, 4.5.2011.
Falls Sie Fehler finden (Rechtschreibung/ Inhalt), bitte e-mail an:
franz.schuetz@geographie.uni-tuebingen.de
Ziel der ersten Übungsstunden:
Vorstellung von Software und Daten, die wir benutzen wollen
Installation von xampp, Installation von mySQL, "erste Schritte" in mySQL (ein RDBMS vgl. Referate)
Installation von MicroDEM, laden von Raster- und Vektordaten (vgl. Referate)
Vorstellung von verschiedensten Verfahren räumlicher Analyse (mySQL, MicroDEM, vgl. Referate), erstes JAVA-Programm.
Software und Daten, die wir in der Übung benutzen werden.
Sämtliche Software ist frei verfügbar, sofern wir sie lediglich für unsere Übungszwecke benutzen (for non-commercial use only!). Bitte lesen und beachten Sie vor der Benutzung das Copyright!
Abb. 1: Programme
db4o-7.4-java.zip : db4o object-oriented DBMS
eclipse-java-ganymede-SR2-win32.zip : Eclipse Ganymede for JAVA
HalloGEO44.java : unser erstes JAVA-Programm
jdk-1_5_0-windows-i586.exe : JAVA Development Kit
microdem_setup.exe : Installationsprogramm zu MicroDEM
microdemdown.htm : Auszug aus der Homepage von MicroDEM
xampp-linux-1.7.3a.tar.gz : xampp for LINUX
xampp-macosx-1.7.3.dmg : xampp for MAC OS X
xampp-win32-1.7.3.zip : xampp for MS-WINDOWS
Abb. 2: Daten (zu den Daten und Datenquellen vgl. im folgenden Text)
Abb. 3: Texte
db4o Whitepaper - Agile Techniques... : Whitepaper objekt-orientierte Datenbank db4o
db4o Whitepaper - The Database... : Whitepaper objekt-orientierte Datenbank db4o
EGENHOFER_FRANK_1992.pdf : Aufsatz zu "Object-Oriented Modeling for GIS"
gis_report_2007_1.pdf : "GIS-Report 2007/08"
gisreport_0809.pdf : "GIS-Report 2008/09"
Inhalt_Zeppenfeld-Wolters.pdf : Inhaltsverzeichnis - Lehrbuch der Grafikprogrammierung
Klausur_Geo44_SS2010.pdf
PostGIS_manual.pdf : "PostGIS 1.4.0 Manual"
PostGRESQL_8.pdf : "PostgreSQL 8.4.0 Documentation"
refman-4.0-de.a4.pdf : MySQL 4.0 Referenzhandbuch (deutsche Übersetzung)
refman-5.0-en.a4.pdf : MySQL 5.0 Reference Manual (End of Product Lifecycle)
refman-5.4-en.pdf : MySQL 5.4 Reference Manual
Shapefile.pdf : ESRI Shapefile Technical Description
Installation von xampp
Wir entpacken die Datei xampp-win32-1.7.3.zip im Hauptverzeichnis (E:\ oder C:\ auf Ihrer lokalen Festplatte) vgl. Abb. 4:
Abb. 4: "Unpacking xampplite“ bzw. "xampp".
Aufruf der Eingabeaufforderung (unter MS Windows): Start/Ausführen/cmd (vgl. Abb. 5):
Abb. 5 : Eingabeaufforderung
Verzeichniswechsel mit: cd \xampplite bzw. \xampp (vgl. Abb. 6)
Abb. 6: Verzeichniswechsel
Start von mySQL server: mysql_start (vgl. Abb. 7)
Abb. 7: mysql_start
Verzeichniswechsel: cd /mysql/bin (vgl. Abb. 8)
Abb. 8: Verzeichniswechsel
Start von mySQL als "root": mysql -u root (vgl. Abb. 9)
Abb. 9: Start von mysql als "root"
Anlegen einer neuen Datenbank (vgl. Abb. 10):
Abb. 10: Anlage einer neuen Datenbank
Aufruf der neu angelegten Datenbank geo44, Anlage einer ersten Tabelle (table), Eingabe eines ersten "Datensatzes" ("data set"), Auswahl und Anzeige aller "Datensätze" (vgl. Abb. 11):
Abb.
11: "Using geo44"
Das Kommando "show databases" zeigt alle verfügbaren Datenbanken, das Kommando "show tables" zeigt alle Tabellen einer mit "use" ausgewählten Datenbank (vgl. "Reference manuals" von mySQL).
Hausaufgaben (bis spätestens 11.5.2011):
1. Installation von xampp auf einem Rechner ausserhalb des CIP-Pools (unter WINDOWS, MAC
OS oder LINUX)
2. Start von mySQL als "root"
3. Anlegen einer neuen Datenbank (mit "CREATE")
4. Einfügen von Datensätzen (mit "INSERT")
5. Einfügen von mindestens 10 neuen Datensätzen
6. Anzeige aller Datensätze (mit "SELECT")
7. Durcharbeiten der Handbücher von mySQL, insbesondere die Kapitel zu "spatial data types"
(geometry - Class [OGC-Standard] from version 5.0 onwards).
Hinweis: Bei Fehlern kann der mySQL-server manuell beendet werden. Dazu wird das Kommando mysql_stop (vgl. Abb. 12) benutzt:
Abb. 12: Stopping Service "mysql"
Die wichtigste "SQL Query" lautet: SELECT ... FROM ... WHERE (vgl. Abb. 13):
Abb. 13: SELECT ... FROM ... WHERE
Beispiele für SQL "clauses" und "group functions" GROUP BY, COUNT (), MAX (), SUM (), AVG ()
(vgl. Abb. 14):
Abb. 14: SQL clauses und group functions
Freie Geodaten unter http://www.geonames.org (cities1000.zip , vgl. Abb. 2).
Hausaufgabe (bis spätestens 11.5.2011):
Bitte konvertieren Sie die Geodaten in der Datei cities1000.txt (in cities1000.zip enthalten) in eine SQL-fähige Datenbank im Microsoft Access Format. Nach der Konvertierung formulieren Sie bitte eine SQL Abfrage in Microsoft Access, um alle "alternate names" für die Stadt "Tübingen" in Ihrer neuen cities1000-SQL-Datenbank zu finden (vgl. z.B. Abb. 15). Prüfen Sie bitte für 30 Orte in der Datenbank, wie genau die lat/lon Daten sind.
Abb. 15: Einige "alternate names" für die Stadt "Tübingen"
Mögliche Lösung in OpenOffice.org Calc am Beispiel einer anderen Datei (selbe Datenstruktur bzw. Datenformat):
Schritt 1: Import von „tab-delimited text“ in utf8 Codierung mit OpenOffice Calc oder Microsoft Excel (vgl. Abb. 16) als Beispiel für den Import der Datei NG.txt (ebenfalls unter www.geonames.org zu finden) mit OpenOffice Calc:
Abb. 16: Import von NG.txt mit OpenOffice Calc
Schritt 2: Sichern als .xls-Datei (vgl. Abb. 17):
Abb. 17: Sichern der importierten Datei NG.txt als .xls Datei mit OpenOffice Calc
Schritt 3: Import der .xls Datei in eine Datenbank (Microsoft Access, vgl. Abb. 18):
Abb. 18: Import von cities1000.xls in Microsoft Access.
V
Viele
von Ihnen haben in der Vorbesprechung aufgeschrieben, dass Sie schon
mit Microsoft Access gearbeitet haben. Daher benutzen wir Access für
dieses Beispiel und für die Hausaufgabe. Sie sollen die Datei
cities1000.xls in Access importieren und eine SQL Abfrage mit
"SQL-Ansicht erstellen (vgl. Abb. 18, 19).
Abb. 19: SQL Abfrage, die alle "alternate names" von "Tübingen" und Koordinaten (48.52266, 9.05222) zeigt.
Nach den Referaten sollten Sie sich das Kapitel "calculations" im MySQL reference manual nochmals genauer anschauen. Wichtig: "All calculations are done assuming Euclidean (planar) geometry" (vgl. Abb. 20). Viele „basic spatial functions“ sind in mySQL verfügbar (vgl. Abb. 21).
Abb. 20: Euclidean (planar) geometry
Abb. 21: Einige“ basic „spatial functions“ in MySQL
Um die Distanz zwischen 2 Punkten zu berechnen, benutzen wir das Kommando, das in Abb. 22 zu sehen ist. Bitte beachten Sie, dass Koordinaten im „Well-Known Text (WKT) Format“ ohne Komma dargestellt werden (vgl. Abb. 22: LineString (1 1, 2 2, 3 3) und Abb. 23).
Abb. 22: Berechnung der Entfernung zwischen Punkt (1,1) und Punkt (3,3)
Abb. 23: Ergebnis von zwei Abfragen in MySQL
Java
Jetzt werden wir unser erstes Java-Programm schreiben. Wir benutzen dazu die bereits in den Computerpools installierte Software eclipse (vgl. auch Abb. 1).
Abb. 24: Schritt 1: Start von eclipse GANYMEDE und Auswahl eines „workspace“
Abb. 25: Schritt 2: Beenden des "Welcome"-screen
Abb. 26: Schritt 3: File-New-Java Project
Abb. 27: Schritt 4: „Create the Java Project Geo44" und „Project layout“
Abb. 28: Schritt 5: File-New-Class
Abb. 29: Schritt 6: Name: "HalloGEO44". Achtung: alle Bezeichner und Eingaben in Java sind „case sensitive“! D.h. Gross- und Kleinschreibung beachten.
Abb. 30: Schritt 7: Markiere und lösche die automatisiert erzeugte Klasse
A
bb.
31: Schritt 8: Ersetze die automatisiert erzeugte Klasse mit dem Text
aus der Datei "HelloGEO44.java"
Abb. 32: Schritt 9: Verändere den Text "Programmierer/in" zu "Programmiererin" oder zu "Programmierer" und rufe „Run as“ – „Java application“ auf
A
Abb.
33: Schritt 10: "Always
save resources before launching".
Bitte alle Quelldateien immer sichern
Abb. 34: Schritt 11: Congratulations! Your first Java program is running !
Hausaufgabe (bis 11.5.2011):
Eclipse GANYMEDE auf einem Rechner ausserhalb des Computerpools installieren und das Programm HalloGEO44 „zum laufen bringen“.
Abb. 35: "Download" von SRTM-Daten im Format GeoTIFF.
Eine Quelle zur Beschaffung von (Geo)Daten, insbesondere von DEM, stellt die home page von CGIAR dar (vgl. Abb. 35). Die Daten in der Datei "srtm_38_03.zip" (vgl. Abb. 2) werden von uns für die Berechnungen und Demonstrationen mit dem Programm MicroDEM (vgl. Abb. 37 und 38) verwendet.
MicroDEM
MicroDEM ist ein "Freeware GIS", das von Peter Guth programmiert wird (vgl. www.usna.edu/Users/oceano/pguth/website/microdem.htm und Abb. 36).
Abb. 36: Teil der home page von MicroDEM .
MicroDEM zeichnet sich insbesondere durch Offenlegung der verwendeten Algorithmen im Bereich Interpolation und Reliefanalyse aus (vgl. Abb. 38-43).
Abb. 37: File | Open | Open DEM
Nach der Installation von MicroDEM durch Aufruf der Datei microdem_setup.exe (vgl. Abb. 1) lassen sich viele DEM-Daten direkt laden und analysieren. Mit der Befehlsfolge File | Open | Open DEM lassen sich z.B. SRTM Daten im Format GeoTIFF (vgl. Abb. 35) direkt laden (vgl. Abb. 37, 38).
Abb. 38: SRTM_38_03.TIF Slope Map (8 neighbors (even)).
Abb. 38 zeigt die SRTM Daten in der Farbeinstellung "Rainbow", als "Slope Algorithm" wurde "8 neighbors (even)" gewählt. Wie in Abb. 38 zu sehen, lassen sich viele weitere Berechnungsmethoden ("Algorithms") einstellen.
MicroDEM verfügt über eine sehr umfangreiche und ausführliche Hilfefunktion in der Datei microdem.chm (vgl. Abb. 39-43).
Abb. 39: Thema "Regional Geomorphic Parameters" aus MICRODEM Help
Abb. 40: Thema "Reflectance Map Options" aus MICRODEM Help
Abb. 41: "Implemented Slope Algorithms in MICRODEM".
Abb. 42: "Selected References" in der MicroDEM Hilfe.
Abb. 43: "Cumulative Strahler curve" in MicroDEM.
In MicroDEM sind zudem viele weitere Funktionen implementiert, z.B. auch die "Disaster Response Map Symbols (DRMS)" als Unterstützung für Katastrophen- und Krisenmanagement.
Hausaufgabe (bis 11.5.2011)
Installieren Sie MicroDEM bitte auf einem Rechner ausserhalb des Computerpools. Laden Sie die Datei srtm_38_03.tif. „Erkunden“ Sie die räumlichen Analysefunktionalitäten von MicroDEM durch Lesen der Hilfe-Datei und „Ausprobieren“ von Funktionen, z.B. “Fly“ oder „Reflectance Map“.
Datenschutzerklärung | Impressum