Bachelorarbeit (pdf, 0,9 MB) - Universität Osnabrück
Bachelorarbeit (pdf, 0,9 MB) - Universität Osnabrück
Bachelorarbeit (pdf, 0,9 MB) - Universität Osnabrück
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4.1 PostGIS 29<br />
Dann wird eine PostGIS-Funktion genutzt, um eine Geometriespalte hinzuzufügen, in<br />
der die Koordinaten der Stadt gespeichert werden sollen. Die Funktion AddGeometry-<br />
Column wird mit Hilfe der SELECT-Anweisung aufgerufen. Die benötigten Parameter<br />
lauten:<br />
• Tabellenname<br />
• Spaltenname<br />
• Spatial Reference System Identier (SRID)<br />
• Geometrietyp<br />
• Dimension<br />
SELECT AddGeometryColumn ('staedte', 'XYCoordinates', -1, 'POINT', 2);<br />
Durch die aufgeführten Parameter wird in der Tabelle staedte eine Spalte XYCoordinates<br />
hinzugefügt, die einen zweidimensionalen Punkt repräsentiert [OGC 09c, vgl.<br />
S. 15 .]. PostGIS verwendet ein Spatial Reference System (SRS), welches u.a. für<br />
Koordinaten-Projektionen und Transformationen genutzt wird. Dabei stellt der Wert<br />
des Parameters SRID eine Verknüpfung (Schlüssel) zu der Tabelle spatial_ref_sys dar.<br />
Wird diese Funktionalität von PostGIS nicht verwendet, wird der Parameter auf -1<br />
gesetzt [OGC 09c, vgl. S. 13 .]. Um nun Daten in der erzeugten Tabelle hinzuzufügen,<br />
kann man sich der Funktion GeometryFromText bedienen, die mittels INSERT-Statement<br />
benutzt wird und die Geometriedaten im WKT-Format speichert.<br />
INSERT INTO staedte VALUES<br />
(1, 'Berlin', GeometryFromText('POINT (10 10)', -1));<br />
Als Parameter der Funktion GeometryFromText wird hier die WKT-Repräsentation der<br />
Geometrie, in diesem vereinfachten Beispiel ein zweidimensionaler Punkt mit den Koordinaten<br />
10, 10, sowie -1 für SRID übergeben. Zusammen mit dem INSERT-Statement<br />
wird ein Datensatz in der Tabelle staedte angelegt mit den Werten 1 als Primärschlüssel,<br />
Berlin als Name und ein zweidimensionaler Punkt mit Koordinaten 10, 10<br />
als Geometrierepräsentation [OGC 09c, vgl. S. 11 .].<br />
Um die Koordinateninformationen wieder auszulesen, bieten sich verschiedene Möglichkeiten<br />
an. Mittels der Funktion AsText wird der Wert der Geometriespalte wieder<br />
als WKT-Format zurückgegeben. Die Funktionen st_x bzw. st_y liefern den Wert der<br />
x-Koordinate bzw. y-Koordinate zurück [Mitc 08, vgl. S. 342 .]. Möchte man die Geometriespalte<br />
im SVG-Format erhalten, wählt man die Funktion AsSVG. Alle genannten<br />
Funktionen werden mit dem SELECT-Statement aufgerufen:<br />
SELECT AsSVG(XYCoordinates) FROM staedte;<br />
Analog dazu werden auch Analyse-Funktionen aufgerufen. Die Funktion Distance gibt<br />
z.B. den Abstand zweier Punkte zurück. Mit Hilfe des folgenden Aufrufs werden die<br />
Namen aller Städte ausgegeben, deren Abstand zu einem Referenzpunkt (refX, refY)<br />
kleiner als 10 ist: