Kurs PostGIS Einführung: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(Uebungen)
(Uebungen)
Zeile 93: Zeile 93:
 
   (SELECT Transform(the_geom,4326) FROM staedte_schweiz WHERE "FULL_NAME" = 'Zürich'),
 
   (SELECT Transform(the_geom,4326) FROM staedte_schweiz WHERE "FULL_NAME" = 'Zürich'),
 
   'SPHEROID["Bessel 1841",6377397.155,299.1528128]');
 
   'SPHEROID["Bessel 1841",6377397.155,299.1528128]');
 +
</pre>
 +
 +
=== Selektiere Orte (Tabelle staedte_schweiz) und zugehörige Seen (Tabelle Seen) die innerhalb eines Radius von 75 km von Bern sind und ein Ort nicht mehr als 5km von einem See entfernt sind (Tabelle Seen) ===
 +
<pre>
 +
-- Achtung: kartesische Distanz, nicht ellipsoidische!
 +
SELECT sta."FULL_NAME", se.name FROM staedte_schweiz sta, seen se
 +
  WHERE ST_DWithin(sta.the_geom,(SELECT the_geom FROM staedte_schweiz WHERE "FULL_NAME" = 'Bern'),75000) AND
 +
  ST_DWithin(sta.the_geom,se.the_geom,5000) ORDER BY sta."FULL_NAME";
 
</pre>
 
</pre>
  

Version vom 15. Oktober 2007, 16:11 Uhr

GISpunkt-Seminar: Einführung in PostGIS/PostgreSQL (Kürzel Sem_PostGIS)

Durchführung vom 12. Oktober 2007, 9:00 bis 16:30 Uhr.

Siehe auch:

Programm (aktuell)

Programm:

  • Kap.1 Einführung
  • Kap.2 Geodatenmodell, Datenverwaltung und -Abfrage über SQL
  • Kap.3 DB-Clients / Administration und Anlegen einer DB
  • Kap.4 Datensicherung / Datenaustausch
  • Kap.5 PostGIS-Schnittstellen / Datenkonvertierung
  • Kap.6 PostGIS-Architektur
  • Kap.7 PostGIS-Funktionen
  • Kap.8 Anzeigen PostGIS-Daten mit QGIS und OpenJump
  • Kap.9 PostGIS in UMN MapServer und SVG (Demo)
  • Kap.10 Koordinaten-Referenzsysteme; Performance
  • Kap.11 Selbststudium: Projekt
  • Kap.12 Ausblick

Uebungen:

Software

Selbststudium

Teilnehmer:

Organisatorisches:

  • Das Ziel ist das Festigen des Gehörten und Erlernten. Der Auftrag ist, das selbständige Erstellen und Testen eines selbst ausgewählten Datensatzes mit dokumentierten Abfragen.
  • Zeitumfang: 14h
  • Abgabe: 1. November 2007 (Einträge im Wiki und Mail)
  • Die wichtigsten Bewertungskriterien sind u.a.:
    • Termintreue (gem. Abgabetermine);
    • Vollständigkeit (gem. Lieferdokumente);
    • Dokumentation (Umfang > 2 Seiten; Sprache/Verständlichkeit; Darstellung);
    • Originalität (keine 1:1-Übernahme der Übungen).
  • An ECTS angelehnte Bewertungs-Skala:
    • Wertung 'sehr gut' für eine hervorragende Leistung;
    • Wertung 'gut' für eine Leistung, die erheblich über den durchschnittlichen Anforderungen liegt.
    • Wertung 'befriedigend' für eine Leistung, die durchschnittlichen Anforderungen entspricht.
    • Wertung 'ausreichend' für eine Leistung, die trotz ihrer Mängel noch den Anforderungen genügt.
    • Wertung 'nicht ausreichend' für eine Leistung, die wegen ihrer Mängel den Anforderungen nicht genügt und Verbesserungen erfordert, bevor sie anerkannt werden kann.
    • Wertung 'nicht bestanden' für eine Leistung, die derart erhebliche Mängel enthält, dass sie nicht anerkannt werden kann.

Lieferdokumente:

  • Eintrag in diesem Wiki (vgl. "Name des Seminarteilnehmers...") gemäss Vorlage Sem_PostGIS Stefan
  • Projektdaten (möglichst komplett, lauffähige Scripts, etc.)
  • Mail an Seminarleiter

Verzeichnis-Struktur:

  • rawdata
  • data
  • queries

Queries:

  1. Ganzer Datensatz ein „Thema“
  2. Umprojizieren
  3. Als KML speichern
  4. Ausschnitt
  5. Buffer rund um einen Ausschnitt
  6. Overlay

Uebungen

Hier einige Abfragen die mit dem Übungsdatensatz gemacht werden können:

Die Koordinate von Bern (Tabelle staedte_schweiz) als Lat/Lon, WGS84 ausgeben

SELECT AsText(Transform(the_geom,4326)) FROM staedte_schweiz WHERE "FULL_NAME" = 'Bern';

Spheroidische Distanz zwischen Bern und Zürich, basierend auf Bessel 1841 Ellipsoid

SELECT ST_distance_spheroid(
  (SELECT Transform(the_geom,4326) FROM staedte_schweiz WHERE "FULL_NAME" = 'Bern'),
  (SELECT Transform(the_geom,4326) FROM staedte_schweiz WHERE "FULL_NAME" = 'Zürich'),
  'SPHEROID["Bessel 1841",6377397.155,299.1528128]');

Selektiere Orte (Tabelle staedte_schweiz) und zugehörige Seen (Tabelle Seen) die innerhalb eines Radius von 75 km von Bern sind und ein Ort nicht mehr als 5km von einem See entfernt sind (Tabelle Seen)

-- Achtung: kartesische Distanz, nicht ellipsoidische!
SELECT sta."FULL_NAME", se.name FROM staedte_schweiz sta, seen se
  WHERE ST_DWithin(sta.the_geom,(SELECT the_geom FROM staedte_schweiz WHERE "FULL_NAME" = 'Bern'),75000) AND
  ST_DWithin(sta.the_geom,se.the_geom,5000) ORDER BY sta."FULL_NAME";

Quellen

Bücher:

  • PostgreSQL, Korry Douglas & Susan Douglas, Sams Verlag, 2003, ISBN 10 0735712573.
  • PostgreSQL ge-packt, Peter Eisentraut, mitp Verlag, 2005, ISBN 3-8266-1493-3.

Dokumentation und Tutorien siehe PostgreSQL und PostGIS.