Zurück zu Dbs2.
Übungsdaten 'gisdb' mit Geodaten (Gemeinden, Flüsse, Orte und Zeckengebiete) der Schweiz. Siehe Dbs2FS12UebW04.
- Schreiben Sie eine Query, die alle Gemeinden selektiert, deren Fläche grösser als 100 km2 ist.
- Beachten Sie, dass die Längeneinheit in CH1903 'Meter' ist.
- Wiederholen Sie zur Kontrolle dasselbe mit einer Attributabfrage in OpenJUMP (Werkzeuge -> Abfragen -> Attribut-Abfrage...).
- Schreiben Sie eine Query, die alle Gemeinden selektiert, die an die Gemeinde Rapperswil-Jona angrenzen.
- Wiederholen Sie zur Kontrolle dasselbe mit einer Datenbankabfrage in OpenJUMP.
- Beachten Sie, dass Sie dazu eine Attribut-Abfrage und eine Räumliche Abfrage kombinieren müssen.
- Schreiben Sie eine Query, die alle Orte (siehe Tabelle orte) im Umkreis von 10 km um die HSR (Landeskoordinaten (CH1903): 704472/231216) selektiert.
- Wiederholen Sie zur Kontrolle dasselbe mit einer Datenbankabfrage in OpenJUMP:
- Erzeugen Sie eine neue Ebene und platzieren Sie einen Punkt mit der Maus.
- Wählen Sie den Punkt aus (siehe Pfeil-Tool 'Objekte auswählen') und benutzen Sie Bearbeiten -> Ausgewähltes Objekt anzeigen / bearbeiten um den Punkt genau auf die oben angegebenen Koordinaten zu setzen.
- Mit dieser Hilfsebene können Sie nun wieder eine Räumliche Abfrage erstellen.
- Schreiben Sie eine Query, die alle Orte selektiert, die in einer Pufferzone von 2 km um den Fluss Emme liegen.
- Wiederholen Sie zur Kontrolle dasselbe mit einer Datenbankabfrage in OpenJUMP:
- Isolieren Sie den Fluss Emme auf einer Ebene.
- Erzeugen Sie eine Pufferzone um die Emme (Werkzeuge -> Erzeuge -> Puffer...).
- Erstellen Sie die entsprechende Räumliche Abfrage.
- Schreiben Sie eine Query, die alle Gemeinden im Kanton Zürich (siehe Tabelle gemeinde den Wert kt=1) selektiert, die nicht in einem Zecken-Hochrisikogebiet liegen.
- Wiederholen Sie zur Kontrolle dasselbe mit einer Datenbankabfrage in OpenJUMP.
- Beachten Sie dazu im Dialog Räumliche Abfrage den Punkt Komplementär-Ergebnis (Umkehrung).
- Schreiben Sie eine Query, die sämtliche Gemeinden selektiert, durch die der Fluss Emme fliesst.
- Wiederholen Sie zur Kontrolle dasselbe mit einer Datenbankabfrage in OpenJUMP.
- Starten Sie das PostGIS Terminal
- Schreiben Sie eine Query, um alle Bars in der Stadt Zürich auf der Karte zu visualisieren.
- Nähere Informationen zum PostGIS Terminal bekommen Sie hier. Informationen zu den OpenStreetMap POIs siehe hier.
- Aufgabe a) Verwenden Sie die Funktion Relate (vgl. "Dimensionally Extended 9-Intersection Model", DE-9IM) mit der Syntax ST_Relate(geom_a, geom_b), wobei Sie als Geometrien zwei beliebige Linien mit Hilfe von LINESTRING selbst erstellen. Sinngemäss nach dieser Vorlage:
SELECT ST_AsText(pa) AS geom
FROM (
SELECT ST_GeomFromText('LINESTRING(1 3, 9 6)') AS pa
) AS foo;
- Wählen Sie die Koordinaten der beiden Linien so, dass Sie sich schneiden, d.h. wie ein "X" (die Linien müssen in keinem bestimmten Koordinatenreferenzsystem sein).
- Aufgabe b) Interpretieren Sie das resultierende Pattern mit Hilfe dieser Dokumentation der 9-Dimensional Matrix-Patterns.
- Zeichnen Sie auf einem Papier eine 3x3-Tabelle und beschriften Sie deren Spalten und Kolonnen mit "interior", "boundary" und "exterior".
- Übertragen Sie das Pattern dort hinein.
- Gehen Sie alle 9 Felder durch und kreuzen Sie sie ab.
- Falls Sie dabei Mühe haben, können Sie sich das Resultat visualisieren lassen. Gehen Sie dazu erneut zum PostGIS Terminal und geben Sie das Pattern in das Feld Relate exemplified (bool) ein; wählen Sie 2x li für Line Geometry und drücken Sie dann auf +. Sie sollten dann eine Skizze sehen. (Getestet auf Firefox und Chrome. Probleme mit IE).