Hochschule Neubrandenburg Bachelor – Studiengang Geoinformatik Bachelorarbeit zum Thema Verwaltung und Ableitung von Höhenprofilen in GAIA-MV Zum Erlangen des akademischen Grades „Bachelor of Engineering“ (B.Eng.) vorgelegt von: Felix Kobel Erstprüfer: Prof. Dr.- Ing. Andreas Wehrenpfennig Zweitprüfer: Dipl.-Ing. Marco Zehner URN: nbn:de:gbv:519-thesis 2014-0112-0 eingereicht am 03.03.2014 Eidesstattliche Erklärung Eidesstattliche Erklärung Hiermit versichere ich, die vorliegende Bachelorarbeit ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. Neubrandenburg, den 03.03.2014 Unterschrift Seite 2 von 60 Danksagung Danksagung Nach Abschluss meiner Bachelor Arbeit möchte ich mich bei allen bedanken, die mich bei der Erstellung meiner Bachelor Arbeit mit Korrekturlesen, Hinweisen und Diskussionen unterstützt haben. Ich bedanke mich recht herzlich bei Herrn Prof. Dr. Andreas Wehrenpfennig für die Betreuung meiner Bachelor Arbeit und das kritische Lesen der Arbeit während der Entstehungsphase. Ein besonderer Dank gilt Herrn Marco Zehner, der mir die Möglichkeit bot, das Praxissemester meines Bachelorstudiums beim Datenverarbeitungszentrum GmbH in Schwerin zu absolvieren, aus dem das Thema dieser Arbeit hervorging. Ich bedanke mich auch für die Betreuung während des Praktikums und der Bachelor Arbeit sowie für die vielen Hinweise und Anregungen während der Arbeit. Ich danke Herrn Rechlin für die Bereitstellung seines Laptops zum Testen der Datenbank PostgreSQL mit dem Aufsatz PostGIS 2.0. Ein großer Dank gilt meinen Eltern, die mich während der Erstellung der Bachelor Arbeit unterstützt haben. Seite 3 von 60 Kurzfassung Kurzfassung Im Rahmen dieser Arbeit wurde die Verwaltung und Ablagerung von Höhenprofilen in GAIA-MVprofessional analysiert. Die bisherige Speicherung der Geodaten in GAIA-MV erfolgte mit dem Datenbanksystem PostgreSQL mit der Erweiterung PostGIS in Vektorform. Mithilfe der Einführung des Aufsatzes PostGIS ab der Version 2.0 zu dem objektrelationale Datenbanksystem PostgreSQL haben sich neue Möglichkeiten hinsichtlich der Speicherung der Daten in Rasterform ergeben. Die neuen Funktionen für die Unterstützung von Rasterdaten ermöglichen den Einsatz von effektiveren und schnelleren Verfahren zur Berechnung von Höhenprofilen. Abstract In this work, the management and disposal of height profiles in GAIA MVprofessional was analyzed. The previous storage of spatial data in GAIA-MV was performed with the database system PostgreSQL and the extension PostGIS in vector form. Using the introduction of the essay PostGIS from version 2.0 to the object-relational database system PostgreSQL have a new option of storing the data in raster form. The new features for the support of raster data allow it possible to use of more effective and faster method for calculating height profiles. Seite 4 von 60 Inhaltsverzeichnis Inhaltsverzeichnis 1 2 3 4 5 Einleitung ........................................................................................................................... 7 1.1 Hinführung zum Thema .................................................................................. 7 1.2 Vorstellung des Arbeitsumfeldes.....................................................................8 1.3 Ziel der Bachelorarbeit...................................................................................9 Verwendung von DGM-Daten ......................................................................................... 10 2.1 Private Nutzung ............................................................................................ 10 2.2 Gewerbliche und behördliche Nutzung ........................................................11 GAIA-MV ........................................................................................................................ 14 3.1 System-Umgebung (GAIA-MV) ....................................................................14 3.2 GAIA-MVprofessional .................................................................................. 16 3.3 Abfrage und Darstellung von Höhenprofilen in GAIA-MVprofessional ......17 3.3.1 Themenmanager ........................................................................... 17 3.3.2 Karteikarte „Abfrage“ ................................................................. 19 3.3.3 Karteikarte „Messen und Zeichnen“ ........................................... 19 3.3.4 Beispielstrecke in Schwerin ......................................................... 20 3.3.5 Schummerungs- und Höhenliniendarstellung .............................. 21 Digitales Geländemodell (DGM) ..................................................................................... 23 4.1 Nutzung von Rohdaten aus dem Airborne Laserscanning (ALS) .................23 4.2 ATKIS-Digitale Geländemodelle ..................................................................25 4.3 Lage- und Höhenbezugssystem .....................................................................26 4.4 Datenabgabe vom LAiV und Vorstellung der Datensätze ............................27 Varianten der Speicherung ............................................................................................... 28 5.1 PostgreSQL und PostGIS ............................................................................. 28 5.2 Räumliche Indizes .........................................................................................31 5.3 Vektorverarbeitung mit PostGIS...................................................................33 5.4 Rasterverarbeitung mit PostGIS ................................................................... 34 5.5 ERDAS APOLLO ..........................................................................................35 5.6 Umstellung auf PostGIS 2.0 ......................................................................... 36 Seite 5 von 60 Inhaltsverzeichnis 6 Berechnung des Höhenprofils .......................................................................................... 37 6.1 Höhenprofilabfrage im Vektorformat ...........................................................37 6.2 Profilabfrage einer Linie ..............................................................................38 6.2.1 Höhenprofil mit Geometrie- Auflösung........................................ 39 6.2.2 Höhenprofil mit DGM- Auflösung ............................................... 40 6.2.3 Auswahl an Punkten (Sampling) .................................................. 41 6.2.4 Analysemöglichkeiten anhand der Beispielstrecke ...................... 43 6.2.5 Fazit zu den drei Verfahren ......................................................... 45 6.3 7 Profilabfrage eines einzelnen Punktes..........................................................46 Testrahmen ....................................................................................................................... 47 7.1 Vergleich der Speichermenge ....................................................................... 47 7.2 Vergleich der Laufzeit...................................................................................48 7.2.1 Datenbank Umgebung.................................................................. 48 7.2.2 Cache ........................................................................................... 48 7.2.2.1 Punktabfrage........................................................... 49 7.2.2.2 Linienabfrage .......................................................... 50 7.2.3 8 GAIA-MVprofessional Umgebung ............................................... 51 Zusammenfassung und Ausblick ...................................................................................... 55 Glossar ...................................................................................................................................... 56 Quellenverzeichnis ................................................................................................................... 57 Abbildungsverzeichnis ............................................................................................................. 58 Tabellenverzeichnis .................................................................................................................. 59 Anhang ..................................................................................................................................... 60 Seite 6 von 60 1 Einleitung 1 Einleitung 1.1 Hinführung zum Thema „Ein Digitales Geländemodell (DGM) ist ein digitales, numerisches Modell der Geländehöhen und -formen.“[LAIV09] „Ein Modell unternimmt den Versuch, die komplexe Wirklichkeit verständlich und anschaulich darzustellen, ist also eine Abstraktion und Beschreibung der realen Welt oder eines Teiles davon.“[UR14] Die DGM-Daten lassen sich mit anderen Geobasisdaten verknüpfen. „Geobasisdaten sind eine Teilmenge der Geodaten, welche die Landschaft (Topographie) und die Liegenschaften der Erdoberfläche interessenneutral beschreiben.“[UR14] Ein Nutzungsbeispiel für eine solche Verknüpfung ist die Erstellung eines Höhenprofils. Im Bundesland Mecklenburg-Vorpommern (MV) ist das Landesamt für innere Verwaltung Mecklenburg-Vorpommern (LAiV) - Amt für Geoinformation, Vermessungs- und Katasterwesen mit Sitz in Schwerin für die Bereitstellung der DGM-Daten innerhalb von MV zuständig. Die Modellierung der DGM erfolgt nach bundeseinheitlichen Objektartenkatalogen (ATKIS®-OKDGM). Die Produkte der Produktgruppe DGM werden nach ihrer Gitterweite strukturiert. Bisher wurden die Digitalen Geländemodelle mit den Gitterweiten 25 Meter (DGM25) und 100 Meter (DGM100) in der Datenbank vom Datenverarbeitungszentrum (DVZ) gespeichert. Nun soll wegen der besseren Qualität von Höhenprofilen das DGM5 (Gitterweite 5 Meter) eingeführt werden. Im Rahmen dieser Arbeit wird im Speziellen auf Daten eingegangen, die durch das Verfahren des Airborne Laserscanning aufgenommen wurden. Darauf wird im Kapitel 4.1 „Nutzung von Rohdaten aus dem Airborne Laserscanning“ noch näher eingegangen. Ergänzend kommen auch Verfahren der Luftbildauswertung zum Einsatz. Zumeist handelt es sich hierbei um das Format XYZ-ACCII-File, optional auch im NAS-Format, die mittels Befliegung gewonnen werden. Das XYZ-Format beinhaltet zum einen die Koordinaten der aufgenommenen Punkte und zum anderen die Höhe eines Punktes. Bei der Darstellung solcher Geodaten werden die Begriffe Raster- beziehungsweise Vektordaten verwendet. Diese Bezeichnungen werden für die geometrische Darstellung von raumbezogenen Objekten gewählt. Die Objekte im Vektor- Seite 7 von 60 1 Einleitung format sind in einer Liste geordnete x, y-Koordinaten. Diese Objekte können mit Attributen verbunden werden. Bei einer Rasterdatenstruktur erfolgt die Verbindung mit einer Rasterzelle. Die Rasterdaten werden in Zeilen und Spalten angeordnet, in einer Art Matrixform. Mit dem Datenbanksystem PostgreSQL und durch die Erweiterung mit PostGIS ist nicht nur die Speicherung der Geodaten in Vektor- oder Rasterformat, sondern auch deren Abfrage und Analyse möglich. Mit der Einführung von PostGIS ab der Version 2.0 wird eine verbesserte Speicherung für Rasterdaten als Objekt in einer Datenbank erreicht. Bis dahin konnten die Vorteile, die PostgreSQL als Datenbank bietet, nur bei der Verwaltung von Vektordaten genutzt werden. 1.2 Vorstellung des Arbeitsumfeldes Die Frage des Einsatzes von PostgreSQL mit der Erweiterung PostGIS ab der Version 2.0 zum Speichern von Rasterdaten stellt sich aktuell für die Datenverarbeitungszentrum M-V GmbH. Das Datenverarbeitungszentrum, kurz DVZ, ist der IT-Service-Provider der Landesverwaltung Mecklenburg-Vorpommern mit Sitz in Schwerin. Im Jahr 1990 erfolgte die Umwandlung des VEB Datenverarbeitungszentrum Schwerin in die Datenverarbeitungszentrum Schwerin GmbH. Gesellschafter der eigenständigen GmbH ist das Land MecklenburgVorpommern, dass im Aufsichtsrat durch die Staatssekretäre des Finanzministeriums für Inneres und Sport vertreten wird. Im Servicebereich Geoinformation der DVZ M-V GmbH ist die Geodatenverarbeitung angesiedelt, wo die Entwicklung des Geodatenviewer GAIA-MVprofessional begann. Mit der Entwicklung erfolgte die zentrale Bereitstellung und Nutzung von Geodaten im InternetBrowser ohne die Verwendung von zusätzlicher (GIS-) Software. In dem Jahr 2013 konnte das 10-jährige Jubiläum gefeiert werden. Eine Neuerung ab der Version 3.3 ist die Abfrage eines interaktiven Geländeprofils. Daraus entwickelte sich die Ermittlung des Geländeprofils (Höhen) für Geländepunkte und -strecken. Seite 8 von 60 1 Einleitung 1.3 Ziel der Bachelorarbeit Das Ziel dieser Arbeit ist die Analyse der Verwaltung und Ableitung von Höhenprofilen in GAIA-MV. Dazu wird zunächst auf die Verwendung von Digitalen Geländemodellen näher eingegangen. Danach erfolgen die Vorstellung der Systemumgebung in GAIA-MV und die Geländeprofilabfrage in dem Geodatenviewer GAIA-MVprofessional. Mit Hilfe dieser Arbeit soll eine Aussage getroffen werden, ob die Verwendung von PostGIS ab der Version 2.0 in Rasterform einen Vorteil gegenüber der Verwendung PostGIS zur Speicherung von Geodaten in Vektorform bietet. Zum Vergleich der Speicherung von Geodaten wird noch zusätzlich das kommerzielle Produkt APOLLO ERDAS herangezogen, das von dem Softwareunternehmen GEOSYSTEMS entwickelt wurde. Der Server APOLLO ERDAS ermöglicht die Verwaltung und Analyse von Geodaten. Es werden verschiedene Aspekte untersucht, von der Speicherung der Geodaten, über die Analysemöglichkeiten und Interpolationsverfahren zur Erstellung von Höhenprofilen bis hin zum Testen der Performance beim Zugriff innerhalb der Datenbank und mit GAIAMVprofessional. Des Weiteren soll diese Arbeit als Leitfaden zur Umstellung von Vektorauf Rasterformat dienen. Zunächst wird der aktuelle Stand untersucht und anschließend die benötigten Schritte erläutert, die zur Umstellung auf PostGIS 2.0 erforderlich sind. Abschließend folgt der Vergleich zwischen den beiden Möglichkeiten der Speicherung von Geodaten. Seite 9 von 60 2 Verwendung von DGM-Daten 2 Verwendung von DGM-Daten Die Verwendung des Digitalen Geländemodells (DGM) kann im gewerblichen Bereich erfolgen und sowohl auch für private Nutzer interessant sein. Das DGM beschreibt die natürliche Geländeform der Erdoberfläche. Die DGM-Daten lassen sich mit anderen Geobasis- und Geofachdaten kombinieren. Die Bedingung dabei ist, dass die Georeferenzierung identisch ist. Einige Nutzungsbeispiele sind die Schummerungs- und Höhenliniendarstellungen, die Simulation und Prognose von Hochwasser- und Windeinflüssen, die Erstellung von Schallimmissionsplänen, die Profildarstellungen und Volumenberechnungen. Im Rahmen des ATKIS-Projektes sind die DGM-Daten ein Baustein für die Ableitung der Topografischen Kartenwerke. Das Digitale Geländemodell kann unter anderem in folgenden Bereichen eingesetzt werden: → Umwelt → Funknetz- und Trassenplanungen → Landwirtschaft → Forstwirtschaft → Umweltschutz → Katastrophenschutz → Archäologie Die folgenden Beispiele im gewerblichen Bereich, wie auch für die private Nutzung, sollen zeigen, wie Höhenprofile eingesetzt werden und wie aktuell das Thema ist. 2.1 Private Nutzung Für private Personen kann ein Höhenprofil sehr interessant und hilfreich sein; zum Beispiel die Zielgruppen, die im Freien Sporttreiben und dabei insbesondere für Radfahrer, Wanderer, SKI- Fahrer oder Langläufer, die zu ihrer ausgewählten Strecke ein Höhenprofil haben möchten. Wenn die Sportler nach ihrem getanen Sport nachvollziehen wollen, welche Strecke und wie viele Höhenunterschiede sie abgelaufen beziehungsweise abgefahren sind, so können sie dies durch das Programm erfahren, natürlich auch bereits vor ihren sportlichen Aktivitäten. Seite 10 von 60 2 Verwendung von DGM-Daten 2.2 Gewerbliche und behördliche Nutzung Im gewerblichen wie auch im behördlichen Bereich ist die Anwendung von Digitalen Geländemodellen von großer Bedeutung. Bereits im Kapitel 2 „Verwendung von DGM-Daten“ wurden entsprechende Einsatzbereiche aufgelistet. Firmen können zur Planung von Großvorhaben die Höhenprofile nutzen, um zum Beispiel die optimale Strecke für die neue Gaspipeline durch Mecklenburg-Vorpommern zu entwickeln. Beim Elbehochwasser im Sommer 2013 wurde ein Höhenprofil angefertigt, um die Gefährdungsbereiche abgrenzen zu können und somit diese entsprechend zu schützen. Es gibt unzählige Einsatz- und Verwendungszwecke für das Digitale Geländemodell. Ziel dabei ist immer eine Optimierung der Möglichkeiten und Reduzierung von Zeit- und Kostenaufwand. Ein Beispiel für die Anwendung von Digitalen Geländemodellen ist die Planung des optimalen Standortes für Windräder hinsichtlich ihrer Sichtbarkeit im Gelände. In MecklenburgVorpommern werden aufgrund der Energiewende immer mehr Windparks errichtet. Windräder gehören neben den Solaranlagen zu den am häufigsten genutzten erneuerbaren Energien. Diese sollen die Energiewende in Deutschland in den nächsten Jahren weiter voran treiben. Für das Errichten von Windparks im Bundesland MV sprechen mehrere Gründe, zum einen die Nähe zur Ostseeküste und zum anderen die nicht vorhandenen Gebirge, die in Mittel- und Süddeutschland existieren. In naher Zukunft kann die Windenergie ein wichtiges Standbein für den Wirtschaftsstandort Mecklenburg-Vorpommern werden. Mithilfe der Sichtbarkeitsanalyse (Viewshed) unter Verwendung eines DGMs können die passenden Gebiete für einen Standort in der Landschaft gefunden werden. Bei der Analyse geht es darum, wie weit die Windräder in dem angegeben Radius sichtbar sind. Dabei geht es darum, ob die Anwohner einer Ortschaft die Windräder von ihrem Wohnhaus aus sehen können. Die Koordinaten der Standorte für die geplanten Windräder und deren Höhe müssen für die Sichtbarkeitsanalyse angegeben werden. Zusätzlich ist der zu untersuchende Umkreis zu wählen. Dabei spielt die Landschaft hinsichtlich von Erhebungen oder Tälern eine entscheidende Rolle. Seite 11 von 60 2 Verwendung von DGM-Daten Ein mögliches Ergebnis einer solchen Analyse könnte wie folgt aussehen: Abbildung 01 Sichtbarkeitsanalyse Die Abbildung 1 wurde mithilfe des Programms GRASS erstellt. Verwendet wurde dabei das DGM5 von Mecklenburg-Vorpommern. Der rote Punkt in der Abbildung könnte für die Position eines Windrads stehen. Die hellgrüne Fläche, um den Punkt herum, stellt die Sichtbarkeit des Windrads innerhalb des Umkreises dar. Für die Aufstellung von Windparks müssen unter anderem die Entfernungen zu Ortschaften und Siedlungen; zu Verkehrsflächen oder Flugplätzen; zu einem Militärgelände; zu Wald-, Naturschutz- und Tourismusgebieten beziehungsweise Vogelfluglinien (Einhaltung des Artenschutzes) berücksichtigt werden. Hier nun zwei konkrete Beispiele, die die Wichtigkeit von Höhenprofilen veranschaulichen. Beispiel 1: Durch die letzte durchgeführte Kreisgebietsreform in Land M-V wurde aus den Kreisen Ludwigslust und Parchim ein neuer „Großkreis“. Dies hatte zur Folge, das zwischen den Städten Parchim - Hauptsitz der Verwaltung und Ludwigslust - Nebenstandort eine Lösung für eine Vernetzung der Computersysteme und damit eine Zusammenarbeit aller Mitarbeiter mit Zugriff auf gemeinsame Server erforderlich wurde. Als kostengünstigste Lösung wurde mit der Planung einer Richtfunkverbindung zwischen den beiden Städten begonnen, siehe dazu Abbildung 2 „Topografische Karte“ (linke Grafik). Dabei wurde schnell klar, dass eine direkte Verbindung nicht möglich wird. Das Problem lag in der Topographie. Zwischen den beiden Orten befindet sich eine Anhöhe. Diese Anhöhe hat den Namen „Langer Berg“ mit der höchsten Erhebung von 113 Meter. Seite 12 von 60 2 Verwendung von DGM-Daten Zu entnehmen ist dieser Höhenwert aus der Abbildung 2 „Höhenprofil zwischen Ludwigslust und Parchim“ (rechte Grafik). Allerdings ist bei solch weiten Entfernungen neben der Topografie auch die Erdkrümmung zu beachten. Abbildung 02 Topografische Karte und Höhenprofil zwischen Ludwigslust und Parchim Erst durch Anwendung des Digitalen Geländemodells wurde dies für alle sichtbar. Die Richtfunkmasten hätten in diesem Fall eine nicht vertretbare Höhe haben müssen. Somit musste die Richtfunkstrecke von Parchim über Schwerin weiter nach Ludwigslust eingerichtet werden. Beispiel 2: Schwerlasttransporte auf den Straßen im Land sind immer wieder notwendig; wie zum Beispiel der Transport von Schiffsschrauben oder Windrädern. Die Planung einer Strecke für Schwerlasttransporte erfordert einen hohen Zeitaufwand. Bevor der Schwerlasttransport auf die Straße gelangen kann, muss genauestens die Route durchdacht werden, da ansonsten unerwartete Überraschungen während der Fahrt auftreten können. Die Folge wäre, kurzfristig eine neue Route zu suchen und dies ist immer auch mit einem zeitlichen Mehraufwand sowie einer finanziellen Mehrbelastung verbunden. Wichtig für die Planungen sind neben dem Straßenverlauf auch die Kenntnisse über Unebenheiten bei der Geländeoberfläche. Auf einer Strecke können Täler und Anhöhen vorkommen, die für Schwerlasttransporte zum Problem werden. Um das zu verhindern, besteht mit Hilfe des Digitalen Geländemodells die Möglichkeit, ein Höhenprofil von der geplanten Route zu erstellen. Seite 13 von 60 3 GAIA-MV 3 GAIA-MV „GAIA-MV(GeoAccessInternetApplication-Mecklenburg-Vorpommern) ist ein Baukastensystem zum Entwickeln von webbasierten Anwendungen für das Visualisieren und Auswerten von Geodaten. Mit seinen Elementen können anwendungsbezogene Fachapplikationen ermöglicht werden. Außerdem ermöglicht das System die Abbildung von Prozessen. Komplizierte Workflows werden digital unterstützt und können mit geographischen Informationen verknüpft werden.“ [DVZ13] In den nächsten Abschnitten werden die System-Umgebung von GAIA-MV sowie die Abfrage und Darstellung von Höhenprofilen in GAIA-MVprofessional näher erläutert. 3.1 System-Umgebung (GAIA-MV) Die System-Umgebung von GAIA-MV beruht auf dem Client-Server-Modell. In der Abbildung 3 „GAIA-MV Komponenten“ werden die Abläufe und Zusammenhänge von den Server- und Client-Komponenten dargestellt. Als Server wird der UMN-MapServer eingesetzt. Der UMN-MapServer ist eine Open-Source-Software und unterstützt das klassische Modell. Dieser Server präsentiert raumbezogene Daten und interaktive Kartenanwendung im Internet. Auf dem Server werden Grafiken und Webseiten dynamisch generiert. Danach werden diese als HTML-Seite an den Client gesendet. Die HTML-Seiten können mit JavaScript Code angereichert werden. Die Geodaten werden dabei datei- oder datenbankorientiert abgelegt und eingebunden. Als Datenformate fungieren das Shape-Format der Firma ESRI sowie diverse RastergrafikFormate und Geodatenbanken. Gleichzeitig werden zudem Bibliotheken wie OGR und GDAL unterstützt. Des Weiteren erfolgt der Einsatz der Datenbank, wie bereits mehrfach erwähnt, PostgreSQL mit der Erweiterung PostGIS zur Verwaltung großer Vektor- und Rasterdatenbeständen. Die Speicherung der Geodaten für die Erstellung von Höhenprofilen wird im Kapitel 5 „Varianten der Speicherung“ noch genauer erklärt. Seite 14 von 60 3 GAIA-MV Abbildung 03 GAIA-MV Komponenten [DVZ13] Serverseitig wird die Entwicklungsumgebung PHP und die speziell für den MapServer entwickelte Bibliothek PHP-MapServer verwendet. Die Anwendung wird über einen MapServerspezifischen Präprozessor angesprochen. Der Präprozessor ist ein Computerprogramm, das Eingabedaten vorbereitet und zur weiteren Bearbeitung an ein anderes Programm weitergibt. Der UMN-MapServer liegt in verschiedenen Varianten für das Betriebssystem Linux sowie für diverse Microsoft-Betriebssysteme vor. Die Einbindung und Darstellung der Geodaten wird in einer sogenannten Map-Konfiguration festgelegt. Der Präprozessor erzeugt mit Hilfe des MapServers GIF-, PNG- oder JPEG-Grafiken und transportiert diese gemeinsam mit HTML-Fragmenten an den Browser des Clients. Clientseitig wird für die Gruppe der „Viewer“ nur ein Webbrowser benötigt. Die Grafiken sind je nach Bildgröße und Inhalt nur einige Kilobyte groß. Der UMN-MapServer kann sowohl auf Basis des Apache-Webservers als auch auf anderen Webservern betrieben werden. Zur Verwaltung der Nutzer wird standardmäßig die Datenbank PostgreSQL eingesetzt. Auf Basis der oben beschriebenen Technologien wurde in der Datenverarbeitungszentrum Mecklenburg-Vorpommern GmbH GAIA-MVprofessional entwickelt und ermöglicht somit dem Nutzer, die Geodaten auf komfortable Weise zu benutzen. Sie wird beim ersten Aufruf der Applikation in Form von JavaScript vom Server in den Browser des Clients heruntergeladen. Aus Gründen der Sicherheit werden keine Plug-Ins, Java-Applets und Active-Controls verwendet. In den nachfolgenden Abschnitten werden die benötigten Schritte, die ein Nutzer zur Abfrage eines Höhenprofils in GAIA-MVprofessional vollziehen muss, beschrieben. Seite 15 von 60 3 GAIA-MV 3.2 GAIA-MVprofessional Der Geodatenviewer GAIA-MVprofessional ist in der aktuellen Version 3.3 vorhanden. Diese Version unterstützt alle aktuellen Versionen der üblichen Browser (Internet Explorer, Mozilla/ Firefox, Opera, Safari und Chrome). Auch eine Bedienung von GAIA-MV per Touchscreen (zum Beispiel für Tablets) ist möglich. GAIA-MVprofessional unterstützt mit umfangreichen Funktionalitäten, bis hin zum Erfassen und Editieren von Geometrie und Attributen, die Lösung komplizierter Aufgaben. Die Aktualisierung der Geodaten übernimmt das GAIA-MVdatacenter. Über einen Browser greifen alle Nutzer auf die WebGIS-Anwendungen zu. GAIA-MV wird weiterhin für Fachanwendungen im Intranet und von Behörden oder Unternehmen eingesetzt. Nicht alle Funktionen stehen zur freien Verfügung für alle Nutzer bereit. Einige Geodatenbestände und Geowebdienste sind nur für bestimmte Nutzergruppen verfügbar und daher ist für diese eine Registrierung erforderlich. Für die Abfrage und Erstellung von Höhenprofilen ist dies nicht notwendig und somit kann jeder Nutzer diese Funktionalitäten frei verwenden. Seite 16 von 60 3 GAIA-MV 3.3 Abfrage und Darstellung von Höhenprofilen in GAIA-MVprofessional Die folgenden Abschnitte beschreiben die Funktionalitäten der Höhenprofilabfrage sowie der Schummerungs- und Höhenliniendarstellung von GAIA-MVprofessional. GAIA-MV ist fester Bestandteil des GeoPortals Mecklenburg-Vorpommern. GAIAMVprofessional kann über das Geoportal (www.geoportal-mv.de) erreicht werden. Abbildung 04 Startseite GAIA-MVprofessional Auf der linken Seite in der Abbildung 4 „Startseite GAIA-MVprofessional“ sind die zurzeit zur Verfügung stehenden Themen dargestellt. Für die Höhenprofilabfrage muss ein zusätzliches weiteres Thema hinzugefügt werden, dies ist mit Hilfe des Themenmanagers möglich. 3.3.1 Themenmanager Um das Höhenprofil abfragen zu können, muss als erstes das Thema „Gelände MV“ hinzugefügt werden. Dazu können auf der linken Seite mit Hilfe des Buttons, der sich unter dem Reiter „Thema“ befindet, weitere Themen ergänzt werden, wie auch das benötigte Thema „Gelände MV“. In dem neuen Fenster muss das Thema „Gelände MV“ von der linken Seite der verfügbaren Themen (Quelle) auf die rechte Seite der genutzten Themen (Ziel) gezogen werden (Abbildung 5 „GAIA-MVprofessional Themen hinzufügen“). Seite 17 von 60 3 GAIA-MV Abbildung 05 GAIA-MVprofessional Themen hinzufügen Die Bestätigung erfolgt durch das Klicken auf den Button „Übernehmen“. Nachdem das Thema erfolgreich bei den verfügbaren Themen erscheint, kann mit der Abfrage begonnen werden. Die Abfrage des Höhenprofils ist möglich, wenn vor dem Thema „Geländehöhe/profil“ der Kreis aktiviert wird. Wenn kein bestimmtes Thema ausgewählt wurde, werden alle möglichen Themen abgefragt. In Abbildung 6 „Abfrage aktivieren“ ist nur die Abfrage für ein Geländeprofil aktiviert. Abbildung 06 Abfrage aktivieren Nachdem nun die Abfrage für das Gelände aktiviert ist, kann mit dem Zeichnen der Geometrieobjekte auf der Karte begonnen werden. Seite 18 von 60 3 GAIA-MV 3.3.2 Karteikarte „Abfrage“ Zum Zeichnen der Geometrieobjekte ist auf die Karteikarte „Abfragen“ zu klicken. Dort ist im Anschluss das gewünschte Geometrieobjekt auszuwählen (Tabelle 1 „Abfrage Geometrieobjekte“). Mithilfe der Funktionen können Geodaten inhaltlich und räumlich abgefragt werden. Alle Symbole zur Abfrage enthalten ein „i“ im Schaltknopf. Symbol Definition Abfrage per Punkt Abfrage per Polylinie Abfrage per Rechteck Abfrage per Polygon Abfrage per Kreis Abfrage mit ausgewählten Zeichenobjekten starten Tabelle 01 Abfrage Geometrieobjekte Nach Ausführen der Abfrage wird das Ergebnis in einem neuen Fenster geöffnet. Genauso gut kann auch eine bereits gezeichnete Linie oder Punkt in der Karte noch abgefragt werden. 3.3.3 Karteikarte „Messen und Zeichnen“ Die Geometrieobjekte Punkt, Linie, Rechteck, Polylinie oder Kreis lassen sich bei GAIAMVprofessional über den Reiter „Messen und Zeichnen“ auf der Karte zeichnen. Die Karteikarte „Messen und Zeichnen“ enthält eine Reihe von Schaltknöpfen mit Zeichen- und Editierfunktionen. Abbildung 07 Karteireiter „Messen und Zeichnen“ Die Nutzer können die aufgenommen Koordinaten von ihrer tatsächlich gefahrenen Strecke in GAIA-MVprofessional übertragen. Dazu müssen die Eigenschaften des Objekts bearbeitet werden. Dies kann durch Doppelklick auf das Zeichenobjekt erfolgen oder über die rechte Maustaste und dem Menüpunkt „Eigenschaften“ aufgerufen werden. Der Featuredialog (Abbildung 8) besteht aus fünf Karteireitern: Ausgestaltung, Geometrie I, Geometrie II, Sachdaten und Beschriftung. Seite 19 von 60 3 GAIA-MV Unter Geometrie I wird eine Koordinatenliste angezeigt. Die Liste kann verändert werden durch Einfügen, Löschen oder Ändern der Stützpunkte. Abbildung 08 Karteireiter Geometrie I - Koordinaten einfügen Mithilfe der Funktionen können Geodaten räumlich wie auch inhaltlich abgefragt werden. Die Objekte sind dann einzeln auf der Karte durch Klicken des Symbols, das unter dem Reiter „Abfrage“ zu finden ist, abzufragen (siehe dazu letzte Zeile in der Tabelle 1 „Abfrage Geometrieobjekte“). 3.3.4 Beispielstrecke in Schwerin Als Beispiel wurde die Abfrage einer Teilstraßenbahnstrecke in Schwerin der Straßenbahnlinie 2 zwischen den beiden Haltestellen Büdnerstraße und Friesensportplatz gewählt. In dem Geländeprofil Abbildung 9 „Luftbild und Geländeprofil der Beispielstrecke“ ist deutlich der Anstieg des Fliederbergs zu erkennen. Diese Strecke wird hinsichtlich der Analysemöglichkeiten eines Höhenprofils auch später im Kapitel 6 weiter verwendet. Mithilfe der Maus kann auf der Karte entlang des Geländeprofils „gefahren“ werden und parallel dazu wird der dazugehörige Punkt auf der Linie angezeigt, sodass nachvollzogen werden kann, wo sich die entsprechende Höhe befindet. Aus dem Geländeprofil können weitere Informationen gewonnen werden. Dabei wird horizontal die Länge der Strecke dargestellt und vertikal die Höhe abgelesen. Unterhalb der Grafik befindet sich eine Tabelle. Diese enthält die Werte zum höchsten und tiefsten Punkt, die Anzahl der Höhenpunkte, den Punktabstand, die DGM Zellengröße und die Profillänge. Seite 20 von 60 3 GAIA-MV Abbildung 09 Luftbild und Geländeprofil der Beispielstrecke Das Geländeprofil kann zusätzlich auch als Tabelle dargestellt werden (Abbildung 10 „Tabelle des Geländeprofils“). Die Tabelle beinhaltet die x- und y- Koordinaten der Punkte und die entsprechende Höhe in Meter. Diese kann auch im Excel-Format abgespeichert werden und anschließend beliebig weiter bearbeitet werden. Abbildung 10 Tabelle des Geländeprofils Die Geländehöhen in Meter beziehen sich auf den Pegel in Amsterdam. Diese Höhenangaben werden in Deutschland als Höhen über Normalhöhennull (NHN) bezeichnet und sind Normalhöhen im System des Deutschen Haupthöhennetzes 1992 (DHHN92). 3.3.5 Schummerungs- und Höhenliniendarstellung Wie bereits im Kapitel 2 „Nutzung von DGM-Daten“ dargelegt, lassen sich aus den Daten des Geländemodells Höhenlinienkarten und Schummerungen ableiten. Im Hauptkartenfenster von GAIA-MVprofessional können die Schummerungs- und Höhenliniendarstellungen zur weiteren Veranschaulichung angezeigt werden. „Eine Schummerung ist die plastische Wiedergabe der Geländeformen in einem Graustufenbild. Der räumliche Eindruck entsteht durch die Beleuchtung mit einer imaginären Lichtquelle.“ [BK14] Die imaginäre Lichtquelle befindet sich im Nord Westen. Seite 21 von 60 3 GAIA-MV Die Schummerungsdarstellung bei GAIA-MVprofessional sieht wie folgt aus: Abbildung 11 Schummerungsdarstellung Die Abbildung 11 „Schummerungsdarstellung“ zeigt die Umgebung des Schweriner Schlosses mit einem Teil des Schlossgartens, den Burgsee und den Schweriner Innensee. Die Höhenlinie ist eine „Schnittlinie einer Objektfläche (z.B. Geländeoberfläche, Oberfläche einer geologischen Schicht) mit einer Fläche konstanter Höhe über oder unter einer Bezugsfläche. Der Höhenunterschied zweier benachbart dargestellten Höhenlinien ist die Höhenstufe. Auch Höhenkurve bezeichnet, das heißt Verbindungslinie benachbarter Geländepunkte gleicher Höhe über oder unter einer Bezugsfläche.“ [UR14] Für dasselbe Gebiet, wie es auch bei der Schummerungsdarstellung in Abbildung 11 gezeigt wird, sieht die Höhenliniendarstellung wie folgt aus: Abbildung 12 Höhenliniendarstellung Seite 22 von 60 4 Digitales Geländemodell (DGM) 4 Digitales Geländemodell (DGM) In diesem Kapitel geht es um das Digitale Geländemodell; von der Aufnahme der DGMDaten, die seit dem Jahr 2004 im Amt für Geoinformation, Vermessungs- und Katasterwesen zur Herstellung der DGM durch das Verfahren Airborne Laserscanning, bis hin zu der Modellierung der DGM nach dem Objektkatalog der Arbeitsgemeinschaft der Vermessungsverwaltungen der Länder der Bundesrepublik Deutschland (ADV) und schließlich um die Datenweitergabe vom LAiV zum DVZ. Die Arbeitsgemeinschaft ADV definiert das Digitale Geländemodell wie folgt: „Datenbestand zur höhenmäßigen Beschreibung des Geländes. Es besteht aus regelmäßigen oder unregelmäßigen verteilten Geländepunkten, die die Höhenstruktur des Geländes hinreichend repräsentieren - optional ergänzt durch morphologische Strukturelemente (z.B. Geländekanten, markante Höhenpunkte).“ [Wiki14] 4.1 Nutzung von Rohdaten aus dem Airborne Laserscanning (ALS) „Das Airborne Laserscanning („luftgestützte Laserscanning“) ist ein modernes Verfahren zur großflächigen Erfassung von Höheninformationen der Erdoberfläche.“ [LAiV09] Die Erdoberfläche wird mit einem Laserscanner aus einem Flugzeug heraus flächenhaft abgetastet, wie in der Abbildung 13 „Grundprinzip des Airborne Laserscanning“ dargestellt wird. Mit dem Laserscanner werden Laserimpulse ausgesendet. Diese Impulse werden von der Geländeoberfläche oder auf ihren befindlichen Objekten, zum Beispiel Gebäude, gestreut. Die Objekte werden reflektiert und durch einen entsprechenden Sensor im Laserscanner wieder empfangen. Abbildung 13 Grundprinzip des Airborne Laserscanning [LAIV09] Seite 23 von 60 4 Digitales Geländemodell (DGM) Die Position und die Ausrichtung des Laserscanners werden dabei ständig mittels GNSSEmpfänger und einem Inertial-Navigationssystem (INS) bestimmt. Inwiefern die Positionierung des Flugzeugs während der Aufnahme über der Erdoberfläche erfolgt, ist in der Abbildung 14 „Bodenpunkt und Nichtbodenpunkt“ sichtbar. Als GNSS-Empfänger wird zum Beispiel das GPS (Global Positionierung System zu Deutsch Globales Positionsbestimmungssystem) verwendet. Das globale Navigationssatellitensystem, kurz GNSS, ist ein System zur Positionsbestimmung und Navigation auf der Erde und in der Luft, durch den Empfang der Signale von Navigationssatelliten und Pseudoliten. Ein Pseudolit ist dabei ein terrestrischer Sender, der Signale aussendet, die die Signale eines Satelliten nachahmen. Durch Pseudoliten wird lokal die Messgenauigkeit von satellitengestützten Navigationssystem erhöht. Das GPS-Navigationssystem wird auch bei Airborne Laserscanner benutzt. Aus den gewonnenen Messungen werden dreidimensionale Koordinaten (x, y, z) für jeden Reflexionspunkt berechnet. Beim Airborne Laserscanning werden zwei Arten von Reflexionen von Objekten registriert. Die Objekte auf der Geländeoberfläche sind entweder sogenannte „Klassifizierte Nichtbodenpunkte“ oder „Klassifizierte Bodenpunkte“. Die Bodenpunkte sind Reflexionen von der Geländeoberfläche. Der Unterschied zwischen den beiden Arten von Punkten ist in der folgenden Abbildung gut zu erkennen: Abbildung 14 Bodenpunkt und Nichtbodenpunkt[LAIV09] Die Höheninformation wird hierbei mit einer Genauigkeit von ± 0,2 m erfasst. Die hochauflösenden Digitalen Geländemodelle ergeben sich aus den „Klassifizierten Bodenpunkten“. Aus den gesamten Messungen von „Klassifizierten Bodenpunkten“ und „Klassifizierten Nichtbodenpunkten“ lassen sich Digitale Oberflächenmodelle (DOM) ableiten. Der Unterschied zum DGM ist, dass die DOM neben den Geländehöhen auch Objekthöhen enthalten. Sie beinhalten keine Informationen über Vegetation (Bäume) und Bauwerke (Häuser). Seite 24 von 60 4 Digitales Geländemodell (DGM) 4.2 ATKIS-Digitale Geländemodelle Digitale Geländemodelle sind eine Komponente des, von der Arbeitsgemeinschaft ADV, aufgebauten und aktuell fortgeführten bundeseinheitlichen Geobasisinformationssystem ATKIS. ATKIS steht für das Amtliche Topografische-Kartografische Informationssystem und stellt für unterschiedliche Nutzungsmöglichkeiten Basisinformationen über Gelände- sowie Erscheinungsformen und Sachverhalte an der Erdoberfläche bereit. Neben dem DGM umfasst ATKIS noch die folgenden Komponenten: → Digitale Landschaftsmodelle (DLM) → Digitale Topografische Karten (DTK) → Digitale Orthophotos (DOP) Das DGM beschreibt die Geländeoberfläche mit den räumlichen Koordinaten einer repräsentativen Menge von Geländepunkten. Die Höheninformationen sind maßstabsunabhängig und datenverarbeitungsgerecht vorgehalten. Der Erdkörper und die Wasseroberfläche auf der einen Seite und die Luft auf der anderen Seite bilden die Grenzfläche. Die Geländeoberfläche wird dabei durch eine Punktmenge (x,y,z-Werte) in Form von regelmäßig verteilten Höhenpunkten modelliert. Neben diesen Punkten (DGM-Gitter) kann das DGM Strukturelemente in Form von Geländelinien und besonderen Geländepunkten enthalten, wenn diese für die individuelle Genauigkeitsstufe zur Geländemodellierung erforderlich sind. Die Namensgebung beruht auf der Gitterweite des DGM und wird wie folgt gebildet: DGM<Gitterweite> Beispiel: DGM1 für ein DGM mit der Gitterweite 1Meter Der Objektkatalog DGM, erstellt und herausgegeben von der Arbeitsgemeinschaft ADV, gilt für die Modellarten DGM2, DGM5, DGM25, DGM50, DGM250 und DGM1000, die hinsichtlich Objektumfang und Modellierung identisch sind. Allerdings unterscheiden sie sich hinsichtlich Erfassungskriterien und Qualitätsanforderungen. Zwischen den verschiedenen Gitterweiten sind die Unterschiede in den einzelnen Qualitätsstufen eines DGMs in der farbcodierten Darstellung in der nachfolgenden Tabelle 2 ersichtlich. dgm2 dgm5 dgm25 dgm100 Tabelle 02 Beispiele für die Präsentation des DGM farbcodierte Darstellung [LAiV09] Seite 25 von 60 4 Digitales Geländemodell (DGM) Zwischen dem DGM2 und DGM5 sind die Konturen kaum zu unterscheiden. Allerdings sind im Vergleich der Gitterweite 2 Meter (DGM2) mit der Gitterweite 100 Meter (DGM100) die Strukturen der Geländeoberfläche bei der DGM2 wesentlich detaillierter und aussagekräftiger. Die Gitterweiten für 10 Meter, 25 Meter, 50 Meter, 250 Meter und 1000 Meter sind flächendeckend für die Bundesrepublik vorhanden. Das Bundesamt für Kartographie und Geodäsie (BKG) führen die DGM250 und DGM1000 mit einer geringeren Qualitätsstufe; die Vermessungsverwaltungen der Länder dagegen die DGM1, DGM2 und DGM5 mit einer mittleren und hohen Qualitätsstufe. Das Produktangebot gliedert sich in sechs Qualitätsstufen: Gitterweite Höhengenauigkeit DGM50 DGM25 DGM10 DGM5 DGM2 DGM1 50 m 25 m 10 m 5m 2m 1m 2,5-10 m 1,25-5 m 0,5-2 m 0,25-1 m 0,15-0,4 m 0,15-0,2 m flächendeckend Verfügbarkeit teilweise Tabelle 03 Produktangebot DGM [LAiV09] Die Digitalen Geländemodelle mit einer größeren Gitterweite werden in der Regel aus dem Digitalen Geländemodell mit der geringsten verfügbaren Gitterweite mittels Neuinterpolation automatisiert abgeleitet. Die DGM2 und DGM5 werden für die Herstellung oder Ableitung in anderen Bereichen verwendet. Das DGM2 ist ein hochgenaues DGM und wird in überflutungsgefährdeten Bereichen eingesetzt. Für die Herstellung von Orthofotos (DOP5) wird das DGM5 genutzt und darüber hinaus auch zur Ableitung von Höhenlinien bei Digitalen Topografischen Kartenwerken ab dem Maßstab 1:5000. 4.3 Lage- und Höhenbezugssystem Zu klären ist, welches Bezugsellipsoid verwendet wird und worauf sich die Höhen beziehen. „Die DGM werden standardmäßig im Lagebezugssystem ETRS 89 (UTM-Abbildung, Zone 33) bereitgestellt. Die Höhen sind Normalhöhen im System DHHN92 bezogen auf den Amsterdamer Pegel (Höhen über NHN). Für jeden Punkt wird ein Qualitätscode festgelegt, in dem die mittlere Höhengenauigkeit, die Erfassungsart und der Erfassungszeitpunkt enthalten sind.“ [LAiV09] Seite 26 von 60 4 Digitales Geländemodell (DGM) 4.4 Datenabgabe vom LAiV und Vorstellung der Datensätze Die DGM-Daten werden in Kacheln der Größe 2 x 2 Kilometer mit insgesamt 6300 Kacheln bereitgestellt und vom LAiV an das DVZ übergeben. Der Kachelursprung ist die linke untere Ecke; bezogen auf volle Kilometer-Werte. Die Rohdaten aus dem Airborne Laserscanning werden im ASCII-Format abgegeben. Die (x,y,z)-Werte, die unregelmäßig im Raum verteilten Massenpunkte, sind im Höhenmodell bekannt. Das Grundformat der Datenabgabe für DGM-Daten ist ein ASCII-Format mit Ost-, Nord- und Höhenwert. Auf Anfrage können Qualitätsmerkmale wie Erfassungsart, Genauigkeit, Erfassungsdatum im ASCII-Format, ein Höhenbild (Grauwertcodierung der Höhen) im TIFFFormat oder eine Höhenliniendarstellung der abzugebenden Region im DXF-Format bereitgestellt werden. Bei einer alleinigen Abgabe von Ost-, Nord- und Höhenwert fällt beim DGM25 je 4 km²-Kachel ein Speicherbedarf von 0,25 Megabyte für das DGM-Gitter an. Beim DGM5 erhöht sich dieser Wert um den Faktor 25. Vor dem Hintergrund des enormen Speicherbedarfs für das DGM mit einer Gitterweite von 5 Metern war die bisherige Speicherung der (x,y,z)-Daten in einer Datenbank im Vektorformat nicht sinnvoll. Für die Speicherung von Geodaten im Rasterformat wird dagegen weniger Speicherplatz für dieselbe Datenmenge benötigt. In dem nächsten Kapitel 5 „Varianten der Speicherung“ wird genauer auf die Unterschiede zwischen der Vektor- und Rasterspeicherung von Geodaten eingegangen. Seite 27 von 60 5 Varianten der Speicherung 5 Varianten der Speicherung Die Möglichkeiten der Speicherung von DGM-Daten in Vektor- und Rasterformat werden in diesem Kapitel genauer erläutert. Dies geschieht unter dem Gesichtspunkt: Art der Speicherung von Geodaten in Datenbanken. Die Speicherung von großen Datenmengen ist in entsprechenden Datenbanken sinnvoll. Eines dieser Datenbanksysteme ist PostgreSQL. Neben der Speicherung der Daten in PostgreSQL mit der Erweiterung PostGIS in Vektorformat wird als neue mögliche Alternative die Datenspeicherung im Rasterformat mit PostGIS ab der Version 2.0 und das kommerzielle Produkt ERDAS APOLLO vorgestellt. Zum einen werden Erläuterungen über die grundlegenden Datenstrukturen und Funktionsweisen des Systems getroffen und zum anderen die verschiedenen Möglichkeiten der Speicherung von Daten in einer Datenbank und diese auch später wieder zu laden. 5.1 PostgreSQL und PostGIS PostgreSQL ist ein freies relationales Datenbankmanagementsystem. Dieses Datenbanksystem entstand 1986 an der Universität von Kalifornien in Berkeley unter dem Namen postgres. Die ersten Versionen von PostGIS publizierte 2001 die Firma Refractions Research. 2006 wurde das inzwischen unabhängige PostGIS von dem Open Geospatial Consortium, kurz OGC, zertifiziert. Das OGC ist eine internationale Organisation, bestehend aus mehr als 25 Unternehmen, Behörden und Universitäten, die sich zum Ziel gesetzt haben, die Entwicklung raumbezogener Informationsverarbeitung auf der Grundlage allgemeingültiger Standards festzulegen. PostGIS ist der Standard zur Verwaltung geografischer Daten, den sogenannten Geodaten. Das Datenbanksystem PostGIS folgt dabei internationalen Standards wie der Simple Features Specification for SQL, kurz SFSQL. Dies wiederum ist ein Dokument mit verschiedenen Konzepten. Ein solches Konzept wäre die Unterstützung raumbezogener Daten in einem relationalen Datenbankmanagementsystem (RDBMS) wie PostgreSQL. Im Jahre 1997 veröffentlichte das Open Geospatial Consortium (OGC) die SFSQL. Neben dem Standard SFSQL unterstützt PostgreSQL auch den Standard SQL/MM Spatial. Dieser Standard ist die Umsetzung des Simple-Feature-Modells der OGC auf die Sprache SQ und entspricht der ISO-Norm 19125-2 Simple Feature Access-SQL Option. SQL/ MM Spatial ist eines von drei Ausprägungen von der OGC für Simple Features, die auf der Grundtechnologie des Simple-Feature-Models implementiert wurden. Seite 28 von 60 5 Varianten der Speicherung Abbildung 15 Datenmodell SQL/MM Spatial [TB14] Das konzeptionelle Geodatenmodell bestimmt neben den fachbezogenen Strukturen, die einem Geoobjekt zugeordnet werden können auch deren möglichen Beziehungen und Eigenschaften. Dabei werden objektrelationale Datentypen festgelegt, die den Simple-FeatureStandard in SQL abbilden. Alle PostGIS-Funktionen haben das von SFSQL vorgeschriebene Präfix ST_. Ein weiterer Standard ist die ISO-Norm 19000. Die International Standards Organization (ISO) veröffentlicht Standards, die von Branchen auf der ganzen Welt akzeptiert werden. Die ISO 19000 beinhaltet nicht nur eine Norm, sondern umfasst eine Reihe von Standards für geografische Informationen: → 19113 Qualitätsparameter für Geodaten → 19114 Qualitätsbewertungsverfahren von digitalen geografischen Datensätzen → 19131 spezifiziert die Anforderungen der geografischen Daten-Produkte → 19138 Qualitätsbeurteilung → 19115/19139 Metadaten-Standard Seite 29 von 60 5 Varianten der Speicherung PostGIS unterliegt der General Public License (GPL). Durch diese Software-Lizenz werden für Privatpersonen, Organisationen und Firmen entsprechende Freiheiten garantiert und zwar die Software zu nutzen, verbreiten und ändern zu dürfen. PostgreSQL nutzt dagegen die BSD License. Die Genehmigung zum Verwenden, Kopieren, Ändern und Verteilen dieser Software und ihrer Dokumentation für jeden Zweck, ohne Gebühr und ohne schriftliche Vereinbarung, wird hiermit erteilt. In den Anfängen speicherten geografische Informationssysteme (GIS) die Geodaten getrennt von den dazugehörenden Sachdaten. Die Geodaten wurden bei diesem Ansatz als spezialisierte Dateistrukturen verwaltet, während die Verwaltung der Sachdaten eine relationale Datenbank übernahm. Ein heute noch weit verbreiteter Vertreter dieser Technologie ist das sogenannte Shapefile der Firma ESRI. Eine Geodatenbank verwaltet Orte und Beziehungen geokodierter Objekte. Die PostgreSQLErweiterung PostGIS ergänzt die Datenbank um spezifische, für geometrische Objekte optimierte Datentypen. Die geografischen Objekte lassen sich in einem Raster oder als Vektoren abbilden. PostGIS kann mit räumlichen Bezugssystemen umgehen, kennt spezielle Funktionen und Indizes zur Manipulation und Abfrage der Daten über einen erweiterten SQLBefehlssatz bis hin zu komplexen Simulationsanalysen. PostGIS wird selten als eigenständige Lösung eingesetzt. Erst durch das Hinzufügen von anderen Komponenten wird die volle Leistungsfähigkeit erreicht, wie dies auch bei der Gesamtanwendung GAIA-MVprofessional der Fall ist. Zum einen ist dies die PostgreSQL Server-Programmierung. PostgreSQL bietet unterschiedliche Möglichkeiten, den Datenbankserver mit anwendungsbezogener Funktionalität, wie zum Beispiel SQL-Funktionen, zu erweitern. Zum anderen erfolgt die Visualisierung der Geodaten durch den UMN-MapServer. Dieser kann PostGIS-Vektor- und Rasterdaten zu einer Rasterkarte aufbereiten. Die Auslieferung geschieht über die genormte Web-Mapping-Service-API (WMS). Der Geoserver ist zusätzlich in der Lage, Vektordaten auszuliefern (Web Feature Service, WFS). Zusätzlich erlaubt der Geoserver Geodaten mit dem Protokoll Transactional WFS (WFS-T) zu manipulieren, ohne dabei direkt auf die Datenbank zuzugreifen. Zudem wird für die kartografische Visualisierung der Daten Desktop-GIS verwendet. Die meisten Open-Source-Desktop-GIS sind in der Lage PostGIS direkt anzusprechen, die Geodaten grafisch aufzubereiten und zu bearbeiten. Dazu gehören die Programme Quantum GIS, GRASS, OpenJump und GvSIG. Seite 30 von 60 5 Varianten der Speicherung 5.2 Räumliche Indizes In diesem Abschnitt soll zunächst erläutert werden, wie Indexe in PostgreSQL eingesetzt werden können und zudem, welcher Index für die Verwendung von geometrischen Datentypen interessant ist, der dann auch bei der Speicherung der Raster- und Vektordaten für das Höhenprofil angelegt wird. PostgreSQL unterstützt vier Indextypen. Die verfügbaren Indextypen sind folgende: → B-tree (intern »btree«) → Hash (intern »hash«) → GiST (intern »gist«) → GIN (intern »gin«) Indizes in Datenbanksystemen sind Datenstrukturen. Jeder dieser Indextypen verwendet intern einen anderen Algorithmus, der ihn für verschiedene Arten von Anfragen geeignet macht. Man kann eine Spalte auch mehrfach mit verschiedenen Typen indizieren, wenn verschiedene Indextypen angebracht sind. Allerdings wird dies eher selten verwendet. Indizes sollen die Abfragen über indizierte Daten beschleunigen. Dies wird grundlegend dadurch erreicht, dass ein großer Teil der betroffenen Wertebereiche eines Feldes im Vorhinein ausgeschlossen werden kann. Die Überprüfung auf Übereinstimmung mit dem eigentlichen Abfragekriterium ist nicht erforderlich. PostgreSQL verwendet üblicherweise „B-tree“ Indizes. Ein B-tree ist eine zweidimensionale hierarchische Datenstruktur. Diese Datenstruktur besteht aus einer Menge von Knoten und Kanten mit einem ausgezeichneten Knoten (Wurzel). Die Attributwerte werden entlang eines Pfades, der eine Folge von unterschiedlichen Knoten, die durch Kanten miteinander verbunden sind, geordnet. Daraus werden Suchbäume erstellt, die eine effizientere Suche ermöglichen. Ein Beispiel dafür wäre der Eintrag in einem Telefonverzeichnis. Die Verwendung normaler „b-tree“ Indizes auf nicht-räumliche Attribute einer PostGIS Tabelle ist möglich, wenn diese Attribute entsprechend oft Gegenstand von Abfragen sind, ansonsten ist diese Art von Index für räumliche Attribute nicht sinnvoll. Von den vier oben aufgelisteten Indextypen stellt PostGIS den Index GiST für räumliche Attribute einsetzbaren Index von PostgreSQL zur Verfügung. „GiST steht für Generalized Search Tree und ist eher als Infrastruktur für die Erstellung verschiedener anwendungsspezifischer Indextypen zu verstehen. Das eigentliche Verhalten des Seite 31 von 60 5 Varianten der Speicherung Index wird bestimmt durch die Datentypen, die Operatoren und die sogenannten Operatorklassen, die sie zusammenfügen.“ [PE07] Die Erstellung des räumlichen Index GiST kann im Befehl CREATE INDEX angegeben werden: CREATE INDEX Indexname ON table USING GIST (geometriefeld); In der Praxis werden GiST-Indexe neben der Verwendung für geometrische Datentypen (Bounding-Box-Suchen) für PostGIS-Tabellen auch für die Volltextsuche sowie diverser anderer Module, die von der Art her eher nichtskalare Datentypen oder Suchoptionen sind, verwendet. Für Geoobjekte wird die Bounding-Box-Suche angewendet, sodass die garantiert nicht bedeutsamen Geometrien mithilfe von Algorithmen ausgeschlossen werden können. Des Weiteren führt dieses Verfahren zu einer Verkleinerung der Indizes, da bei der Verwendung von Bounding-Boxen die Speicherung von nur noch zwei Koordinatenpaaren notwendig ist. Für die Abfrage räumlicher Beziehungen anhand der Bounding-Boxen sind in PostGIS eigens Operatoren vorhanden, die unter anderem eingesetzt werden, um Abfragen durch Indexnutzung zu beschleunigen. Zusätzlich beinhalten viele der Funktionen zur Prüfung der räumlichen Beziehung zwischen Objekten implizit Abfragen bezüglich der Überlappung der Bounding-Boxen. Dadurch kann oft auf den expliziten Einsatz von räumlichen Operatoren verzichtet werden. Grundsätzlich können Indizes lesende Abfragen erheblich beschleunigen, gleichzeitig müssen sie aber bei jeder Änderung an einem indizierten Datenfeld aktualisiert werden, was wiederum Ressourcen in Anspruch nimmt. Prinzipiell erfolgt die Entscheidung einer Indizierung eines Feldes danach, ob oft lesend abgefragt wird oder keine häufige Veränderung oder Ergänzung der Daten vorgenommen wird. Die Höhenprofilabfrage kann sehr oft erfolgen, das hängt davon ab, wie viele Nutzer diese Möglichkeit in GAIA-MVprofessional wahrnehmen. Die Daten in der Datenbank werden nur dann verändert, wenn nach einer erneuten ALSBefliegung (Airborne Laserscanning) neue DGM-Daten vorliegen. Somit erfüllen die Tabellen die Kriterien für eine Indizierung. Der GiST-Index wurde bei der Speicherung der beiden Tabellen dgmmv_dgm25 und dgmmv_dgm100 in Vektorform bereits eingesetzt. Bei der Speicherung der drei Tabellen dgmmv_dgm5, dgmmv_dgm25 und dgmmv_dgm100 im Rasterformat wurde auch wieder darauf geachtet, dass der GiST-Index angelegt wurde. Seite 32 von 60 5 Varianten der Speicherung 5.3 Vektorverarbeitung mit PostGIS Für die Tabellendefinition in PostGIS stehen zwei unterschiedliche Datentypen (geometry und geography) für die Beschreibung von Vektordaten zur Verfügung. Die beiden abstrakten Typen repräsentieren unterschiedliche Arten von Koordinaten. Der Datentyp geometry stellt Punkte mit Koordinaten in einem kartesischen Koordinatensystem dar. Dagegen wird der Datentyp geography bei sphärischen Koordinaten, zum Beispiel bei der Verwendung von Längen- und Breitengrad, genutzt. Der Vorteil des Geometry-Typs ist die bereits frühe Unterstützung seit Beginn der PostGISEntwicklung und somit stehen mehr Funktionen zur Verfügung als für den Geography-Typ. Zudem greifen die Funktionen, die mit Geometry-Typ Daten arbeiten, auf die Geometry Engine Open Source Bibliothek zurück. Dies ist eine freie Programmbibliothek zur Handhabung von 2D-Geometrien. Auch ist die Performance der räumlichen Funktionen besser als beim Geography-Typ, weil die Berechnungen beim Geometry-Typ aufgrund der kartesischen Mathematik einfacher sind. Grundsätzlich stehen alle Geometrietypen, sowohl für Koordinaten im Geometry-, als auch im Geography-Datentyp zur Verfügung. In der Abbildung 15 „Datenmodell SQL/MM Spatial“ sind, die als konkrete Vektor-Basistypen von der SFSQL definierten, Punkt (ST_Point), Linienzug (ST_Curve) und Fläche (ST_Surface) dargestellt. Zusätzlich definiert SFSQL in dem Datenmodell SQL/MM Spatial eine Sammlung von Datenstrukturen, zum Beispiel MULIPOINT, MULTISTRING und MULTIPOLYGON, die zu der Klasse ST_GeomCollection gehören. Aufgrund dieser aufgelisteten Vorteile des Datentyps Geometry und weil sich die räumliche Ausdehnung für den Geodatenviewer GAIA-MVprofessional nur auf das Gebiet auf Mecklenburg-Vorpommern bezieht und die amtlichen Geodaten für Mecklenburg-Vorpommern in dem regionalen Projektionen UTM Zone 33N liegen, wird der Datentyp Geometry für die Speicherung von Datenbeständen für die Vektorverarbeitung verwendet. Seite 33 von 60 5 Varianten der Speicherung 5.4 Rasterverarbeitung mit PostGIS Räumliche Objekte lassen sich auch auf ein Raster projizieren. Auch hier wird das OpenSource Datenbanksystem PostgreSQL verwendet. Nur wird diesmal die Erweiterung PostGIS ab der Version 2.0 genutzt. Diese Version steht seit dem Jahr 2012 zur Verfügung. Der entsprechende Raster-Datentyp ist ab dem Release 2.0 direkt in PostGIS integriert. Ab dieser Version bestand somit die verbesserte Möglichkeit, Raster abzuspeichern. Im Jahr 2009 gab es den ersten Prototypen von WKTRaster, den Vorläufer des heutigen PostGIS-Rasters. Im Vergleich zu dem Oracle Georaster ist die Verarbeitung einfacher, weil bei PostGIS nur ein Datentyp notwendig ist und im Gegensatz dazu bei Oracle die beiden Datentypen SDO_GEORASTER und SDO_RASTER vorhanden sind. Dies erleichtert das Arbeiten mit Rastern in der Datenbank PostgreSQL erheblich. Die Daten in der Datenbank werden somit mit dem Datentyp raster abgespeichert. Genau wie bei der Vektorablage können auch bei der Rasterspeicherung ein räumlicher Index angelegt werden. Das PostGIS-Raster enthält Plugins für die GIS-Anwendung Quantum GIS und gvSIG. Zudem ist der Datentyp so ähnlich wie der PostGIS-Vektor geometry. Die Möglichkeit der Raster-/Vektor-Konvertierung ist durch folgende Befehle möglich: ST_DumpToPolygons(raster) → GEOMETRY ST_AsRaster(geometry, pixelsize) → RASTER Ab der Version PostGIS 2.0 wurden weitere rasterbezogene Funktionen hinzugefügt, um eine verbesserte Rasterverarbeitung zu ermöglichen. Diese erleichtern die Abfrage von Rasterdaten. Die Funktion ST_Intersection(); die erst nach der Einführung von PostGIS 2.0 eine Verschneidung von Rastern erlaubt, wogegen vorher nur eine Verschneidung innerhalb von Vektoren möglich war. Mithilfe der Verschneidungsfunktion ST_Intersection() ist die Verschneidung von Raster- und Geometriedaten möglich. Diese Funktion kann auch eine wichtige Rolle bei der Abfrage von Höhenprofilen spielen. Ein anderer Datentyp, der Rasterdaten unterstützt, ist der spezielle Datentyp geomval. Dieser Datentyp ist eine Verbindung bestehend aus einem Geometrieobjekt in dem Feld geom und aus dem Feld val. Das Feld val beinhaltet einen Wert mit doppelter Genauigkeit, der dem Pixelwert an einer bestimmten Stelle in einem Raster-Band zugewiesen wird. Dieser Datentyp kommt auch bei der Umsetzung zur Ermittlung der Höhenwerte entlang einer Linie in dem Abschnitt 6.2.3 bei dem Verfahren-Sampling vor. Seite 34 von 60 5 Varianten der Speicherung 5.5 ERDAS APOLLO Nachdem das aktuell verwendete Datenbanksystem PostgreSQL und die Erweiterung PostGIS ab der Version 2.0 genauer vorgestellt wurde, wird nun noch näher auf ein kommerzielles Produkt eingegangen. Die Firma Intergraph stellt die Geospatial Produktlinie vor. Die Produkte decken verschiedene Bereiche in der Photogrammmetrie, der Fernerkundung, der Geoinformationssysteme ab und beinhalten überdies mehrere Server. Für die Speicherung der Geodaten wie Vektor, Georaster oder auch DGM-Daten steht der Server ERDAS APOLLO zur Verfügung. „ERDAS APOLLO ist ein umfassendes System um Geodaten zu verwalten, zu analysieren und bereit zu stellen.“[EA13] Für Firmen besteht somit die Möglichkeit, die entsprechenden großen Datenmengen von Geodaten mittels automatisierten Prozessen zu analysieren und die Daten per Internet zu bearbeiten. Mit ERDAS APOLLO ist eine schnelle Verteilung von Raster- und Bilderdaten möglich und unterstützt das Protokoll mit dem ultraschnellen Streaming (ECWP). „Das hochperformante Streamingprotokoll ECWP erlaubt es, mehr als 5.000 Clients zu bedienen – nur mit einem Server.“[EA13] Die Integration von ERDAS APOLLO in GIS-Umgebungen ist möglich. Dort, wo ECWP in Softwareumgebungen nicht unterstützt wird, können auch andere Plugins (ArcGIS oder AutoCAD Plugins) verwendet werden. ERDAS APOLLO unterstützt die Standards von ESRIs GeoService Protokoll und OpenGIS Web Map Service Spezifikationen. Daneben implementiert ERDAS APOLLO zum Beispiel Web Mapping Service (WMS) und Web Map Tile Services (WMTS). Neben dem ERDAS APOLLO Essentials, dies ist die erste Funktionsstufe, sind zwei weitere Funktionsstufen ERDAS APOLLO Advantage und ERDAS APOLLO Professional verfügbar. Die Stufen unterscheiden sich im Umfang ihrer Funktionen und Analysemöglichkeiten für Geoprozesse und Geodaten. Zu den Organisationen, die ERDAS APOLLO Advantage nutzen, „zählen Landesvermessungsämter, Organisationen für zivile Sicherheit und Katastrophenschutz, Einrichtungen der Verteidigung sowie Behörden und Unternehmen aus dem Bereich der Land- und Forstwirtschaft, Exploration, Umweltmonitoring, Raumplanung, Verkehr, Telekommunikation oder Infrastruktur-Planung.“[EA13] Seite 35 von 60 5 Varianten der Speicherung 5.6 Umstellung auf PostGIS 2.0 Das kommerzielle Datenbanksystem ERDAS APOLLO spielt keine weitere Rolle mehr, da aus finanzieller Sicht das Open-Source Datenbanksystem PostgreSQL mit dem Aufsatz PostGIS für den weiteren Einsatz mehr Sinn macht. Zudem wurden bereits positive Erfahrungen mit PostgreSQL gemacht. Deswegen fiel die Entscheidung auf den Einsatz von PostGIS ab der Version 2.0. Somit kann, nachdem die Version von PostGIS aktualisiert und die Tabellen mit Rasterdaten erstellt wurden, mit dem Testen der Varianten zur Berechnung von Höhenprofilen begonnen werden. Mit dem folgenden Befehl kann die aktuelle Version von PostGIS in Erfahrung gebracht werden: SELECT PostGIS_full_version(); Vor dem Aktualisieren der neuen Version auf PostGIS 2.0 war die Version 1.5.0 vorhanden. Die Umstellung auf eine höhere Version von PostgreSQL und der Erweiterung PostGIS erfordert keinen großen Aufwand. Nur die Einarbeitung in den neuen Datentyp raster sowie die weitere Recherche der neuen Funktionen ist erforderlich. Neben dem Aktualisieren der Version PostGIS ist die Speicherung der xyz-Daten in die Datenbank notwendig, wobei eine Spalte in der Tabelle den Datentyp raster haben muss. Mit dem Programm Feature Manipulation Engine, kurz FME, wurde dies umgesetzt. FME ist ein leistungsfähiges und flexibles Spatial ETL-Werkzeug für die professionelle und effiziente Verarbeitung raumbezogener Daten. Spatial ETL-Werkzeuge sind benutzerdefinierte Geoverarbeitungswerkzeuge, mit denen Daten zwischen verschiedenen Datenmodellen und Dateiformaten konvertiert werden können. Ab FME 2013 besteht die Möglichkeit des Lesens und Schreibens von Rasterdaten mit PostGIS. Während dieser Routine werden aus den dgm5-Daten die Tabellen mit den Namen dgmmv_dgm5, dgmmv_dgm25 und dgmmv_dgm100 erstellt und werden auch gleichzeitig mit dem Index GiST und einer Spalte mit dem Datentyp rast in der Datenbank gespeichert. Die Anpassung und Umstellung in GAIA-MVprofessional wird in dem Abschnitt 7.2.2 „GAIA-MVprofessional Umgebung“ erläutert. Seite 36 von 60 6 Berechnung des Höhenprofils 6 Berechnung des Höhenprofils In diesem Kapitel wird zum einen das aktuelle Verfahren zur Herstellung eines Höhenprofils auf der Grundlage der Speicherung von Vektordaten dargestellt; zum anderen werden die geeigneten Möglichkeiten für eine sinnvolle Analyse für die Abfrage von Punkt und Linie vorgestellt. Dabei geht es darum, 2D-Geometrie, wie zum Beispiel ein Punkt oder eine Linie, entlang des Digitalen Geländemodells zu drapieren und eine 3D-Geometrie (Höhenprofil) zu erhalten. Zu der Linienabfrage werden drei verschiedene Strategien genauer vorgestellt. Dabei variieren hauptsächlich die Anzahl der aufgenommenen Punkte und damit schließlich die Genauigkeit des Höhenprofils. Entscheidend ist auch die Wahl zur Ermittlung der Punkte. Dabei gibt es verschiedene Verfahren zur räumlichen Interpolation und Modellierung von Flächen im Raum. Hierbei werden die drei Verfahren an der Strecke aus dem Abschnitt 3.2.1 „Beispielstrecke in Schwerin“ getestet, um ihre Unterschiede noch deutlicher hervor zu heben. Zum Schluss folgen eine Auswertung der drei Verfahren und eine Entscheidung, welches Verfahren für GAIA-MVprofessional am besten geeignet ist. 6.1 Höhenprofilabfrage im Vektorformat Für die räumliche Interpolation und Modellierung von Flächen im Raum bietet PostGIS verschiedene Funktionen leistungsfähiger Verfahren an. Bei der Vektorverarbeitung wird das Höhenmodell mit dem Verfahren Triangulated Irregular Network kurz TIN aufgebaut. TIN bedeutet Dreiecksvermaschung und hat die Form eines irregulären Mosaiks. Dies ist die lückenlose und überlappungsfreie Überdeckung einer Ebene durch Verwendung mehrerer Dreiecke. Dies wird verwendet, um zusammenhängende räumliche Daten zu repräsentieren, die auf einem Satz unregelmäßig verteilter Punkte zurückzuführen sind. TIN erlaubt dichte Informationen in komplexen Flächen und spärliche Informationen in einfachen oder homogenen Flächen umzuwandeln. Ein TIN, siehe Abbildung 16 „Triangulated Irregular Network“, wird im Digitalen Geländemodell (DGM) häufig als Methode zur Erstellung eines Höhenprofils aus Punktdaten im Vektormodell verwendet. Ausgehend von wenigen, im Raum verteilten, Punkten wird ein TIN erstellt. Als Stützpunkte des Höhenmodells werden die bereits vorhandenen gemessenen Punkte gewählt. Diese Punkte verfügen über X- und Y- Koordinaten und einen Attributwert (Höhenwert). Die Höhenwerte Seite 37 von 60 6 Berechnung des Höhenprofils der Koordinatenpunkte werden nur punktuell in der Datenbank gespeichert. Die grauen Punkte in der Abbildung 16 werden so miteinander verbunden, dass sie Dreiecke bilden. Abbildung 16 Triangulated Irregular Network Durch das TIN wird eine Linie mit Start- und Endpunkt gezeichnet, für die ein Höhenprofil erstellt werden soll. Eine schwarze Linie, wie in der Abbildung 16 ersichtlich, kann an Stellen entlang verlaufen, wo keine Höhenwerte für einen Punkt vorhanden sind. An beliebiger Stelle können innerhalb eines Dreiecks aus den vorhandenen Messwerten neue Punkte mit Höhenwerten interpoliert werden. Von den bekannten Höhenwerten z kann somit durch Interpolation auf die unbekannten z-Höhenwerte geschlossen werden. 6.2 Profilabfrage einer Linie Nachfolgend werden die drei verschiedenen Möglichkeiten, eine Linie entlang eines DGM zu drapieren, vorgestellt und das Pro und Kontra der einzelnen Verfahren gegenübergestellt. Die Strategien werden besonders hinsichtlich der Fragestellung, wie viele Punkte entlang der Linie aufzunehmen sind und wie der Abstand zwischen den Punkten für ein genaues Höhenprofil sein muss, aufgestellt. Wichtig dabei ist das Erreichen eines guten Gleichgewichtes. In dem Zusammenhang werden die verwendeten PostGIS-Funktionen für jedes Verfahren vorgestellt. Die Funktionen wurden dabei aus den Abfragen der Verfahren entnommen. Die Beschreibungen zu den dargestellten Funktionen wurden aus dem offiziellen Handbuch PostGIS in der Version 2.1.2 entnommen. Seite 38 von 60 6 Berechnung des Höhenprofils 6.2.1 Höhenprofil mit Geometrie- Auflösung Bei diesem Verfahren wird ein Höhenwert pro markierten Punkt in der Karte ermittelt. Die erfassten Höhenpunkte werden mit einer geraden Linie miteinander verbunden. Zwischen den Punkten werden allerdings keine Erhebungen oder Senkungen im Gelände berücksichtigt. Das so entstandene Höhenprofil könnte wie folgt aussehen: Abbildung 17 Höhenprofil mit Geometrie-Auflösung [ML13] Bei diesem Verfahren wird die ursprüngliche Anzahl an gesetzten Punkten beibehalten. Die Funktion ST_DumpPoints(geom) gibt eine Folge von allen Punkten, die das Geometrieobjekt besitzt, wieder. Der Parameter geom in Klammern ist dabei die übergebende Polylinie mit einer Anzahl an befindlichen Punkten. Die Anzahl der gesetzten Punkte ist somit immer identisch mit der Ergebnisanzahl des Höhenprofils. Nur zu den Punkten werden auch die Höhenwerte ermittelt, was allerdings auch der große Nachteil hinsichtlich der Genauigkeit dieses Höhenprofils ist. Eine Menge an 3D-Informationen gehen bei diesem Verfahren verloren, da Sprünge zwischen den Punkten gemacht werden. Das Höhenprofil zeigt nicht die korrekte Darstellung der Wirklichkeit. Dies wird besonders deutlich bei dem Vergleich der Abbildung 17 „Höhenprofil mit Geometrie-Auflösung“ mit Abbildung 18 „Höhenprofil mit DGM-Auflösung“. Bei dem Verfahren mit Geometrie-Auflösung wird eine gerade ansteigende Linie zwischen den ersten beiden Punkten gezogen und jegliche Höhenanstiege oder Höhenabfälle, anders bei der DGMAuflösung, nicht berücksichtigt. Aus diesem Grund ist das Verfahren auch ungeeignet, da das Höhenprofil die Realität zu sehr verfälscht. Seite 39 von 60 6 Berechnung des Höhenprofils 6.2.2 Höhenprofil mit DGM- Auflösung Bei diesem folgenden Verfahren wird ein anderes, detaillierteres Ergebnis erreicht, als bei der zuvor erläuterten Strategie. Hier wird pro Zelle des Rasters ein Höhenwert ermittelt. Die Schnittmenge für jede Rasterzelle zwischen dem Raster und dem Geometrieobjekt Linie wird dabei durch die Funktion setoff geomval ST_Intersection(raster rast, geometry geom), die eine Geometrie mit neu ermittelten x,y-Werten pro Zelle zurückgibt, erreicht. Dabei wird von der Verschneidung betroffene Bereich zunächst vektorisiert, sodass für alle betroffenen Pixelwerte entstehen und dann mit der Geometrie verschnitten. Dadurch werden viel mehr Höhenwerte bestimmt, die dann im Resultat ein sehr genaues Höhenprofil ergeben. Der große Vorteil bei diesem Verfahren ist, dass die gesamte Geländeoberfläche erfasst wird. Innerhalb der Linie zwischen den markierten Punkten werden Veränderungen im Gelände mit berücksichtigt. Abbildung 18 Höhenprofil mit DGM-Auflösung [ML13] Der Nachteil dabei ist, dass die Datenmenge sehr umfangreich sein kann und somit die Abfrage zu lange dauern könnte. Auch ist es eine Überlegung wert, ob wirklich alle Höhenpunkte erforderlich sind. Hier stellt sich insbesondere die Frage, für welchen Zweck soll das Höhenprofil verwendet werden. Bei dem Beispiel mit der Richtfunkstrecke zwischen Parchim und Ludwigslust ist ein genaues Höhenprofil nicht so entscheidend, da nicht jede kleine Erhebung berücksichtigt werden muss. In diesem konkreten Fall war die höchste Erhebung ausschlaggebend. Dagegen ist beim zweiten Beispiel jede Erhebung wichtig, da die kleinsten Anstiege oder tiefere Täler für Schwerlasttransporte zur Weiterfahrt hinderlich sein können. Im nächsten Verfahren wird dagegen die Datenmenge begrenzt durch die Angabe, die Linie in regelmäßige Abschnitte zu teilen, und nur an diesen Punkten die Höhenwerte zu erfassen. Seite 40 von 60 6 Berechnung des Höhenprofils 6.2.3 Auswahl an Punkten (Sampling) Beim Sampling wird die Technik angewendet, nur eine bestimmte Anzahl an Messungen zu erhalten, mit dem Ziel, eine befriedigende und ausreichende Repräsentation der Wirklichkeit zu erreichen. Durch die lineare Interpolation mit der Funktion ST_AddMeasure (line.geom, 0, ST_Length (line.geom)) wird eine abgeleitete Geometrie zwischen dem Start- und Endpunkt der Linie wiedergegeben. Die Strecke wird in eine bestimmte Anzahl von Punkten, mit gleichem Abstand zueinander, geteilt, wie in der Abbildung 19 „Höhenprofil mit dem Verfahren Sampling“ umgesetzt. Pro Abschnitt wird ein Höhenwert ermittelt. Das Höhenprofil ist dann zwar ungenauer als bei der vorherigen Variante, aber dafür eine geringere Datenmenge vorhanden und somit auch eine schnellere Abfrage möglich. Der Vorteil bei diesem Verfahren ist, dass die Möglichkeit besteht, die Ergebnismenge selber zu steuern und so eine resultierende Auflösung zu bekommen. Der Abstand zwischen den Punkten wird durch die folgende Funktion ermittelt: generate_series (start, stop, step); Diese Funktion gibt eine Sammlung von Geometrieobjekten zwischen dem Startpunkt (start) und dem Endpunkt (stop) der Linie wieder. Als step wird der Abstand zwischen den zu ermittelnden Punkten angegeben. Der Nachteil dabei liegt in der Schwierigkeit, eine gute Balance je nach Ausmaß der Geometrie zu finden. Abbildung 19 Höhenprofil mit dem Verfahren Sampling [ML13] Die Berechnung der Schnittpunkte kann sehr rechenintensiv sein. In einem gitterbasierten Geländemodell (Raster) werden daher die Höhenwerte zwischen Start- und Endpunkt mit Hilfe von Näherungsalgorithmen ermittelt. Mit der folgenden Funktion werden entlang der Linie (line) die x,y-Werte in regelmäßigen Abständen (i) abgefragt und gespeichert: ST_LocateAlong(line, i); Seite 41 von 60 6 Berechnung des Höhenprofils Der Parameter i innerhalb der Funktion hat den Wert der berechneten Geometrie aus der Funktion: generate_series (start, stop, step); Da jede Rasterzelle genau eine Höhenangabe hat, muss somit nur berechnet werden, in welcher Rasterzelle der betreffende Zwischenpunkt liegt. Die Überprüfung, ob die Sammlung von Punkt-Geometrien (p.geom) in dem Raster (dgmmv_dgm25.rast) liegt, erfolgt mit folgender Funktion: ST_Intersects (dgmmv_dgm25.rast, p.geom); Die Prüfung durch ST_Intersects ermöglicht es, dem System eine schnellere Vorauswahl der in Frage kommenden Punkt-Geometrien durchzuführen, bei der eventuell vorhandene räumliche Indizes für Geometrie und Raster genutzt werden können. Diese Funktion gibt im Ergebnis TRUE (wahre Aussage) oder FALSE (falsche Aussage) zurück. TRUE ist, wenn eine Überschneidung zwischen der Linie (p.geom) und der konvexen Hülle der Rasterkachel (dgmmv_dgm25.rast), die ebenfalls Polygone darstellen, vorliegt. Abhängig von der Bereitstellung des Rasters und der Geometrie in der Funktion ST_Intersects wird der Test entweder in der Rasterumgebung oder in der Geometrieumgebung berechnet. Ist die Reihenfolge innerhalb der Funktion ST_Intersects(Raster, Geometrie), so erfolgt der Test auf der Raster-Ebene. Die Geometrie wird dabei in ein Raster umgewandelt. Wenn die Funktion ST_Intersects(Geometerie, Raster) in der Reihenfolge steht, ist der Test auf der Geometrie-Ebene. Das Raster wird in Polygone umgewandelt. Die Zusammenführung von Höhenwert (val) und Geometrie (p.geom) erfolgt durch die folgende Funktion: ST_Value (dgmmv_dgm25.rast, 1, p.geom) AS val; Jedes Rasterobjekt kann ein oder mehrere Bänder beinhalten, die ihrerseits wieder Pixelwerte beinhalten. In diesem Fall beinhaltet das Band 1 die aneinander gereihten Höhenwerte. Die Funktion gibt aus dem gewählten Band 1 den Höhenwert (val) eines geometrischen 2DPunktes (p.geom) wieder. Die Abfrage endet mit der Ausgabe der berechneten x,y,z-Werte, wobei x und y auf keine Nachkommastelle gerundet werden und der z-Wert auf eine Stelle nach dem Komma. Seite 42 von 60 6 Berechnung des Höhenprofils 6.2.4 Analysemöglichkeiten anhand der Beispielstrecke Als Beispiel dient hier wieder dieselbe Strecke, die bereits im Kapitel 3.2 „Die Benutzung in GAIA-MVprofessional“ verwendet wurde. Zu dieser Strecke gibt es bereits die Abbildung 10 „Luftbild und Geländeprofil“. Die Strecke zwischen den beiden Straßenbahnhaltestellen „Büdnerstraße“ und „Friesensportplatz“ umfasst insgesamt 595,5 Meter. Die Route befindet sich innerhalb der beiden Blattschnitte 332605848 und 332605950. Mit vier Punkten wurde die Route entlang der Lübecker Straße auf der Karte markiert und die Koordinaten der Punkte konnten aus der nachfolgenden Tabelle entnommen werden. Punkte x y Punkt 1 (Haltestelle Büdnerstraße) 33260890,802 5950138,537 Punkt 2 33260990,534 5950105,687 Punkt 3 33261037,665 5950073,934 Punkt 4 (Haltestelle Friesensportplatz) 33261328,086 5949752,062 Tabelle 04 Koordinaten der Beispielstrecke Die Tabelle 5 „Geländeprofil und Schummerungsdarstellung der Beispielstrecke“ dient zur weiteren Veranschaulichung der bereits oben beschriebenen drei Varianten und soll die Unterschiede zwischen den Verfahren veranschaulichen. Bei der Schummerungsdarstellung wird zudem die Strecke mit einer durchgezogenen Linie angezeigt, worauf die entsprechende Anzahl der erfassten Punkte drapiert sind. PostGIS unterstützt die Speicherung und Manipulation von Geodaten. Die Visualisierung der Daten (DGM_Shading) ist nicht möglich und deswegen erfolgte dies durch die freie DesktopGIS-Anwendung Quantum GIS. Neben der Schummerungsdarstellung in der ersten Zeile der Tabelle 5 wird in der nächsten Zeile zusätzlich das passende Geländeprofil für jedes Verfahren einzeln angezeigt. Die drei Schummerungsdarstellungen und Geländeprofile weisen große Unterschiede in ihrer Darstellung auf. Dies ist darauf zurückzuführen, dass bei den drei Verfahren eine unterschiedliche Anzahl von Punkten aufgenommen wird. Bei dem Verfahren mit Geometrie-Auflösung werden, wie oben bereits beschrieben, nur die Höhen der gesetzten Punkte ermittelt und dann durch eine gerade Linie miteinander verbunden. In diesem Fall markieren vier Punkte die Strecke. Zum einen ist das der Startpunkt bei der Haltestelle „Büdnerstraße“, und zum anderen die zwei weiteren Punkte auf Grund der Seite 43 von 60 6 Berechnung des Höhenprofils Straßenkrümmung sowie zum Schluss der Endpunkt an der Haltestelle „Friesensportplatz“. Genau diese vier Punkte sind deutlich bei der Schummerungsdarstellung der GeometrieAuflösung sichtbar. Dagegen weisen die anderen beiden Verfahren wesentlich mehr als nur vier Punkte auf. Die DGM-Auflösung hat 167 Höhenpunkte und beim Sampling wird die Strecke mit 24 gleichmäßig verteilten Punkten abgedeckt. Der geringste Abstand mit 3,6 Metern zwischen den einzelnen Punkten ist bei der DGM-Auflösung und somit auch das genaueste Geländeprofil von den drei Verfahren, was wiederum der Realität so am nächsten kommt. In der Schummerungsdarstellung des Verfahrens mit DGM-Auflösung sind die Abstände zwischen den Punkten kaum sichtbar und ähneln mehr einer durchgezogenen Linie. Es kann nur ein sehr detailliertes Höhenprofil erreicht werden, wenn die Punkte möglichst nahe beieinander liegen. Mit Geometrie-Auflösung Mit DGM-Auflösung Sampling Tabelle 05 Geländeprofil und Schummerungsdarstellung der Beispielstrecke Beim Sampling kann es passieren, dass nicht der Endpunkt mit erfasst wird. Vom Startpunkt aus werden die Punkte im entsprechenden Meterabstand gesetzt, sodass am Ende eine Teilstrecke übrig bleibt. In diesem Beispiel ist genau dies der Fall. Die Ermittlung des Höhenprofils beruht dabei auf der Grundlage des DGM25 und die Punkte haben einen Abstand von 25,9 Meter. Deswegen liegt beim Sampling-Verfahren der höchste Punkt bei 60 Meter (entspricht nicht dem Endpunkt) und nicht wie bei den anderen beiden Verfahren bei 61 Meter Höhe am Endpunkt. Seite 44 von 60 6 Berechnung des Höhenprofils 6.2.5 Fazit zu den drei Verfahren Die Entscheidung fiel letztendlich auf das Verfahren Sampling, weil es mehrere Vorteile gegenüber den anderen beiden Varianten hat. Der wesentliche Vorteil liegt darin, dass jeweils die entsprechenden Werte für die Länge der Abschnitte zwischen den Punkten je nachdem, welches DGM zur Ermittlung des Höhenprofils verwendet wird, direkt eingegeben werden können. Die Datenmenge fällt deswegen nicht so umfangreich wie bei dem Verfahren DGMAuflösung aus. Bei der vorgestellten Beispielstrecke fällt dies noch nicht so sehr ins Gewicht. Wenn allerdings die Streckenlänge mehrere Kilometer umfasst, werden riesige Datenmengen mit dem Verfahren DGM-Auflösung erreicht. Dies ist bei der späteren Auswertung nicht wünschenswert. In einem relativ flachen Bundesland wie Mecklenburg-Vorpommern es ist, sind große Mengen an Höhenpunkten nicht erforderlich. Mit dem Verfahren Sampling lässt sich genau dieses Problem besser steuern. Inwieweit auch eine Verbesserung der Qualität in der Genauigkeit von Geländeprofilen in GAIA-MVprofessional mit dem Datenbanksystem PostgreSQL und dem Zusatz von PostGIS 2.0 erreicht werden kann, wird in der Abbildung 20 „Geländeprofil der Beispielstrecke mit PostGIS 2.0“ deutlich. Wenn die Abbildung 9 „Luftbild und Geländeprofil der Beispielstrecke“ als Vergleich herangezogen wird, ist ein Unterschied eindeutig erkennbar. Das Geländeprofil ist viel feiner und genauer. Sprünge zwischen den Höhen sind kaum noch erkennbar oder fallen geringer aus als vorher. Dies wurde erst erreicht durch die Einführung der Geodaten des DGM5 in die Datenbank; der Punktabstand ist hierbei geringer als bei dem DGM25. Abbildung 20 Geländeprofil der Beispielstrecke mit PostGIS 2.0 Seite 45 von 60 6 Berechnung des Höhenprofils 6.3 Profilabfrage eines einzelnen Punktes Diese Profilabfrage besteht im Wesentlichen aus denselben Komponenten und Funktionen wie die Linienabfrage. Für die Ermittlung des Profils eines Punktes in dem Raster wird derselbe Algorithmus verwendet wie bei der Linienabfrage. Entscheidend ist hier die Lage des Punktes innerhalb welcher Rasterzelle dieser sich befindet, da jede Zelle des Rasters einen Höhenwert angibt. Bei dem Algorithmus wird auch immer das genaueste Digitale Geländemodell verwendet. Der Unterschied besteht nur darin, dass keine Linie abgefragt wird, sondern die Koordinaten des gewünschten Punktes oder gegebenenfalls mehrere Punkte. Somit ist die SQL-Abfrage auch nicht so umfangreich wie bei einer Linie. Die Unterteilung der Linie in gleichmäßige Abschnitte fällt weg. Die Abfrage besteht nur noch darin, dass ermittelt wird innerhalb welcher Rasterzelle sich der einzelne Punkt befindet. Seite 46 von 60 7 Testrahmen 7 Testrahmen Die Speichermengen in den Datenbanken PostgreSQL in Vektorform und PostgreSQL in Rasterform werden nachfolgend miteinander verglichen. Der Testrahmen beinhaltet darüber hinaus die Abfragen in den Datenbanken und anschließend in GAIA-MVprofessional. Umso kleiner die Datenmenge in einer Datenbank, umso schneller erfolgt die Abfrage. Bevor mit dem Testen begonnen werden konnte, musste die Datenbank mit der neuen Version PostgreSQL und der Erweiterung PostGIS 2.0 installiert werden. Diese werden in der Datenbank PostgreSQL mit dem Namen dgmmv_dgm25 und dgmmv_dgm100 abgespeichert. Der Name der Tabelle steht für „Digitales Geländemodell Mecklenburg Vorpommern _ Digitales Geländemodell“. 7.1 Vergleich der Speichermenge Mithilfe der Open-Source-Software pgAdmin wurden die SQL-Abfragen erstellt. Dabei dient pgAdmin zur Entwicklung und Administration von PostgreSQL-Datenbanken. Durch eine Anbindung an PostgreSQL ermöglicht die grafische Benutzerschnittstelle (Graphical User Interface GUI) den Zugriff auf die gesamten PostgreSQL-Funktionalitäten. Die Tabelle dgmmv_dgm5 existiert bei der Vektorverarbeitung noch nicht. Die Gründe dafür wurden in dem Abschnitt 4.4 „Datenabgabe vom LAiV und Vorstellung der Datensätze“ näher erläutert. Deswegen wird die Tabelle bei dem Vergleich auch nicht näher berücksichtigt. Ansonsten werden die Anzahl der eingefügten Tupel (Zeilen) und die Datenmenge in der Einheit Megabyte (MB) in den Tabellen dgmmv_dgm25 und dgmmv_dgm100 verglichen. Tabellenname Tupel- Eingefügt Größe dgmmv_dgm100 5.425.340 353 MB dgmmv_dgm25 43.335.600 66.141 MB Tabelle 06 Größe der dgmmv Tabellen PostgreSQL in Vektorform Bei der Einführung von PostGIS ab der Version 2.0 wurde noch zusätzlich die Tabelle dgmmv_dgm5 erstellt. Ziel ist es, ein detailreicheres Höhenprofil zu erhalten. Diese Tabelle wird trotzdem vollständigkeitshalber in der Tabelle 7 „Größe der dgmmv Tabellen PostgreSQL in Rasterform“ aufgeführt, aber im Vergleich nicht weiter berücksichtigt. Allerdings ist schon erkennbar, dass die Tabelle dgmmv_dgm5 eine geringere Anzahl an Tupel (2.562.400) anzeigt, als die Tabelle dgmmv_dgm25 (43.335.600 Tupel) ohne den Aufsatz Seite 47 von 60 7 Testrahmen von PostGIS, siehe Tabelle 6 „Größe der dgmmv Tabellen PostgreSQL in Vektorform“. Somit ist die Tabelle dgmmv_dgm5 auch hinsichtlich der Speichermenge bereits wesentlich kleiner. Tabellenname Tupel- Eingefügt dgmmv_dgm100 dgmmv_dgm25 dgmmv_dgm5 Größe 6.406 16 MB 102.496 223 MB 2.562.400 4.891 MB Tabelle 07 Größe der dgmmv Tabellen PostgreSQL in Rasterform 7.2 Vergleich der Laufzeit Nachdem der Speicherbedarf in der Datenbank zwischen PostgreSQL in Vektorform und PostgreSQL mit dem Aufsatz PostGIS in Rasterform gegenübergestellt wurde, wird nun die Zeitmessung in der Einheit Millisekunde (ms) für die Punkt- und Linienabfrage verglichen. Dabei wird zunächst die zeitliche Messung innerhalb der Datenbank vorgenommen und anschließend diese genauer in der GAIA-MVprofessional Umgebung betrachtet. 7.2.1 Datenbank Umgebung Die Abfrage eines Punktes und einer Linie erfolgt in der PostgreSQL Datenbank zum einen über die SQL-Befehle für die Tabellen (dgmmv_dgm25, dgmmv_dgm100), die im Vektorformat gespeichert sind. Zum anderen werden die neuen SQL-Befehle für die Abfrage eines Punktes und einer Linie für die neu erstellten Tabellen (dgmmv_dgm25, dgmmv_dgm25, dgmmv_dgm100), die allerdings im Rasterformat vorliegen, getestet. Als Ergebnis der Punktabfrage werden die x- und y-Koordinaten sowie deren Höhenwert z erwartet. Bei der Linienabfrage werden dagegen als Ergebnisse mehrere Punkte mit dem Attributwert z aufgelistet. 7.2.2 Cache Die erste Abfrage in der Datenbank ist dabei immer zeitaufwendiger als die zweite Abfrage. Grund dafür ist der Cache. Dies ist ein schneller Puffer-Speicher. Durch diesen Cache werden aufwändige Neuberechnungen vermieden. Die Daten, die zu der Punkt- oder Linienabfrage schon einmal berechnet wurden, verbleiben im Cache. Bei dem wiederholten Abruf kann somit ein schnellerer Zugriff erfolgen. Seite 48 von 60 7 Testrahmen 7.2.2.1 Punktabfrage Als Beispiel für die Zeitmessung einer Punktabfrage in der PostgreSQL Datenbank wurde ein Punkt auf der Schlossinsel in Schwerin ausgewählt. Der Punkt hat dabei die Koordinaten 33263187,516 und 5947700,182 und befindet sich innerhalb des Blattschnitts mit der Nummer 332625946. Der Blattschnitt und der Punkt sind in der Abbildung 21 „Punktdarstellung Schweriner Schloss“ abgebildet. Abbildung 21 Punktdarstellung Schweriner Schloss Die Ergebnismenge bei der Punktabfrage weist immer dieselbe Tupel-Anzahl von einer Zeile auf. Im Ergebnis werden ein Punkt mit den x- und y- Koordinaten und die Höhe ausgegeben. Die Zeitmessung bei dieser Punktabfrage lieferte folgende Resultate: Tabellenname dgmmv_dgm100 dgmmv_dgm25 dgmmv_dgm5 Abfrage PostGIS Vektor PostGIS 2.0 Raster Erste Abfrage 2917 ms 140 ms Zweite Abfrage 2964 ms 16 ms 405 ms 265 ms 31 ms 31 ms Erste Abfrage entfällt 1123 ms Zweite Abfrage entfällt 31 ms Erste Abfrage Zweite Abfrage Tabelle 08 Zeitmessungen Punktabfrage in der Datenbank Auffällig ist die schnellere Abfrage mit PostGIS 2.0 bei der Verwendung der Tabelle dgmmv_dgm100 gegenüber der Datenbank mit PostGIS in Vektorform. Die Abfrage mit PostGIS 2.0 ist etwa um das 20fache schneller als bei der zurzeit noch aktuellen Abfrage. Auch bei der Tabelle dgmmv_dgm25 ist ein unerwartetes Ergebnis erreicht worden. Die neue Abfrage mit PostGIS 2.0 ist bei der ersten Abfrage schneller als PostGIS in Vektorform. Bei der wiederholten Abfrage ist das Ergebnis mit 31 ms bei beiden identisch. Eine schnellere zeitliche Verbesserung ist somit bei den beiden Tabellen dgmmv_dgm25 und dgmmv_dgm100 eingetroffen. Seite 49 von 60 7 Testrahmen 7.2.2.2 Linienabfrage Für die Zeitmessung einer Linienabfrage in der PostgreSQL Datenbank wurde wieder dieselbe Strecke wie in dem Abschnitt 3.2.4 „Beispielstrecke in Schwerin“ zwischen den Haltestellen Büdnerstraße und Friesensportplatz ausgewählt. Die Koordinaten können aus der Tabelle 4 „Koordinaten der Beispielstrecke“ entnommen werden. Die Ergebnismenge zwischen den beiden unterschiedlichen SQL-Abfragen variieren um jeweils ein Tupel. Die Abfrage ohne PostGIS hat eine Zeile mehr im Ergebnis. Dieser Unterschied in der Ergebnismenge ist dabei auf die unterschiedlichen Methoden, die bei den SQLAbfragen ablaufen, zurückzuführen. Bei der SQL-Abfrage bei PostgreSQL wird die Anzahl der Punkte entlang der Strecke vor der Abfrage ermittelt und in gleiche Abschnitte geteilt. Die neue SQL-Abfrage läuft nach dem Verfahren Sampling ab und wurde bereits an derselben Strecke in dem Kapitel 6 „Möglichkeiten der Analyse“ unter dem Abschnitt 6.1.3 „Auswahl an Punkten (Sampling)“ erläutert. Die Abfrage der Beispielstrecke hat folgende Ergebnisse hervorgebracht: Tabellenname dgmmv_dgm100 dgmmv_dgm25 dgmmv_dgm5 Abfrage PostGIS Vektor Tupel PostGIS 2.0 Raster Tupel Erste Abfrage 46519 ms 7 94 ms 6 Zweite Abfrage 46613 ms 7 31 ms 6 546 ms 25 47 ms 24 31 ms 25 16 ms 24 Erste Abfrage entfällt entfällt 656 ms 120 Zweite Abfrage entfällt entfällt 94 ms 120 Erste Abfrage Zweite Abfrage Tabelle 09 Zeitmessungen Linienabfrage in der Datenbank Besonders die Abfrage im Vektorformat bei der dgmmv_dgm100 Tabelle dauert deutlich länger als bei der Abfrage im Rasterformat. Die Abfrage benötigt mehrere Sekunden. Dagegen dauerte die Abfrage bei PostGIS 2.0 Raster nur 94 Millisekunden. Alles in allem ist die neue Abfrage in den Tabellen dgmmv_dgm100 und dgmymv_dgm25 schneller als bei der aktuell verwendeten Methode. Bei der Tabelle dgmmv_dgm5 ist keine Einschätzung möglich. Das Ergebnis der schnelleren Abfrage ist bei einer Linie gegenüber einem Punkt wesentlich offensichtlicher. Das lässt darauf schließen, dass wenn mehrere Punkte abgefragt werden, die Unterschiede in der Laufzeit deutlicher werden, als wenn nur ein einzelner Punkt abgefragt wird. Seite 50 von 60 7 Testrahmen 7.2.3 GAIA-MVprofessional Umgebung Bei GAIA-MVprofessional laufen während der Abfrage einer Linie im Hintergrund noch andere Funktionen ab, wie zum Beispiel die Generierung des Höhenprofils. Bevor das Testen mit GAIA-MV begonnen werden konnte, mussten mehrere PHP-Dateien angepasst und verändert werden. Die Datenbankverbindung zu der Datenbank mit der neuen PostgreSQL Version und der Erweiterung PostGIS 2.0 musste hergestellt werden. Das hinzufügen des DGM5 gehörte ebenfalls dazu, wie der Austausch der noch alten SQL-Befehle für die Vektorverarbeitung mit den neuen SQL-Befehlen für die Rasterverarbeitung von der Punkt- und Linienabfrage. Die Wahl des verwendeten DGM zur Berechnung des Höhenprofils hängt dabei zum einen von dem Maßstab der Karte ab und zum anderen von der Gesamtlänge der abzufragenden Strecke. Für zwei beliebig ausgewählte Linien wurde mit dem aktuell verwendeten Verfahren und der neuen Methode mit PostGIS 2.0 die Erstellung des Höhenprofils zeitlich getestet. Die ausgewählte Strecke ist bei beiden Verfahren identisch und nur jeweils das einmalige Abfragen der Strecke wurde dabei berücksichtigt. Die Abfragedauer wurde während des Vorgangs zeitlich gemessen. Für spätere Nutzungen ist es nur entscheidend, wie lange die erste Abfrage einer Linie dauert, da der Nutzer die Strecke wahrscheinlich nur einmal abfragt und nicht mehrmals hintereinander. Zur Messung der Dauer für die Erstellung des Höhenprofils wird die Funktion microtime() verwendet. Diese Funktion, wenn sie auf TRUE gesetzt wurde, gibt einen float anstatt einem string zurück. Die aktuelle Zeit wird in Sekunden seit dem Beginn der Unix-Epoche (einfache Zeitdefinition) angegeben. Die Nachkommastellen geben die Mikrosekunden an. Dazu wurde in dem Quellencode der PHP-Datei nach der Methode setStart(‘dbQuery‘) ein Startpunkt und vor der Methode setStop(‘dbQuery‘) ein Endpunkt für die Zeitmessung mit der Funktion microtime() gesetzt. Schließlich wurde mit dem Befehl echo das Ergebnis auf dem Bildschirm anzeigt. Seite 51 von 60 7 Testrahmen Der Maßstab in der Abbildung 22 „Topografische Karte mit der ersten Teststrecke“ beträgt 1:90360. Abbildung 22 Topografische Karte mit der ersten Teststrecke Die 14 Punkte der Linie haben folgende Koordinaten: y (Ost) x (Nord) 33286415,219 5954708,416 33289177,424 5954305,000 33286691,439 5949996,290 33292385,725 5948977,265 33291089,698 5946685,080 33294213,199 5946366,653 33293256,924 5952628,149 33292109,504 5952628,149 33293044,511 5954092,807 33297060,204 5953286,251 33298462,574 5955472,477 33301288,586 5953116,276 33296422,963 5950123,495 33304688,308 5949508,162 Seite 52 von 60 7 Testrahmen Das Höhenprofil zu dieser Strecke sieht wie folgt aus: Abbildung 23 Höhenprofil zur ersten Teststrecke Aus der Abbildung 23 ist abzulesen, dass die Strecke eine Gesamtlänge von 52 920 Meter hat und die Abstände zwischen den 14 Punkten jeweils 100 Meter betreffen. Die Speicherung der Daten bei der ersten Abfrage mit PostgreSQL in Vektorform erforderten eine zeitliche Dauer von 3,937 Sekunden. Dagegen hat die Abfrage mit PostGIS 2.0 noch nicht einmal 1 Sekunde gedauert, sondern nur 0,656 Sekunden. Da eine Strecke nicht sehr aussagekräftig ist, wurde noch eine zweite Teststrecke untersucht. Es stellte sich somit die Frage, ob bei dieser Abfrage ein ähnliches Ergebnis zustande kommen wird, wie bei der ersten Teststrecke. Der Maßstab der Karte ist wiederum 1:90360 und bei diesem Maßstab und der Länge der Strecke wurde auch diesmal das DGM100 bei der Abfrage verwendet. Abbildung 24 Topografische Karte mit der zweiten Teststrecke Seite 53 von 60 7 Testrahmen Die zweite Linie beinhaltet zehn Punkte mit den folgenden Koordinaten: y (Ost) x (Nord) 33290078,455 5968200,489 33290503,282 5965080,226 33293945,542 5964231,177 33297090,036 5968731,110 33301658,446 5965780,823 33297578,670 5962193,680 33304038,086 5961302,137 33306991,435 5966884,559 33308882,441 5964273,671 33310263,543 5960070,919 Zu dieser zweiten Strecke sieht das Höhenprofil wie folgt aus: Abbildung 25 Höhenprofil zur zweiten Teststrecke Die folgende Tabelle gibt einen Gesamtüberblick über die Ergebnisse der Abfragen der beiden Teststrecken in GAIA-MVprofessional. Tabellenname PostGIS Vektorverarbeitung PostGIS 2.0 Rasterverarbeitung Teststrecke 1 (14 Punkte) 3,937 s 0,656 s Teststrecke 2 (10 Punkte) 1,5 s 0,460 s Tabelle 10 Ergebnisse der Höhenprofilabfrage in GAIA-MVprofessional Die schnelleren Ergebnisse bei der Verwendung von PostGIS 2.0 sind auch darauf zurückzuführen, dass bei der Rasterverarbeitung die Datenbankverbindung nur einmal geöffnet wird und für die Vektorverarbeitung für jeden Punkt gesondert eine Datenbankverbindung aufgebaut wird. Seite 54 von 60 8 Zusammenfassung und Ausblick 8 Zusammenfassung und Ausblick Die vorliegende Arbeit beschreibt zum einen eine neue Möglichkeit zur Verwaltung der bisherigen gespeicherten DGM-Daten (DGM25 und DGM100) in einer Datenbank und dazu auch für das Digitale Geländemodell mit einer Gitterweite von 5 Meter (DGM5). Das zurzeit verwendete Datenbanksystem für die Speicherung der Geodaten in GAIA-MVprofessional ist PostgreSQL. Erst durch die freie Erweiterung PostGIS zum Speichern, Verwalten und Analysieren von Geodaten wird PostgreSQL ein vollwertiges Geodatenbankmanagementsystem. Die Datenmenge für das DGM5 im Vektorformat ist für die Speicherung in einer Datenbank zu umfangreich. Das LAiV stellt allerdings die Anforderung an das DVZ, auch das DGM5 zu verwenden. Durch die Einführung des neuen Rasterdatentyps raster in PostGIS ab der Version 2.0 ergab sich die Möglichkeit der Speicherung der DGM-Daten im Rasterformat, denn die Speicherung der identischen Datenmenge im Rasterformat erfordert weniger Speicherplatz als die Speicherung im Vektorformat. Durch das zusätzliche Einfügen der DGM5-Daten wurde zudem eine verbesserte Qualität der Höhenprofile erreicht. Besonders wenn die Abfrage in einer Karte bei einem größeren Maßstab erfolgte, für den bisher das DGM25 als Grundlage verwendet wurde, kann zukünftig das DGM5 angewendet werden und dies liefert dann ein genaueres Höhenprofil. Zum anderen wurde nachgewiesen, dass die Analyse einer Abfrage zur Erstellung eines Höhenprofils in GAIA-MVprofessional mit PostGIS im Rasterformat wesentlich schneller abläuft als noch im Vektorformat. Sobald die Aktualisierung der GAIA-MV Komponente PostgreSQL auf eine neuere Version erfolgt und somit auch PostGIS aktualisiert werden kann, muss für die Verwendung der Rasterdaten, die bereits in der Datenbank vorhanden sind, nur noch die entsprechende PHP-Datei angepasst werden, die für die Verbindung zu der Datenbank zuständig ist. In dieser Datei müssen die entsprechenden Zeilen aus- beziehungsweise kommentiert werden. In GAIA-MVprofessional werden zu der Position des Mauszeigers auf der Karte die Koordinaten unten Rechts auf dem Bildschirm präsentiert. Langfristig besteht die Überlegung, dazu zusätzlich die Höhe des Punktes anzeigen zu lassen. Erst durch die schnellere Punktabfrage wäre diese Möglichkeit gegeben. Bei dem Geländeprofil ist es denkbar, dass zukünftig schon während des Zeichnens der Linie auf der Karte das Geländeprofil dargestellt wird. Seite 55 von 60 Glossar Glossar ASCI-Format Standard-Zeichensatz, der alphanumerische Zeichen repräsentiert, die durch ein einziges Byte (8Bit) dargestellt werden ATKIS Amtliches Topographische-Kartographische Informationssystem beschreibt die Landschaft Browser Softwareprogramm, das dazu dient Informationen zu durchblättern und anzuzeigen Cache Bezeichnung eines Zwischenspeichers Client Client-Server-Architektur, Clients nutzen die Daten von dem Server DOP Digitale Orthophotos, Digitale Bildmodelle der Landschaft DGM Digitales Geländemodell beschreibt die digitale Darstellung der Geländeoberfläche ESRI Environmental Systems Research Instiute GRASS Open Source GIS-Produkt, kombinierte Raster- und Vektorverarbeitung sowie Bildverarbeitung möglich HTML Hypertext Markup Language, im WWW des Internets genutzte Seitenbeschreibungssprache NAS (Normbasiertes Austauschschnittstelle) Datenaustauschformat für Geodaten, die im AFIS-ALKIS-ATKIS-Anwendungsschema erstellt oder bearbeitet wurden OGC Open Geospatial Consortium, Verbund um Interoperabilität zwischen GISSystemen zu steigern pgAdmin Open-Source-Software zur Entwicklung und Administration von PostgreSQL-Datenbanken Shape file von der Firma ESRI eingeführtes Format für Geodaten Seite 56 von 60 Quellenverzeichnis Quellenverzeichnis [BK14] Bezirksregierung Köln, „Digitales Geländemodell – Schummerung (DGMSchummerung)“ http://www.bezregkoeln.nrw.de/brk_internet/organisation/abteilung07/produkte/reliefinformation en/schummerung/index.html (abgerufen am 19.01.2014) [DVZ13] DVZ.Handbuch GAIA-MVprofessional Version 3.3; DVZ Datenverarbeitungszentrum Mecklenburg-Vorpommern GmbH; Stand: 12.09.2013 [EA13] ERDAS APOLLO, Ihr GeoIT-System für die Verwaltung und Verteilung von Informationen; Produkt-Datenblatt GeoSystems und Intergraph; 2013 [LAIV09] Geobasisdaten Landesvermessung, ATKIS Digitale Landschaftsmodelle Digitale Geländemodelle; Landesamt für innere Verwaltung MecklenburgVorpommern Amt für Geoinformation, Vermessungs- und Katasterwesen; 2009 [ML13] Mathieu Leplatre, “Drape lines on a DEM with PostGIS”; http://blog.mathieuleplatre.info/drape-lines-on-a-dem-with-postgis.html (abgerufen am 12.12.2013) [PE07] Peter Eisentraut und Bernd Helmke, PostgreSQL Administration, O`REILLY, 2007 [TB14] Modellierung in Geodatenbanksystemen, Thomas Brinkhoff 2007/13, Jade Hochschule Oldenburg http://www.fergi.uniosnabrueck.de/module/geodatenbanksysteme/inhalt/2/4.html (abgerufen am 14.02.2014] [UR14] Universität Rostock, Höhenlinie http://www.geoinformatik.uni-rostock.de/einzel.asp?ID=139342288 (abgerufen am 19.01.2014) [Wiki14] Wikipedia, Digitales Geländemodell http://de.wikipedia.org/wiki/Digitales_H%C3%B6henmodell, (abgerufen am 20.01.2014) Seite 57 von 60 Abbildungsverzeichnis Abbildungsverzeichnis Abbildung 01 Sichtbarkeitsanalyse .......................................................................................... 12 Abbildung 02 Topografische Karte und Höhenprofil zwischen Ludwigslust und Parchim..... 13 Abbildung 03 GAIA-MV Komponenten [DVZ13] .................................................................. 15 Abbildung 04 Startseite GAIA-MVprofessional ...................................................................... 17 Abbildung 05 GAIA-MVprofessional Themen hinzufügen ..................................................... 18 Abbildung 06 Abfrage aktivieren ............................................................................................. 18 Abbildung 07 Karteireiter „Messen und Zeichnen“ ................................................................. 19 Abbildung 08 Karteireiter Geometrie I - Koordinaten einfügen .............................................. 20 Abbildung 09 Luftbild und Geländeprofil der Beispielstrecke ................................................ 21 Abbildung 10 Tabelle des Geländeprofils ................................................................................ 21 Abbildung 11 Schummerungsdarstellung ................................................................................ 22 Abbildung 12 Höhenliniendarstellung...................................................................................... 22 Abbildung 13 Grundprinzip des Airborne Laserscanning [LAIV09] ...................................... 23 Abbildung 14 Bodenpunkt und Nichtbodenpunkt[LAIV09].................................................... 24 Abbildung 15 Datenmodell SQL/MM Spatial [TB14] ............................................................. 29 Abbildung 16 Triangulated Irregular Network ......................................................................... 38 Abbildung 17 Höhenprofil mit Geometrie-Auflösung [ML13] ............................................... 39 Abbildung 18 Höhenprofil mit DGM-Auflösung [ML13] ....................................................... 40 Abbildung 19 Höhenprofil mit dem Verfahren Sampling [ML13] .......................................... 41 Abbildung 20 Geländeprofil der Beispielstrecke mit PostGIS 2.0 ........................................... 45 Abbildung 21 Punktdarstellung Schweriner Schloss ............................................................... 49 Abbildung 22 Topografische Karte mit der ersten Teststrecke ................................................ 52 Abbildung 23 Höhenprofil zur ersten Teststrecke .................................................................... 53 Abbildung 24 Topografische Karte mit der zweiten Teststrecke ............................................. 53 Abbildung 25 Höhenprofil zur zweiten Teststrecke ................................................................. 54 Seite 58 von 60 Tabellenverzeichnis Tabellenverzeichnis Tabelle 01 Abfrage Geometrieobjekte ..................................................................................... 19 Tabelle 02 Beispiele für die Präsentation des DGM farbcodierte Darstellung [LAiV09] ....... 25 Tabelle 03 Produktangebot DGM [LAiV09]............................................................................ 26 Tabelle 04 Koordinaten der Beispielstrecke ............................................................................. 43 Tabelle 05 Geländeprofil und Schummerungsdarstellung der Beispielstrecke ........................ 44 Tabelle 06 Größe der dgmmv Tabellen PostgreSQL in Vektorform ....................................... 47 Tabelle 07 Größe der dgmmv Tabellen PostgreSQL in Rasterform ........................................ 48 Tabelle 08 Zeitmessungen Punktabfrage in der Datenbank ..................................................... 49 Tabelle 09 Zeitmessungen Linienabfrage in der Datenbank .................................................... 50 Tabelle 10 Ergebnisse der Höhenprofilabfrage in GAIA-MVprofessional.............................. 54 Seite 59 von 60 Anhang Anhang Inhalt der CD: → Kopie der Bachelorarbeit im PDF-Format → Linien- und Punktabfrage → FME Routine zur Erstellung der Rasterdaten aus den xyz-Daten Seite 60 von 60