Spurensuche im Weserbergland

Werbung
Masterarbeit von Dipl. Ing. Thomas Stübke
Das Thema dieser Masterarbeit wurde erarbeitet im Rahmen des Projektes GIS im
Weserbergland, Teilprojekt Spurensuche in Zusammenarbeit mit der Schaumburger
Landschaft.
1. Entwicklung einer Geodatenstruktur
1.1 Stand und Entwicklung von GIS in der Weserberglandregion
Bis 2002 wurden die Entwicklungen im Bereich GIS in den Landkreisen Schaumburg,
Hameln-Pyrmont und Holzminden ohne Kontakt zueinander vorangetrieben.
Der Landkreis Schaumburg hat 1998 das Projektteam SchaumburgGIS ins Leben
gerufen, die einen 6 Jahres Plan zur Einführung von GIS in der Kreisverwaltung, den
Kommunen und weiteren Verbänden begleitet. Folge war die Einführung von PROINFO
der Firma Kirchner in allen Verwaltungen. Alle wurden in Zusammenarbeit mit der VKB
Schaumburg mit einem digitalen Kartenschrank (incl. Digitalem Orthofoto) ausgerüstet,
dessen Umsetzung ich als GIS-Beauftragter begleiten durfte. Als großer Vorteil von
SchaumburgGIS hat sich die frei programmierbare relationale Datenbank herausgestellt,
auf dessen Grundlage die Kreisverwaltung viele Fachschalen selbst entwickeln und an
seine Kommunen weitergeben konnte (1).
Der Landkreis Hameln-Pyrmont hat die Besonderheit eines bereits weit entwickelten
Intranet-GIS von Autodesk in der Stadt Hameln, von GisQuadrat / Webkis in der Stadt Bad
Pyrmont, von ESRI/ArcIMS im Landkreis Hameln-Pyrmont und sehr unterschiedlicher
Entwicklungsstände in den Kommunen und den Fachabteilungen des Landkreises. Dort
wird im wesentlichen mit ArcView und Topobase gearbeitet.
Im Landkreis Holzminden haben einige Kommunen bereits ArcView im Einsatz und auch
in der Kreisverwaltung gibt es vereinzelt Lizenzen. Insgesamt ist die GIS-Struktur in
Holzminden am wenigsten ausgeprägt.
Um die Weserberglandregion auf fachlicher Ebene mit Leben zu füllen, wurde 2001 die
Projektgruppe WeserberglandGIS gegründet. Ziel war u.a. das Abschöpfen von EU
Fördermitteln (Holzminden und Hameln-Pyrmont sind Ziel2 Gebiete) und eine koordinierte
gemeinsame Entwicklung hin zu einer GIS-Struktur (GDI-Weserbergland). Als
Arbeitsebene wurde gleich nach der Gründung die Kernarbeitsgruppe (KernAG) ins Leben
gerufen, der ich zusammen mit Bodo Prehn von der VKB Weserbergland als Vertreter der
Vermessungs- und Katasterbehörde angehöre. Die Ergebnisse werden in Protokollen von
der Projektassistenz Uta Schultjen niedergeschrieben (4). Die Leitung hat Hans Ulrich
Born aus dem Landkreis Schaumburg. Erste Maßnahme war der Fragebogen A (2), der
von allen Projektpartnern beantwortet wurde und einen ersten Aufschluss über den GISZustand der Region gegeben hat. Wesentlich detaillierter war der Fragebogen B (3), der
u.a. Aufschluss über Datentransfer und Kommunikationsbedarf zwischen Behörden und
Institutionen gegeben hat und sich derzeit in der Endphase der Auswertung befindet.
Parallel zur Institutionalisierung von WeserberglandGIS hat das Innenministerium
Niedersachsens mit der Bezirksregierung Hannover eine Zielvereinbarung zum
Regionalmanagement geschlossen, um den Aufbau von GIS in der Weserberglandregion
Seite 1
Masterarbeit von Dipl. Ing. Thomas Stübke
zu begleiten (5). Das Projekt wurde in die Teilprojekte Metainformationssystem,
Kommunikation und Objektartenkataloge für Fachdaten aufgeteilt.
Das Teilprojekt Kommunikation wurde von Claus Krinke geleitet und war neben mir u.a.
mit weiteren Mitgliedern der KernAG „WeserberglandGIS“ besetzt. Umgesetzt wurde ein
Geobasisdatenserver, der über das IZN an das Internet angebunden wurde und u. a.
erstmalig den Polizeidienststellen des Bezirkes den Zugriff über die Suche nach Straße
und Hausnummer auf eine abgespeckte Liegenschaftskarte ermöglichte (6). Bei diesem
Server bedienten wir uns bereits des UMN-Mapservers und ließen wesentliche
Programmteile von der Intevation GmbH entwickeln (17,18,19).
Nach Abschluss und Zielerreichung des 1. Rem-GIS-Projektes wurde eine 2.
Zielvereinbarung mit denselben Partnern und zusätzlich dem Umweltministerium
geschlossen (7). Ein Ziel des Teilprojektes Kommunikation war die Realisierung einer
verteilten Datenhaltung unter Berücksichtigung der zukünftigen GDI-Struktur des Landes.
Im Rahmen des Teilprojektes wurde ein Geofachdatenserver für die Weserberglandregion
beschafft, der über die WMS Schnittstelle mit dem Server der Bezirksregierung
kommuniziert. Im öffentlich zugänglichen Bereich der Internettadressen www.gis-brh.niedersachsen.de und www.gis-im-weserbergland.de/gis ist diese Schnittstelle erlebbar.
Obwohl die Datenbestände auf weit entfernten Servern liegen, wird das vom Nutzer nicht
bemerkt. Auch hier wurde die Projektgruppe von der Intevation GmbH in der
Programmierung des UMN-Mapservers unterstützt (20,21). Der Zwischenbericht vom
31.03.2003 (8) gibt den Stand der Projekte wieder. Der Abschlussbericht wird bis zum
Jahresende 2003 fertig sein, nachdem die letzte Meilensteinsitzung am 29.10.2003
stattgefunden hat.
Wo stehen wir heute und was sind die Aufgaben der Zukunft?
Ein kleiner Kreis weiß darum, dass Datenbestände, die anhand eines Objektartenkatalogs
strukturiert wurden, zukunftsorientiert nur noch in Datenbanken abgelegt werden dürfen.
Zudem muss jeder Datensatz mit Metadaten versehen und über die OGC Schnittstellen
ansprechbar sein.
Dieses Wissen muss an immer mehr Beispielen in die Praxis umgesetzt werden, wobei die
Fachleute der unterschiedlichsten Fachabteilungen mitgenommen werden müssen.
Zeitgleich sollten die bestehenden Verwaltungsvorschriften angepasst werden. Ein
Baustein wird das im Rahmen dieser Masterarbeit umgesetzte Beispiel „Spurensuche im
Weserbergland“ sein.
Aufgrund der Erfahrungen der Teilprojektgruppe „Objektartenkataloge für Fachdaten“ zeigt
sich schon jetzt, dass die Strukturierung der Daten viel Zeit und Kraft verschlingt.
1.2 Berücksichtigung der zukünftigen GDI-Struktur des Landes (9)
1.2.1 Definition der GDI
Die technologischen, politischen und institutionellen Maßnahmen, die sicherstellen, dass
Methoden, Technologien, Standards, finanzielle und personelle Ressourcen zur
Gewinnung und Anwendung von Geoinformationen entsprechend den Bedürfnissen der
Wirtschaft zur Verfügung stehen.
Seite 2
Masterarbeit von Dipl. Ing. Thomas Stübke
Woraus besteht die GDI?
Die Geodateninfrastruktur besteht aus den Komponenten Geodaten, dem
Geodatennetzwerk, Diensten und Standards.
Die Geodaten bestehen aus den Geobasisdaten, die von den Katasterämtern,
Vermessungsämtern oder Landesvermessungsämtern erzeugt werden, und aus den
Geofachdaten, die bei Kommunen, Landkreisen und Fachämtern auf allen Ebenen erfasst
und gepflegt werden. Exemplarisch für die Geobasisdaten sind die Amtliche
Liegenschaftskarte, die Deutsche Grundkarte und die topografischen Landeskarten zu
nennen. Geofachdaten sind z. B. Bebauungspläne, Naturschutzdaten und geologische
Karten. Alle Geodaten müssen mit Metadaten versehen sein, um z. B. Recherchen zu
ermöglichen.
Das Geodatennetzwerk sind die über Internet oder Intranet miteinander verbundenen
Datenbestände.
Dienste ermöglichen die Kommunikation mit den Datenbeständen.
Als Standards sind Schnittstellen- und Datenstandardisierungen zu unterscheiden. Die
Schnittstellen werden vom OGC definiert und sind z.B. die WMS Spezifikation
(Kartenservice), WFS Spezifikation (Datenservice) und WCAS Spezifikation
(Katalogservice). Die Datenstandardisierungen werden vom ISO (International
Organisation for Standardization) entwickelt und sind z.B. das Metadatenmodell (ISI/FDIS
16115) oder das Datenmodell (ISO 19119).
Ziel einer GDI ist die Gewinnung, Auswertung und Anwendung von Geoinformationen in
den öffentlichen Verwaltungen, im kommerziellen und nichtkommerziellen Sektor, in der
Wissenschaft und für die Bürger.
Die Anforderungen an den Staat im Rahmen seiner Daseinsvorsorge sind: eine starke
Zusammenarbeit mit der kommunalen Ebene, Transparenz innerhalb der gesamten
Verwaltung, einheitliche Objektartenkataloge und eine einfache und transparente
Entgeltregelung.
Derzeit in Niedersachen erforderliche Maßnahmen sind die Entwicklung einer Strategie hin
zu einem organisatorischen Konzept mit: einer Ressortkoordinierung der Ministerien,
Abstimmung mit den Kommunen, privaten Anbietern und Nutzern. Zudem sind
Öffentlichkeitsarbeit und Marketing von hoher Bedeutung, um Politiker und Bürger auf dem
Weg mitzunehmen. Konkrete Maßnahmen sind die Erstellung eines technologischen
Konzepts mit: Standards, Geodatenportalen, Metainformationssystemen und einem
einheitlichen Objektartenkatalog. Neben der Änderungen der Gebührenordnungen muss
ein fachliches und rechtliches Regelwerk aufgebaut werden.
1.2.2 Maßnahmen auf EU–Ebene
Das Zusammenwachsen Europas führt zu einer einheitlichen Ausrichtung der Staaten in
Grundfragen (z.B. Einrichtung einer GEODATENINFRASTRUKTUR). Die Verfügbarkeit
relevanter und standardisierter Geoinformationen ist maßgebliche Voraussetzung für das
effiziente politische Handeln der EU. Diese Erkenntnis hat zur Einrichtung der Initiative
„INSPIRE“ (INfrastructure for SPatial InfoRmation in Europe) geführt. INSPIRE soll
relevante, aufeinander abgestimmte und qualitativ hochwertige geografische
Informationen für die Aufstellung, Umsetzung, Überwachung und Bewertung der
Seite 3
Masterarbeit von Dipl. Ing. Thomas Stübke
Gemeinschaftspolitik zur Verfügung stellen. INSPIRE bereitet europäische Rechtsnorm
vor, die den Aufbau einer europäischen Geodateninfrastruktur durch Nutzung der
nationalen Geodateninfrastrukturen der EU – Mitglieder regeln soll.
1.2.3 GDI Maßnahmen auf Bundesebene
Erste konkrete Maßnahmen bezüglich einer GDI – Einrichtung auf Bundesebene
begannen 1998 mit dem Kabinettsbeschluss der Bundesregierung, aus dem sich die
Einrichtung des IMAGI (InterMinisterieller Ausschuss für GeoInformationswesen) zur
Verbesserung der Koordinierung des Geoinformationswesens entwickelt hat.
Der Aufbau der GDI soll 3–stufig erfolgen und vom IMAGI koordiniert werden:
Stufe 1: Erstellen des Metainformationssystems GeoMIS.BUND
Stufe 2: Harmonisierung der Geodatenbestände und die Entwicklung von Schnittstellen,
Konvertierungsmodulen, Normen, Standards und Verfahren zur Datenintegration
Stufe 3: schrittweise Implementierung der Nationalen Geodatenbasis
Entschließungsantrag des Deutschen Bundestages (2001):
Aufforderung des Bundestages an die Bundesregierung zur Ergreifung politischer
Maßnahmen zur Vorantreibung des Aufbaus einer nationalen GDI.
Aktueller Stand der Aktivitäten, die vom IMAGI durchgeführt wurden (April 2003):
• Derzeit wird eine Strategie für die Umsetzung der Konzeption der GDI mit
Einbeziehung der Länder und der Wirtschaft entwickelt.
• Es
wurden
Fortschritte
für
die
Transparenz
der
Geodatenbestände
in
Bundeseinrichtungen erzielt.
• Die Entgeltregelungen auf Bundesebene wurde vereinheitlicht.
• Der Aufbau des deutschen Notfall – Informationssystems (deNIS) als Basis eines
bundeseinheitlichen Katastrophendienstes wurde begleitet.
• Zum Aufbau der GDI – DE durch Pilotprojekte begonnen.
• Der Aufbau des Metainformationssystems GeoMIS.BUND schreitet voran.
• Die Optimierung der technisch – organisatorischen Zuständigkeiten für die Haltung
von Geodatenbeständen wurde begonnen.
• Die Einführung eines bundeseinheitlichen ISO – basierten Datenmodells im
Geodatenzentrum wurde begonnen.
• Ergreifung vieler Informationsinitiativen sowie Öffentlichkeitsarbeit durch IMAGI und
BKG.
Seite 4
Masterarbeit von Dipl. Ing. Thomas Stübke
1.2.4 Stand der GDI in den Bundesländern:
Der politischer Wille zum Aufbau einer einheitlichen GDI entsprechend dem
Positionspapier der AdV und den Beschlüssen von IMK und IMAGI sind, außer in Berlin,
vorhanden.
Es sind Koordinierungsstellen bei Landesvermessungsbehörden,
Interministerielle Ausschüsse (IMA’s) und diverse Fachgremien eingerichtet worden. Die
ersten GeoPortale sind vorhanden bzw. im Aufbau.
Metainformationen zu Geobasisdaten werden aufgebaut und u.a. über den GeoMIS.
BUND abrufbar sein. Metadaten zu Umweltdaten werden im Umweltdatenkatalog (UDK)
abgelegt.
Da die originären Geobasisdaten in den Katasterämtern erzeugt werden, ist dort Knowhow vorhanden, um zukünftig eine stärkere Moderationsrolle zu übernehmen. Leider ist
trotz AdV-Positionspapier ein heterogenes Vorgehen in den Ländern und ein
unterschiedlicher Ist-Stand zu verzeichnen. Zu erkennen ist, dass die Realisierungen von
bereitgestellten Landesmitteln abhängig sind.
1.2.5 Marktstudie der MICUS Management Consulting
Die MICUS Management Consulting hat 2001 eine Marktstudie des Geodatenmarktes im
Auftrag des Landes Nordrhein-Westfalen durchgeführt.
Die zentrale Frage war, welche Maßnahmen erforderlich sind, um die Entwicklung des
Geodatenmarktes voranzutreiben.
Das Ergebnis war ernüchternd: Es fehlen nutzergerechte Produkte und entsprechende
Geschäftsmodelle, um den Geodatenmarkt zu öffnen. Die Produktentwicklung steht auf
der ersten Stufe der Wertschöpfungskette.
Ziel muss eine flächendeckende und aktuelle Bereitstellung des „öffentlichen Contents“
sein. Dazu müssen die Daten der Landesebene und der Kommunen zusammengeführt
werden und über Content Provider allgemein verfügbar gemacht werden.
1.2.6 GDI in Niedersachsen
Im § 1 Absatz 3 des am 1.2.2003 inkraftgetretenen Niedersächsischen
Vermessungsgesetz (NvermG) ist die GDI Bestandteil der Daseinsvorsorge. Die
Vermessungs- und Katasterverwaltung (VKV) erhebt Geobasisdaten, die die Basis einer
GDI bilden. Die Vermessungs- und Katasterbehörden (VKB’s) sollen die Zusammenarbeit
mit der kommunale Ebene verstärken.
1.2.7 GDI in der Weserberglandregion
Abschließend bleibt anzumerken, dass die Datenhaltung von Fachdatenbeständen in
Datenbanken, die an das Internet angeschlossen sind, zukunftsorientiert ist, da die Daten
barrierefrei zur Verfügung gestellt werden können. Mit der Anwendung „Spurensuche im
Weserbergland“ sind wir im Weserbergland auf dem Weg zu einer
Fachdatengeoinfrastuktur einen deutlichen Schritt weiter.
Seite 5
Masterarbeit von Dipl. Ing. Thomas Stübke
1.3 Berücksichtigung der Plattformunabhängigkeit aller Programme und
Verwendung von Open-Source-Produkten
Die verwendeten Produkte UMN-Mapservers, Apache, Postgresql und Postgis sind für
verschiedenste Rechner- und Betriebssystemumgebungen erhältlich (23/24/25/29). Auch
die von der Intevation GmbH und mir entwickelten Routinen sind Textdokumente, die auf
allen Plattformen einsetzbar sind.
UMN-Mapserver (GPL), ZOPE, Postgresql (BSD) als auch PostGIS (GPL) sind freie
Software und werden unter der BSD License bzw. GNU General Public License (GPL)
veröffentlicht. Nach Volker Grasmuck (38) kann Freie Software folgendermaßen definiert
werden:
Freie Software stellt eine von der proprietären Software grundlegend verschiedene Welt
mit ihrer eigenen Kultur dar. Alle weiteren Merkmale ergeben sich aus ihren vier
Grundeigenschaften:
• Die Software darf ohne Einschränkungen genutzt werden.
• Der Quellcode freier Software ist verfügbar, er darf skiediert und aus ihm darf gelernt
werden.
• Sie darf ohne Einschränkungen und ohne Zahlungsverpflichtungen kopiert und
weitergegeben werden.
• Sie darf verändert und in veränderter Form weitergegeben werden .
1.3.1 Berücksichtigung des WMS-Standards des Open-GIS-Consortiums
(OGC) mit Integration von Metadaten zur Anbindung an den GeoMDK
Der UMN-Mapserver in der installierten Version 3.6 und der PostGIS Aufsatz von
Postgresql unterstützen einige Funktionen des OpenGIS Consortiums (OGC). Das OGC
ist
ein
internationaler
Zusammenschluss
von
über
220
Unternehmen,
Regierungsorganisationen und Universitäten. Ziel des OGC ist es, gemeinsame Standards
(Protokolle, Formate etc.) zur Verarbeitung von Geodaten zu erarbeiten.
Der UMN-Mapserver kann in der Version 3.6 die OpenGIS Web Map Server Interfaces
Implementation Specification (WMS) 1.0.0, 1.0.1 und 1.1.1 verarbeiten (Link 14,15). Sinn
der WMS-Spezifikation ist es, ein offen definiertes Interface sowohl für Clients als auch für
Server zu definieren. Zur Kommunikation zwischen den Servern und Clients wird das
HTTP-Format verwendet. Über das Protokoll werden Daten im XML-Format übertragen.
Auf den Servern www.gis-im-weserbergland.de/gis und www.gis-br-h.niedersachsen.de ist
der UMN-Mapserver jeweils als WMS Client und Server durch die Intevation GmbH
installiert worden (siehe Dokumentation 20 Seite 1-7). Dadurch können Internetbenutzer,
die sich auf einer der beiden Seiten befinden, über die WMS Schnittstellen auf die Daten
des anderen oder weiterer Server zugreifen.
Jede WMS Kartenebene (Layer) in der .map Datei, die vom Mapserver geholt werden
können, kann mit folgenden Parametern (Metadaten) ausgestattet:
• CONNECTIONTYPE WMS
• CONNECTION: URL , mit der die Karte geholt werden kann
• PROJEKTION (des Layers) z.B. „init=epsg:31493“
Seite 6
Masterarbeit von Dipl. Ing. Thomas Stübke
•
•
METADATA
WMS_TITLE z.B. „TK100“ oder „Naturschutzgebiete“
Autor „Landkreis Schaumburg, Untere Naturschutzbehörde“
Adresse „Jahnstraße 20, Stadthagen“
END
Sinnvoll ist es, die Metadaten (Autor, Erfassungsgenauigkeit, letzte Fortführung der Daten,
...) direkt aus der PostGIS Datenbank zu jedem Datensatz auszuliefern. Dies konnte leider
im Rahmen der Arbeit nicht realisiert werden.
In der bald erscheinenden Version 4 des UMN-Mapservers soll die WFS Schnittstelle des
OGC realisiert sein.
1.3.2 Offene Standards: GML, WMS, WFS
Die Geography Markup Language (GML) ist eine Spezifikation zur Übermittlung von
Geodaten in einer XML-Struktur.
Die Datenschnittstelle WMS (Web Map Server Interface) ist eine Spezifikation, um
Metadaten und Kartenbilder von Internet Mapservern zu erhalten und weiter zu
verarbeiten.
Die Datenschnittstelle WFS (Web Feature Server) ist eine Spezifikation zur
Geodatenmanipulation im Internet. Die Ergebnisse werden als GML übergeben.
2. Aufbau eines UMN-Mapservers und einer PostgreSQLDatenbank
2.1.1 Was sind Mapserver ?
Eine wesentliche Aufgabe, die ein Mapserver übernimmt, ist eine Formatumwandlung: die
im GIS üblicherweise verwendeten Formate wie z.B. ArcView-Shape als Vektorformat und
TIFF oder BMP als Bildformate stimmen nicht mit den in Webbrowsern verwendbaren
Grafikformaten (GIF, JPEG und PNG) überein. Der Mapserver muss also für den jeweils
gewählten Ausschnitt die Daten aus dem GIS auslesen, sie grafisch aufbereiten (Farben,
Legende, etc.) und als Webgrafik an den Webbrowser übermitteln. Um dieses zu
erreichen, bedienen sich die verfügbaren Mapserver verschiedener Techniken. Man
unterscheidet dabei statische und dynamische Mapserver.
Statische Mapserver erlauben nur feste, voreingestellte Zoomstufen, da sie für alle
wählbaren Bildausschnitte bereits entsprechende Webgrafiken auf dem Server vorhalten.
Neben einem erheblichen Plattenplatzbedarf auf dem Webserver bedeutet dies aber auch,
dass bei Änderungen der zugrunde liegenden GIS-Datensätze alle Grafiken auf dem
Webserver neu generiert werden müssen.
Dynamische Mapserver arbeiten in der Regel innerhalb eines Webservers und generieren
die erforderlichen Grafiken „on-the-fly“. Es sind daher stufenloses Zoomen und freie
Ausschnittwahl möglich. Änderungen an den GIS-Datensätzen wirken sich unmittelbar auf
die Internetpräsentation aus. Der Platzbedarf auf dem Server ist gering, da die erzeugten
Grafiken nur temporär vorgehalten werden. Der Bildaufbau kann jedoch in Abhängigkeit
von der Prozessorleistung des Servers etwas langsamer vonstatten gehen, da der
gesamte Aufbereitungsprozess der Daten während des Kontakts mit dem Client geschieht.
Seite 7
Masterarbeit von Dipl. Ing. Thomas Stübke
2.1.2 UMN-Mapserver
Bei dem Mapserver der University of Minnesota handelt es sich um ein Open Source
Produkt, welches im Rahmen eines Projektes der University of Minnesota (UMN) in
Zusammenarbeit mit der NASA und dem Minnesota Department of Natural Resources
(MNDNR) entstanden ist. Die Standardversion des UMN-Mapservers läuft als CGIProgramm innerhalb eines Webservers (z.B. Apache). Er ist jedoch auch als
Programmbibliothek erhältlich, auf die mit verschiedenen Programmiersprachen (z.b. PHP,
Perl) zugegriffen werden kann. Auf diese Weise können die Funktionalitäten des
Mapservers einfach in andere Anwendungen eingebunden werden. Die Schnittstelle, die
dies möglich macht, heißt MapScript. Der Zugriff auf die Maßserver-Funktionen erfolgt in
beiden Fällen über HTML-Dokumente (Formulare).
Die Grundlagen zur Kartenerstellung stellen die so genannten MapFiles dar. Dies sind auf
dem Server gespeicherte Konfigurationsdateien, in denen festgelegt wird, welche Inhalte
in der Karte erscheinen sollen, z.B. welche Geodatensätze, in welchem Standardmaßstab,
mit welchen Farben usw. Diese Basisinformationen werden vom Mapserver (CGI und
MapScript) ausgelesen und als Anleitung für die Generierung einer Karte verwendet.
2.1.3 Leistungsfähigkeit des UMN-Mapservers und Vergleich UMN-Mapserver
mit ArcIMS
Die Leistungsfähigkeit des UMN-Mapservers wurde bereits in mehreren Diplomarbeiten
und Untersuchungen erarbeitet. Allgemeiner Tenor (z. B. Auf (24 S. 46) und (25 S. 2)) ist,
dass der UMN-Mapserver sich mit allen properitären Mapservern messen kann, durch
seine Offenheit teilweise sogar wesentlich leistungsstärker ist.
2.1.4 Funktionalitäten des Mapservers
Der UMN-Mapserver kann folgende Datenformate verarbeiten:
• Vektor: Shape, ArcSDE, Oracle Spatial, PostGIS, MapInfo, Arc, Microstation DGN
• Raster: (Geo)Tiff, ArcGrid, Erdas, JPEG, PNG, GIF
Folgende Funktionen sind integriert:
• automatische Legende
• Maßstab
• Übersichtskarte
• Projektionen on-the-fly
• Programmierschnittstelle für MapServer-Funktionen kann über PHP, Perl, Java,
Python, ... angesprochen werden
• Die Möglichkeit neue Funktionen zu erstellen, z.B. bearbeiten von Shapefiles, GISFunktionen, etc.
2.1.5 Mapserver und Datenbanken
Hier nur einige Vorteile der Datenhaltung in Datenbanken in Verbindung mit dem
Mapserver:
Seite 8
Masterarbeit von Dipl. Ing. Thomas Stübke
Über eine Benutzerverwaltung kann der Zugriff nur auf bestimmte Datenbestände
zugelassen werden.
Zugriffe auf Daten in Datenbanken sind schneller als auf Dateisysteme.
Die Datenbank kann von mehreren Benutzern gleichzeitig verändert werden.
Die rechenintensiven Prozesse können auf verschiedene Rechner mit Ihren Datenbanken
ausgelagert werden.
Über PostGIS können räumliche Abfragen an die Daten beantwortet werden.
Es können zu den einzelnen Datenbeständen unterschiedliche Metadaten abgespeichert
und abgerufen werden.
2.1.6 PostGreSQL / PostGIS
PostgreSQL ist eine freie SQL-Datenbank. Insbesondere ist es aber eine schnelle,
hochgradig konfigurierbare Datenbank, die dem Vergleich mit den Grossen des
kommerziellen Geschäfts gelassen entgegen sehen kann. PostGIS ist eine Erweiterung
von PostgreSQL, deren wichtigster Beitrag wohl die Implementierung eines großen Teils
der Simple Features des OGC ist. Der MapServer kann mit Unterstützung für PostGIS
kompiliert werden. Dank PostGIS ist es der PostgreSQL-Datenbank möglich, GeometrieObjekte zu verwalten.
2.1.7 PostGIS
Die Geometrie-Attribute werden erst nach dem Erstellen einer Tabelle hinzugefügt. Dies
geschieht mit der Funktion AddGeometryColumn.
AddGeometryColumn(<db_name>, <table_name>, <column_name>, <srid>, <type>,
<dimension>)
<db_name>: Name der Datenbank
<table_name>: Name der Tabelle wo das Attribute hinzugefügt werden soll
<column_name>: Name des Attributes/Kolonne. (Hier the_geom)
<srid>: Interne Referenz zur SPATIAL_REF_SYS Tabelle ( benutze –1 für undefiniert)
<type>: Beispiele: POINT, LINESTRING, POLYGON, etc
<dimension>: 2 oder 3 Dimensionen
Beispiele finden sich unter Datenbankeinrichtung (2.3.10)
2.1.8 Benutzerverwaltung mit Zope
ZOPE ist ein Open Source Content Management Framework. Seine Kombination aus
Internetauftritt und CMS mit Administrationsmöglichkeiten, Personalisierung und
Datendownload bietet eine solide Basis für WEB-GIS Auftritte.
Ziel des Projektes "`Sicherheit und Benutzermanagement"' (18 S. 4) war es, die
bestehenden Web-Mapping Funktionen so in ein Sicherheitskonzept einzubinden, dass sie
nur noch für autorisierte Benutzer zugänglich sind. Wichtig ist in diesem Zusammenhang
nicht nur die Entwicklung der Sicherheitsstrategie ((18 S. 4-7) Abschnitt Anbindung des
Mapservers an Zope), sondern auch die Implementation einer Oberfläche, die eine
Seite 9
Masterarbeit von Dipl. Ing. Thomas Stübke
Verwaltung von Benutzer und Gruppen mitsamt der ihnen zustehenden Rechten
ermöglicht ((18 S. 11-16) Abschnitt Verwaltung). Ein Teil der schon bestehenden
Anwendungen musste in diesem Zusammenhang neu implementiert werden ((18 S. 9)
Abschnitt Objektsuche).
Im Testbetrieb des ReMGIS-Projekts wird im GIS-Büro der Bezirksregierung Hannover
außerdem prototypisch eine Zugangskontrolle mit Dateiaustausch mittels Zope benutzt.
Ziel des Projektes "`Community-Funktionalität"' war es, diese Dateiaustauschbörse auf
eine solide Basis zu stellen. Darüber hinaus sollte eine differenzierte Benutzer- und
Gruppenverwaltung für die Community ermöglicht werden.
Achtung !!: Aus sicherheitsrelevanten Überlegungen heraus ist es nicht möglich, das
Dokument 18 in seiner Ursprungsform zur Verfügung zu stellen. Eine an einigen Stellen
geschwärzte Version ist auf Anfrage zu erhalten.
2.1.9 Installation des UMN-Mapservers
Die Kompilierung des UMN-Mapservers und des PostGIS Aufsatzes wurden von der
Intevation GmbH auf dem WeserberglandServer durchgeführt und unter ((16 S. 1-7) ohne
WMS und PostGIS; (20 S. 23,24) WMS-Server; (20 S. 24) WMS-Klient; (21 S. 12,13)
WMS-Klient und PostGIS) dokumentiert.
Nachdem ich mich für die Masterarbeit in die Betriebssysteme LINUX 8.1 und Debian
(Knoppix), UMN-Mapserver und Postgresql eingearbeitet hatte, habe ich diese Software
für eine Testumgebung installiert. Die komplette Anwendung wurde aber nur auf dem
WeserberglandServer realisiert.
Die Quelltexte des aktuellen Mapservers sind auf der Mapserver - Site (Link 16) erhältlich.
Auch die Intevation GmbH bietet auf Ihrer Web – Site oder der FreeGIS CD Versionen für
RPM-basierte Linux-Systeme.
Meine Kompilierung ist komplett dokumentiert unter (39) und wird wie folgt durchgeführt:
Kommentare sind im Protokoll mit einem Rahmen gekennzeichnet.
Installation von gd-1.8.4. Zur Verwendung von TrueType Schriftarten benötigt der
Mapserver die gd-lib.
geoserver@VKB-debian:/home/geoserver2/src$ cd gd-1.8.4
Freetype Patch in gdal integrieren
geoserver@VKB-debian:/home/geoserver2/src/gd-1.8.4$ patch < ../patches/gd.1.8.4freetype.patch
patching file Makefile
Zur Verwenddung des ROSA-Appletts sind Gif-Grafiken erforderlich, die durch dieses
Patch integriert werden.
Seite 10
Masterarbeit von Dipl. Ing. Thomas Stübke
geoserver@VKB-debian:/home/geoserver2/src/gd-1.8.4$ cat
../patches/patch_gd1.8.4_gif_20010208.gz | gzip -d |
patch -p1
[.......]
Ausführen von GD
geoserver@VKB-debian:/home/geoserver2/src/gd-1.8.4$ make
gcc -I. -I/usr/include/freetype -I/usr/include/X11 -I/usr/X11R6/include/X11 I/usr/local/include -O -DHAVE_L
[.......]
Entpacken der libttf-Bibliothek
geoserver@VKB-debian:/home/geoserver2/src/gd-1.8.4$ dpkg -s libttf-dev
Package: libttf-dev
[...........]
geoserver@VKB-debian:/home/geoserver2/src/gd-1.8.4$ ./gdtestttf
[...........]
geoserver@VKB-debian:/home/geoserver2/src/gd-1.8.4$ cd ..
Entpacken der flex-Bibliothek
geoserver@VKB-debian:/home/geoserver2/src$ tar -xzvf flex-2.5.4a.tar.gz
flex-2.5.4/
[...........]
geoserver@VKB-debian:/home/geoserver2/src$ cd flex-2.5.4/
geoserver@VKB-debian:/home/geoserver2/src/flex-2.5.4$ ./configure
creating cache ./config.cache
[...........]
geoserver@VKB-debian:/home/geoserver2/src/flex-2.5.4$ make
cp ./initscan.c scan.c
[...........]
geoserver@VKB-debian:/home/geoserver2/src/flex-2.5.4$ cd ..
geoserver@VKB-debian:/home/geoserver2/src$ ls
flex-2.5.4
gd-1.8.4
Installation12-03
patches
shapelib-1.2.9.tar.gz
flex-2.5.4a.tar.gz gd-1.8.4.tar.gz mapserver-3.6.2.tar.gz rosa-1.2.0.tar.gz
Entpacken des Mapservers
geoserver@VKB-debian:/home/geoserver2/src$ tar -xzvf mapserver-3.6.2.tar.gz
mapserver-3.6.2/
[...........]
geoserver@VKB-debian:/home/geoserver2/src$ cd mapserver-3.6.2/
Einspielen von Patches der Firma Intevation
geoserver@VKB-debian:/home/geoserver2/src/mapserver-3.6.2$ patch -p1 <
../patches/mapserver-3.6-cellsize.patch
Seite 11
Masterarbeit von Dipl. Ing. Thomas Stübke
patching file maptemplate.c
geoserver@VKB-debian:/home/geoserver2/src/mapserver-3.6.2$ patch -p1 <
../patches/mapserver-3.6-mapfile-classname.patch
patching file mapfile.c
geoserver@VKB-debian:/home/geoserver2/src/mapserver-3.6.2$ patch -p1 <
../patches/mapserver-3.6-scalebar-label.patch
patching file mapfile.c
geoserver@VKB-debian:/home/geoserver2/src/mapserver-3.6.2$ patch -p1 <
../patches/mapserver-3.6-empty.patch
patching file map.h
[...........]
creating Makefile
Konfiguration des Mapservers
geoserver@VKB-debian:/home/geoserver2/src/mapserver-3.6.2$ ./configure --withgd=static,../gd-1.8.4 --enable-force-freetype1 |less
Kompilierung des Mapservers
geoserver@VKB-debian:/home/geoserver2/src/mapserver-3.6.2$ make
gcc -c -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL -DUSE_TIFF DUSE_JPEG -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP DUSE_GD_FT -DGD_HAS_GDIMAGEGIFPTR
-I/home/geoserver2/src/mapserver3.6.2/../gd-1.8.4
maptemplate.c -o maptemplate.o
[...........]
geoserver@VKB-debian:/home/geoserver2/src/mapserver-3.6.2$ ./mapserv –v
MapServer version 3.6.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG
OUTPUT=WBMP SUPPORTS=TTF INPUT=TIFF INPUT=EPPL7 INPUT=JPEG
INPUT=SHAPEFILE
2.1.10 Installation der Postgresql Datenbank mit dem PostGIS Aufsatz
Die Postgresql Datenbank mit dem PostGIS Aufsatz wurde im Rahmen der
Digitalisierfunktion der Bezirksregierung ( 19 S.13) eingesetzt.
Auf dem für die Mapserver-Anwendungen bereitgestellten Server der Bezirksregierung
Hannover ist ein Debian Linux 3.0 (Woody) installiert. Diese Distribution beinhaltet
PostgreSQL in der aktuellen Version 7.2.1. Nachfolgend ist eine Arbeitssitzung zur
Installation von PostGIS dokumentiert. Gearbeitet wird im Verzeichnis /home/mapserv/src.
Kommentare sind durch Rahmen gekennzeichnet.
Für eine erfolgreiche Installation von PostGIS in der aktuellen Version 0.7.3 ist der
Quellcode von PostgreSQL in der installierten Version notwendig. Dieser wird wie das
installierte PostgreSQL konfiguriert (wichtig ist dabei vor allem die Angabe des
Installationspfades).
499 ls
Seite 12
Masterarbeit von Dipl. Ing. Thomas Stübke
postgresql-7.2.1.tar.gz patches postgis-0.7.3.tar.gz
500 > tar -xzf postgresql-7.2.1.tar.gz
501 > cd postgresql-7.2.1
502 > ./configure --prefix=/usr/lib/postgresql
Danach wird der Quellcode von postgis in das Verzeichnis contrib des Quellcode-Baumes
von PostgreSQL kopiert.
503 > cd contrib/
537 > cp ˜/src/postgis-0.7.3.tar.gz .
538 > tar -xzvf postgis-0.7.3.tar.gz
539 > cd postgis-0.7.3/loader/
Im Quellcode von pgsql2shp, das zum Export von Daten aus der Datenbank in ein
Shapefile dient, muss ein kleiner Fehler korrigiert werden:
540 > patch -p0 < ../../../../patches/postgis-pgsql2shp.patch
541 > cd ..
Kompilieren...
542 > make
... und als root installieren
543 > su 544 > make install
Nach erfolgreicher Installation müssen dem Datenbank-Cluster noch die PostGIS-spezifischen Funktionen bekannt gegeben werden. Dies geschieht mit Hilfe des folgenden
SQLKommandos in der Datenbank. Diese Kommandos müssen nur beim ersten
Installieren oder beim Update von PostGIS ausgeführt werden:
CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS
’/usr/lib/postgresql/lib/plpgsql.so’ LANGUAGE ’C’;
CREATE TRUSTED PROCEDURAL LANGUAGE ’plpgsql’
HANDLER plpgsql_call_handler
LANCOMPILER ’PL/pgSQL’;
Danach kann eine neu anzulegende oder schon bestehende Datenbank mit Hilfe des
folgenden Kommandos um PostGIS-Funktionalitäten erweitert werden. Dies muss für jede
neu angelegte Datenbank geschehen, die geographische Informationen mit PostGIS
verwalten soll.
psql -d [Datenbank] -f /usr/lib/postgresql/share/contrib/postgis.sql
In diesem Fall also:
psql -d punkteingabe -f /usr/lib/postgresql/share/contrib/postgis.sql
Seite 13
Masterarbeit von Dipl. Ing. Thomas Stübke
2.2 Aufbau / Entwicklung einer Geodatenstruktur in der WBR
Zur Lösung der bisherigen Fragen im Kontext der GDI-Bestrebungen ist folgende
Geodatenstruktur für das Weserbergland zweckmäßig:
Redaktionsteam
Schaumburger
Landschaft
Bürger
Sicht auf freigegebene
Daten
(Gastzugang)
fachliche Ergänzung,
Recherchen
Ehrenamtliche
Spurensucher
Erzeugung eines
Basisdatenbestands
SSL Verschlüsselung
Administration
ZOPE Benutzerinterface
Sicherungen
Benutzerverwaltung
Vergabe von Zugriffsrechten
Abrechnungen
........
Postgresql/PostGIS Datenbank
NSG, LSG,28a...
Bauleitplanung
Entwicklung
Spurensuche
im
Weserbergland
Datenbankergänzungen
Neue Datenbanken
Eingabe von großen Datenbeständen
Schulung
........
UMN – Mapserver
OGC – WMS
OGC – WFS (NAS)
Shape – Export
OGC – WMS
OGC – WFS (NAS)
SchaumburgGIS
Geobasisdaten
der VKV/LGN
- Denkmalpflege
- Naturschutz
- Tourismus
- Ratsinformationssystem
- ALK,ALB / ALKIS,
- DGK5 / AK5
- DOP, DTK25...
GIS in Hameln-Pyrmonth
Gis in Holzminden
Intranet, Wirtschaft,....
Landesamt für
Denkmalschutz
Weitere
Datenbanken
Seite 14
Masterarbeit von Dipl. Ing. Thomas Stübke
2.3 Datenbank Spurensuche im Weserbergland
2.3.1 Vorwort von Dr. Oelkers
Die Zeitzeugen historischer Landnutzungen werden als Kulturgüter häufig übersehen. Der
schleichende Verlust dieser „kleinen Kulturgüter“ war noch nie so groß wie augenblicklich.
Technische Möglichkeiten und räumliche Ansprüche der heutigen Zeit bergen die Gefahr,
dass auch die vorhandenen Reste Opfer dieser Entwicklung werden. Einen gesetzlichen
Schutz genießen diese Relikte nicht. Vielmehr fallen sie meist durch die grobmaschigen
Netze des Denkmal- und Naturschutzes. Dennoch sind es gerade diese Kulturgüter, die
Einblicke geben in Lebens- und Denkweisen vorangegangener Generationen, zumal sie
einem auf Schritt und Tritt verfolgen.
Die Zerstörung dieser „kleinen Kulturgüter“ beruht im Wesentlichen auf Unkenntnis über
deren Vorhandensein bzw. deren Bedeutung. Ein Ansatz zum wirksamen Schutz dieser
Objekte ist deshalb eine breit angelegte Öffentlichkeitsarbeit. Den privaten Besitzern, aber
auch Fachverwaltungen sind entsprechende Erkenntnisse zu vermitteln und
Entscheidungsgrundlagen bereitzustellen. Das setzt allerdings eine flächendeckende
Datenbasis voraus. Diese muss die Möglichkeit problemloser Fortführung und Auswertung
für einen breiten Anwenderkreis bieten. Eine digitale Datenbank ist dafür unumgänglich.
Sie bietet darüber hinaus die Möglichkeit der Verknüpfung mit anderen Datenbanken.
Auswertemöglichkeiten und Anwendungsbereich werden dadurch nochmals erweitert.
Aus diesem Grund und zur effektiven Arbeitsgestaltung ist der Aufbau dieser Datenbank in
einen Kooperationsverbund eingebettet.
2.3.2 Nutzungsmöglichkeiten am Beispiel Verbund Schaumburger Land
Seite 15
Masterarbeit von Dipl. Ing. Thomas Stübke
2.3.3 Fachliche Festlegung der Datenfelder
•
•
•
•
•
•
•
•
Meldebogen Nds. Heimatbund für Historische Kulturlandschaftsteile (43)
Datenbankinformationen der AG „Hausforschung“ der Interessengemeinschaft
Bauernhaus (IGB, Herr von Damaros) müssen in einer späteren Version integriert
werden hin zu einem Informationssystem für historische Gebäude. (44)
Strukturierung der Daten anhand des Objektartenkatalogs von Dr. Oelkers (42)
Geometrischer Bezug über Koordinaten (Punkte, Flächen) und Gemeinde, Gemarkung
(42)
Berücksichtigung der Datenstruktur anderer Datenbanken (Nds. Landesamt für
Denkmalpflege, ADABWEB, MobiDenk) (45)
Erhebung des Büros Kulturlandschaft und Geschichte (Christian Wiegand) für den
Landkreis Hameln-Pyrmont, um die Daten integrieren zu können (46)
Abstimmung mit dem LK Holzminden (Leader+ Projekt „Kataster der Natur- und
Kulturgüter in der VoglerRegion)(47)
Abstimmung mit dem Nds. Heimatbund durch Dr. Oelkers
2.3.4 Grundsätzliche Überlegungen zur Datenbankstruktur
•
•
•
Berücksichtigung der internationalen Normierungen Open GIS Consortiums (OGC
WMS,WFS,WCS...)
Verwendung freier Software (Open Source, Postgresql Datenbank mit PostGIS
Aufsatz, UMN Mapserver)
Führung der Datenbank nur im Internet unter www.gis-im-weserbergland.de/gis
2.3.5 Anforderungsanalyse
•
•
•
•
•
•
•
•
•
Objektkennung
Objektname
Typisierung nach Klassen, Gruppen und Untergruppen (siehe fachliche Vorgabe von
Dr. Oelkers)
Rechtsstatus ( erfasst, überarbeitet, veröffentlicht,...)
Geografischer Bezug
Punktkoordinate des Zentrums
Flächenausdehnung als Polygon
Höhe über NN
Erfassungsgenauigkeit
Erfassungszeitpunkt
Historische Lage falls Abweichend als Punktkoordinate des Zentrums wird
später realisiert
Beschreibung als Text
Autoren
Kürzel
Name, Vorname
Strasse, Hs. Nr. , PLZ, Ort, Email
Fundstellen in der Literatur
Datumssätze
Datum der Erfassung im Gelände
Datenbankeintrag
Seite 16
Masterarbeit von Dipl. Ing. Thomas Stübke
•
•
•
•
•
•
•
•
•
•
Letzte Fortführung
Mitteilung an Eigentümer
Fotographische Dokumentation
Aufnahmedatum
Fotograph
Blickrichtung als Linie mit Anfangs- und Endpunkt
Bildname
Bisherige Bezeichnung in Veröffentlichungen wird später realisiert
Entstehung des Objekts (Von - Bis)
Eigentümer des Objekts
Von – Bis
Name, Vorname, Ort
Nutzung des Objekts
Von - Bis
Nutzungsbezeichnung
Beschreibung
Eignung für die Öffentlichkeitsarbeit ( daraus ergeben sich Sichten auf die Daten)
Erhaltungsgrad
Gebietszuordnung
Land, Kreis, Gemeinde/Stadt, Gemarkung,
Flur, Flurstück wird später realisiert, wenn die Flurstücke in einer OGCkonformen Datenbank vom Land zur Verfügung gestellt werden
DGK5 incl. TK25 Bezeichnung
Strasse, Hs. Nr. wird später realisiert, wenn die Hausnummern/Koordinaten
Zuordnung in einer OGC-konformen Datenbank vom Land zur Verfügung
gestellt werden
Vorschläge
Erhaltenswürdig
Schutz
Nutzung
Reparatur
Pflege
2.3.6 Stufenlösung der Realisierung
•
•
•
•
•
•
•
•
Testdatensätze für den Aufbau der Datenbank aus Obernkirchen
Georeferenzierung, evtl. mit Ergänzung der Daten
Aufbau von Autorendatei, Objektkatalog, Flurstücks -u. Gebäudedatenbestand,
Realisierung der im Heft Spurensuche abgedruckten Objekte
Georeferenzierung, ev. Ergänzung der Daten u.a. um Texte und Bilder
Integration der historischen Grenzsteine
Realisierung der Objekte der Access Datenbank Kleinode der Schaumburger
Landschaft
Georeferenzierung, evtl. mit Ergänzung der Daten u.a. um Texte und Bilder
Integration der Objekte des LK Hameln-Pyrmonth
Integration der Objekte des LK Holzminden
Laufende Fortführung
Landes/Bundesweite Abstimmung der Objekte und entsprechende Portierung der
bestehenden Datenbank in die neue Struktur
Seite 17
Masterarbeit von Dipl. Ing. Thomas Stübke
•
Anbindung der Denkmale des NlfD, wenn sie in einer OGC-konformen Datenbank zur
Verfügung stehen
Realisierung bedeutet Digitalisierung, Recherche fehlender Daten und Eingabe in die
Datenbank.
2.3.7 Objektschicht als ER – Modell
Objektkatalog
Autoren
n:m
typisiert
Nutzung
1:m
fotografiert
gefunden
genutzt
ermittelt
Fundstellen
1:1
1:m
1:m
Spuren/Objekte
Bilder
n:1
1:1
1:m
gefunden
1:m
besitzen
gefunden
Stellt dar
Wurde
benannt
Historische Bezeichnung
1:m
n:m
Haben
Flächenbezug
Fläche
Eigentümer
Punkt
hat
1:1
Grundlage
Seite 18
Masterarbeit von Dipl. Ing. Thomas Stübke
2.3.8 Logischer Entwurf mit Auflösung der 1:1 Beziehungen
Erläuterungen:
text
text
TEXT
Obligatorische Felder bei Erfassung im Gelände
Obligatorische Felder bei Eingabe in die Datenbank
Primärschlüssel
spurendb
Name der Datenbanktabelle
spurendb
the_geom
gid
nummer
name
hoehe
status
katalog
grundlag
datum_er
datum_db
datum_ff
datum_ei
ents_von
ents_bis
erhalten
Objekte der Spurensuche
POINT
3 Dimensionale Punktkoordinate
integer
Eindeutige ID
unique
varchar(12) Nummer des Objekts
HKL034665001
Historische KulturLandschaftsbestandteile
4,5
Bundesland
(03=Nds.)
6-9
Gemarkung
(4665=Vehlen)
10-12
lfd. Nummerierung
varchar(50) Name des Objekts
numeric(4,1) Höhe des Objekts bezogen auf NN
zusätzlich Integration in die 3. Dimension der
Punktkoordinate. Wenn diese Zukunftsweisend
Speicherung
funktioniert wird das Datenbankfeld
gelöscht.
integer(2)
Rechtsstatus des Objekts
(Farbe der
Punktdarstellung)
1. erfasst
(rot)
2. überarbeitet
(orange)
3. Veröffentlichungsgenehmigung erteilt (grün)
4. veröffentlicht
(schwarz)
integer(4)
integer(4)
varchar(10)
varchar(10)
varchar(10)
varchar(10)
integer(4)
integer(4)
integer(4)
ID von Objektkatalog
ID der Erfassungsgrundlage des Punktes
Datum der Erfassung im Gelände
01.10.2003
Datum des Datenbankeintrags
Datum der letzten Fortführung
Datum der Mitteilung an die Eigentümer
Entstehung/Bau des Objekts von... (1920)
Entstehung/Bau des Objekts bis... (1950)
Erhaltungsgrad
1. Sehr gut
2. gut
3. mittel
4. schlecht
5. sehr schlecht
Seite 19
Masterarbeit von Dipl. Ing. Thomas Stübke
text_erh
erh_wert
schutz_v
nutzun_v
repera_v
pflege_v
eignung
varchar(50)
varchar(2)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
integer(2)
text_oef
varchar(50)
sonstige
www
text
varchar(50)
varchar(50)
Text (2000)
katalog
id
objklnr
objkltxt
objgrnr
objgrtxt
objugrn
objugrt
Katalog der Typisierung
integer(4)
varchar(2)
varchar(50)
varchar(2)
varchar(50)
varchar(2)
varchar(50)
grundlage
id
erf_mass
beschrei
Laufende Nummer
Objektklassennummer
Objektklassentext
Objektgruppennummer
Objektgruppentext
Objektuntergruppennummer
Objektuntergruppentext
Katalog der Erfassungsgrundlagen
integer(4)
Laufende Nummer
varchar(6) Maßstab der Kartengrundlage
varchar(30)
1 GPS Umring
2 ALK
3 Luftbild
4 DGK5/AK5
5 TK25
6 TK50
7 TK100
autoren
id
vorname
name
kuerzel
strasse
hsnr
plz
ort
telefon
Textliche Beschreibung der Erhaltung
Erhaltenswert ( „j“ = ja, „n“ = nein)
Schutzvorschlag als Text
Nutzungsvorschlag als Text
Reparaturvorschlag als Text
Pflegevorschlag als Text
Eignung für die Öffentlichkeitsarbeit
1. Sehr gut
2. gut
3. mittel
4. schlecht
5. sehr schlecht
Textliche Beschreibung der Eignung für die
Öffentlichkeitsarbeit
Bemerkungen oder Sonstiges
Link zu weiteren Beschreibungen / Hinweisen
2000 Zeichen langer Text zur Beschreibung
Liste der Autoren der Spuren
integer(4)
varchar(25)
varchar(25)
varchar(5)
varchar(25)
varchar(4)
varchar(5)
varchar(25)
varchar(15)
Laufende Nummer
Vorname des Autors
Nachname des Autors
Kurzbezeichnung des Autors
Strasse
Hausnummer
Postleitzahl
Wohnort
Telefonnummer
Seite 20
Masterarbeit von Dipl. Ing. Thomas Stübke
fax
email
varchar(15) Faxnummer
varchar(35) Email
fundstelle
id
fundstelle
Literaturquellen u.a.
integer(4)
Nummer von Literaturfundstellen
varchar(50) Fundstellenname
flaechen
gid
id
the_geom
nummer
erfassungs
Flächen der Objekte
integer(4)
integer(4)
polygon
varchar
integer(4)
bilder
gid
id
the_geom
autor
datum
grundlag
name
bildid
integer(4)
integer(4)
line
varchar
varchar
varchar
varchar(14)
oid
integer(4)
polygon
integer(4)
varchar
varchar
varchar
Laufende Nummer
Umring der Gemarkung
Nummer der Gemarkung
Gemarkungsname
Gemeindename
Landkreisname
Zuordnung zu DGK5 und TK25
integer(4)
polygon
varchar
varchar
varchar
varchar
hist_eig
id
von
bis
vorname
nachname
ort
Laufende Nummer des Objekts
Nummer des Bildes
Verbindung von Standpunkt und Motivpunkt
Laufende Nummer des Autors
Aufnahmedatum (7.6.2003)
ID der Erfassungsgrundlage des Punktes
Name der Spur und lfd. Nr. (HKL03466500101)
Interne Zahl des abgespeicherten Bildes (Blob)
Land, Kreis, Gemeinde / Stadt,
Gemarkung
dgk5
gid
the_geom
dgk5_nr
dgk5_name
ka_nr
tk25_nr
Umring des Objekts
Nummer des Objekts (HKL034665001)
ID der Erfassungsgrundlage
Fotographische Dokumentation
gemarkung
gid
the_geom
gemnr
gemarkung
gemeinde
landkreis
Laufende Nummer des Objekts
Nummer der DGK5 incl. TK25 (362010)
Umring der DGK5
Nummer der DGK5 (362010)
Name der DGK5
Nummer des Katasteramtes
Nummer der TK25
Bisherige Eigentümer
integer(4)
varchar(10)
varchar(10)
varchar(20)
varchar(20)
varchar(30)
Laufende Nummer
Eigentümer Von (Jahreszahl)
Eigentümer Bis (Jahreszahl)
Vorname des Eigentümers
Nachname des Eigentümers
Wohnort
Seite 21
Masterarbeit von Dipl. Ing. Thomas Stübke
strasse
hofstell
bezeich
varchar(20) Strasse
varchar(30) Hofstelle des Eigentümers
varchar(100) Bezeichnung des Eigentümers
nutzungen
id
von
bis
nutzung
BESCHREI
Historische Nutzungen
integer(4)
Nummer der Nutzung
varchar(10) Nutzung Von (Jahreszahl)
varchar(10) Nutzung Bis (Jahreszahl)
varchar(50) Nutzungsname
varchar(100) Beschreibung der Nutzung
gebiete
id
the_geom
name
Flächen der Objekte nach denen
gesucht werden kann
integer(4)
polygon
varchar(4)
Nummer des Objekts
Umring des Objekts
Name des Suchgebietes (Gewanne,hist.Bezeichnung)
2.3.9 Logischer Entwurf
Relationen
au_ermitteln_sp
Autoren_ermitteln_Spuren
gid
ID_AUTOR
ID der Spurentabelle
ID der Autorentabelle
integer(4)
integer(4)
au_fotografieren_bi
Autoren_fotografieren_Bilder
ID_BILD
ID_AUTOR
ID der Bildertabelle
ID der Autorentabelle
integer(4)
integer(4)
bi_stellen_sp_dar
Bilder_stellen_Spuren_dar
gid
id_bild
ID der Spurentabelle
ID der Bildertabelle
integer(4)
integer(4)
sp_wurden_gef
gid
id_fund
Spuren_wurden_gefunden
integer(4)
integer(4)
ID der Spurentabelle
ID der Fundstellentabelle
integer(4)
integer(4)
ID der Spurentabelle
ID der Tabelle Historische Eigentümer
sp_haben_ei
gid
id_hist_eig
Spuren_haben_Eigentümer
sp_wurden_gen
Spuren_wurden_genutzt
gid
id_nutzungen
ID der Spurentabelle
ID der Tabelle Nutzungen
integer(4)
integer(4)
Seite 22
Masterarbeit von Dipl. Ing. Thomas Stübke
nut_wurden_gef
Nutzungen_wurden_gefunden
id_fund
id_nutzungen
ID der Fundstellentabelle
ID der Tabelle Nutzungen
integer(4)
integer(4)
ei_wurden_gef
id_fund
hist_eigI
Eigentümer_wurden_gefunden
integer(4)
integer(4)
ID der Fundstellentabelle
ID der Tabelle Historische Eigentümer
2.3.10 Erstellen der Tabellen
Erzeugen der Datenbank auf dem Weserberglandserver:
Die wesentlichen Zeilen der Scripte werden hier abgeduckt. Die kompletten
Sitzungsprotokolle befinden sich im Anhang. Zusätzliche Beschreibungen sind mit
Rahmen versehen.
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ su root
Password:
gis-im-weserbergland:/home/mapserv/gis/konf/spurensuche2/db_daten# su - postgres
postgres@gis-im-weserbergland:~$ createdb spurensuche
CREATE DATABASE
postgres@gis-im-weserbergland:~$ psql -l
List of databases
Name
| Owner
| Encoding
--------------+----------+---------punkteingabe | postgres | LATIN9
rechte
| postgres | LATIN9
spurensuche | postgres | LATIN9
template0
| postgres | LATIN9
template1
| postgres | LATIN9
(5 rows)
punkteingabe ist die Musterdatenbank die von der Intevation errichtet wurde (21).
rechte ist die Datenbank die von Zope zur Rechteverwaltung verwandt wird (20).
Installation der PostGIS Sprachelemente:
postgres@gis-im-weserbergland:~$ psql -f
/usr/lib/postgresql/share/contrib/postgis.sql -d spurensuche
BEGIN
message
---------------------plpgsql is installed
(1 row)
Das komplette Sitzungsprotokoll zur Erzeugung von spurensuche liegt unter (48).
spurensuche=# \d
List of relations
Name
| Type | Owner
------------------+-------+---------geometry_columns | table | postgres
spatial_ref_sys | table | postgres
Seite 23
Masterarbeit von Dipl. Ing. Thomas Stübke
(2rows)
Um die Spalte geometry_columns in der Tabelle spurensuche ansprechen zu können
muss, der bereits für punkteingabe erzeugte benutzer punktadmin Zugriffsrechte erhalten.
Dieses muss als Benutzer postgres erfolgen (49).
spurensuche=# GRANT SELECT,INSERT,UPDATE ON TABLE geometry_columns TO
punktadmin;
GRANT
spurensuche=# \z geometry_columns
Access privileges for database "spurensuche"
Table
|
Access privileges
------------------+------------------------------------geometry_columns | {=,postgres=arwdRxt,punktadmin=arw}
(1 row)
spurensuche=# GRANT SELECT,INSERT,UPDATE ON TABLE spatial_ref_sys TO punktadmin;
GRANT
spurensuche=# \z spatial_ref_sys
Access privileges for database "spurensuche"
Table |
Access privileges
-----------------+------------------------------------spatial_ref_sys | {=,postgres=arwdRxt,punktadmin=arw}
(1 row)
spurensuche=# \q
postgres@gis-im-weserbergland:~$ su mapserv
Password:
mapserv@gis-im-weserbergland:/var/lib/postgres$ psql -f
Das komplette Sitzungsprotokoll zur Erzeugung des Datenbankschemas
(50.spurendb_schema.sql) der Tabelle spurendb in spurensuche liegt unter (49).
create sequence spurendb_gid_seq start 7;
create table spurendb (gid int4 unique, NUMMER varchar(12), NAME varchar,HOEHE int4,
STATUS
int2, KATALOG int4, GRUNDLAG int4, DATUM_ER varchar(10), DATUM_DB varchar(10),
DATUM_FF varchar(10), DATUM_EI varchar(10), ENTS_VON int4, ENTS__BIS int4,
ERHALTEN int4, TEXT_ERH varchar(50), ERH_WERT boolean, SCHUTZ_V varchar(50),
NUTZUN_V varchar(50), REPERA_V varchar(50), PFLEGE_V varchar(50), EIGNUNG int4,
TEXT_OEF varchar(50), SONSTIGE varchar(50), WWW varchar(50), TEXT varchar(2000) );
alter table spurendb alter column gid set default nextval('"spurendb_gid_seq"'::text);
select AddGeometryColumn('spurensuche','spurendb','the_geom','-1','POINT',3);
Einspielung in die Datenbank.
/home/mapserv/gis/konf/spurensuche2/db_daten/spurendb_schema.sql -d spurensuche -U
punktadmin
CREATE
Seite 24
Masterarbeit von Dipl. Ing. Thomas Stübke
psql:/home/mapserv/gis/konf/spurensuche2/db_daten/spurendb_schema.sql:5: NOTICE: CREATE
TABLE / UNIQUE will create implicit index 'spurendb_gid_key' for table 'spurendb'
CREATE
ALTER
addgeometrycolumn
----------------------------------------------------------------------------------Geometry column the_geom added to table spurendb with a SRID of -1 and type POINT
(1row)
Als nächstes wird die eben erzeugte Tabelle spurendb mit Daten versorgt
(50.spurendb_daten.sql).
begin;
insert into spurendb values ('0','HKL034665001','Muehlenensemble
Vehlen','65','1','30','4','7.6.2003','15.10.2003','','','0','0','4','Vom Verfall
bedroht','t','Denkmal','Muehlenmuseum','Sanierung','Verein Vehler Mühle e.V.','1','Schautage +
Brauerei Meierhöfer','Sanierungsbeginn 2003','www.stuebke.de','Mühlenensemble Vehlen - Die erst
Anfang der 1990er Jahre endgültig stillgelegte Mühle, der benachbarte Meierhof mit der kleinsten
[.......]
Schwimmübungen diente und heute ein beliebter Anglerstandort ist.',GeometryFromText('POINT
(3506672.43539776 5793133.32089173 65.0)',-1) );
[............]
grant insert, update, delete, select on spurendb to inserter;
grant update on spurendb_gid_seq to inserter;
Einspielung in die Datenbank.
mapserv@gis-im-weserbergland:/var/lib/postgres$ psql -f
/home/mapserv/gis/konf/spurensuche2/db_daten/spurendb_daten.sql -d spurensuche -U punktadmin
BEGIN
INSERT 27935 1
[.........]
INSERT 27941 1
COMMIT
GRANT
GRANT
Als nächstes werden die Tabellen attributes und locked erzeugt(50.attributes.sql). Über
attributes wird die Dateneingabe gesteuert (21) und in der Tabelle locked werden die
gerade zum Bearbeiten aufgerufenen Datenbankeinträge gesperrt.
create table attributes (tabelle varchar, attribute varchar, label varchar,type varchar DEFAULT
'text', isnotnull boolean DEFAULT 'f' ::bool);
begin;
insert into attributes (tabelle, attribute, label, isnotnull) values('spurendb', 'NUMMER', '!
Objektnummer (HKL034665001)', 't');
[........]
Seite 25
Masterarbeit von Dipl. Ing. Thomas Stübke
insert into attributes (tabelle, attribute, label) values('sp_wurden_gen',
Nutzungen');
end;
'ID_NUTZU','ID der
grant insert, update, delete, select on attributes to inserter;
create table locked (gid int4 unique, tabelle varchar, nutzer varchar,zeitpunkt varchar );
grant insert, update, delete, select on locked to inserter;
Einspielung in die Datenbank.
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql -f attribute_locked.sql -d
spurensuche -U punktadmin
CREATE
BEGIN
INSERT 28001 1
[..........]
INSERT 28029 1
COMMIT
GRANT
psql:attribute_locked.sql:38: NOTICE: CREATE TABLE / UNIQUE will create implicit index
'locked_gid_key' for table 'locked'
CREATE
GRANT
Als nächstes wird die Tabelle objektkatalog erzeugt(50. Katalog.sql).
create table katalog (ID int4, OBJKLNR varchar(2), OBJKLTXT varchar(50), OBJGRNR
varchar(2), OBJGRTXT varchar(50), OBJUGRN varchar(2), OBJUGRTX varchar(50) );
begin;
insert into katalog values ('1', '1', 'Landwirtschaft', '1', 'Streuobstwiese', '', '' );
[........]
insert into katalog values ('77', '12', 'Versorgung', '1', 'N. N.', '', '' );
end;
grant insert, update, delete, select on katalog to inserter;
Einspielung in die Datenbank.
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql -f katalog.sql -d
spurensuche -U punktadmin
CREATE
BEGIN
INSERT 28131 1
[..........]
INSERT 28207 1
COMMIT
Seite 26
Masterarbeit von Dipl. Ing. Thomas Stübke
GRANT
Als nächstes werden die Tabellen Autoren, Fundstellen und Grundlage erzeugt
(50.autoren.sql).
create table grundlage (ID int4, ERF_MASS varchar(8), BESCHREI varchar(30) );
begin;
insert into grundlage values ('1', '1', 'GPS Umring' );
[.......]
insert into grundlage values ('7', '100000', 'TK100' );
end;
grant insert, update, delete, select on grundlage to inserter;
create table fundstelle (ID int4, FUNDSTEL varchar(100) );
begin;
insert into grundlage values ('1', 'Band ? Schaumburg Lippische Mitteilungen' );
[.......]
insert into grundlage values ('3', 'Zusammenstellung des Gesamtbergamtes bei R.B. deGroot' );
end;
grant insert, update, delete, select on fundstelle to inserter;
create table autoren (ID int4, VORNAME varchar(25), NAME varchar(25), Kuerzel varchar(5),
STRASSE varchar(35), HSNR varchar(4), PLZ varchar(5), ORT varchar(35), TELEFON
varchar(15), FAX varchar(15), EMAIL varchar(35) );
begin;
insert into autoren values ('1', 'Werner', 'Asmus', 'As', 'Birkenallee', '9', '31691', 'Helpsen',
'05724/6377', '', '' );
[......]
insert into autoren values ('58', '', '', 'Wue/Th', '', '', '', '', '', '', '' );
end;
grant insert, update, delete, select on autoren to inserter;
Einspielung in die Datenbank.
spurensuche=> \q
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql -f autoren.sql -d
spurensuche -U punktadmin
CREATE
BEGIN
INSERT 28375 1
[.........]
INSERT 28381 1
COMMIT
GRANT
Seite 27
Masterarbeit von Dipl. Ing. Thomas Stübke
CREATE
BEGIN
INSERT 28384 1
INSERT 28386 1
COMMIT
GRANT
CREATE
BEGIN
INSERT 28389 1
[...........]
INSERT 28446 1
COMMIT
GRANT
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql spurensuche punktadmin
spurensuche=> \d
List of relations
Name
| Type | Owner
------------------+----------+-----------attributes
| table | punktadmin
autoren
| table | punktadmin
fundstelle
| table | punktadmin
geometry_columns | table | postgres
grundlage
| table | punktadmin
katalog
| table | punktadmin
locked
| table | punktadmin
spatial_ref_sys | table | postgres
spurendb
| table | punktadmin
spurendb_gid_seq | sequence | punktadmin
(10rows)
Als nächstes werden die Tabellen Historische Eigentümer, Nutzungen und die Relation
Autoren_ermitteln_Spuren erzeugt(50.hist_eig_nutz.sql).
create table nutzungen (ID int4, VON varchar(10), BIS varchar(10), NUTZUNG varchar(50),
BESCHREI varchar(100) );
begin;
insert into nutzungen values ('1', '1850', '1900' 'Muehle + Baeckerei', '' );
[.....]
insert into nutzungen values ('5', '2006', '' 'Mühlenmuseum + Schautage', 'durch Vehler Mühle e.V.'
);
end;
grant insert, update, delete, select on nutzungen to inserter;
create table hist_eig (ID int4, VON varchar(10), BIS varchar(10), VORNAME varchar(20),
NACHNAME varchar(20), ORT varchar(30), STRASSE varchar(20), HOFSTELL varchar(30),
BEZEICH varchar(100) );
Seite 28
Masterarbeit von Dipl. Ing. Thomas Stübke
begin;
insert into hist_eig values ('1', '1900', '1950' 'W.', 'Wehmeyer', 'Vehlen', '', '', '' );
[...]
insert into hist_eig values ('5', '2003', '' 'Winfried', 'Brempel', 'Minden Meissen', 'Kanalstr. 2', '', '' );
end;
grant insert, update, delete, select on hist_eig to inserter;
create table au_ermitteln_sp (GID int4, ID_AUTOR int4 );
begin;
insert into au_ermitteln_sp values ('1', '16' );
[....]
insert into au_ermitteln_sp values ('7', '0' ;
end;
grant insert, update, delete, select on au_ermitteln_sp to inserter;
Einspielung in die Datenbank.
spurensuche=> \q
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql -f hist_eig_Nutz.sql -d
spurensuche -U punktadmin
CREATE
BEGIN
INSERT 28688 1
[.......]
INSERT 28708 1
COMMIT
GRANT
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql spurensuche punktadmin
spurensuche=> \d
List of relations
Name
| Type | Owner
------------------+----------+-----------attributes
| table | punktadmin
au_ermitteln_sp | table | punktadmin
autoren
| table | punktadmin
fundstelle
| table | punktadmin
geometry_columns | table | postgres
grundlage
| table | punktadmin
hist_eig
| table | punktadmin
katalog
| table | punktadmin
locked
| table | punktadmin
nutzungen
| table | punktadmin
spatial_ref_sys | table | postgres
spurendb
| table | punktadmin
spurendb_gid_seq | sequence | punktadmin
(13 rows)
Seite 29
Masterarbeit von Dipl. Ing. Thomas Stübke
Als nächstes werden die Tabellen DGK5 und Gemarkungen reduziert, mit shp2pgsql in
eine .sql umgewandelt (50.dgk5.sql, gemarkung.sql).
Zu beachten ist, dass zwar alle DGK5 von Niedersachsen aber nur die Gemarkungen von
Schaumburg in die Datenbank eingespielt wurden. Die fehlenden Gemarkungen der
Weserberglandregion werden aber in Kürze ergänzt.
create table dgk5 (gid int4 , DGK5_NR varchar, DGK5_NAME varchar, N11 varchar, N12 varchar,
KA_NR varchar, N14 varchar, TK25_NR varchar);
select AddGeometryColumn('spurensuche','dgk5','the_geom','-1','MULTIPOLYGON',2);
begin;
Insert into dgk5
values('1','0',NULL,NULL,NULL,'0','0','0',GeometryFromText('MULTIPOLYGON(((3452000
5882000 ,3454000 5882000 ,3454000 5880000 ,3452000 5880000 ,3452000 5882000 )))',-1) );
[.........]
create table gemarkung (gid int4 , GEMNR int4, GEMEINDE varchar, LANDKREIS varchar,
GEMARKUNG varchar);
select AddGeometryColumn('spurensuche','gemarkung','the_geom','-1','MULTIPOLYGON',2);
begin;
Insert into gemarkung
values('0','33663','Woelpinghausen','SHG','Woelpinghausen',GeometryFromText('MULTIPOLYGO
N(((3512105.275 5808846.871 ,3512114.028 5808846.704 ,3512123.652 5808845.171
,3512129.829 5808844.573 ,3512138.922 5808844.506 ,3512143.226 5808844.334 ,3512147.631
5808843.817 ,3512152.536 5808843.307 ,3512160.984 5808840.574 ,3512166.787 5808837.942
,3512172.35 5808836.31 ,3512185.024
[...............]
Einspielung in die Datenbank.
[.......................]
INSERT 33694 1
INSERT 33695 1
[............]
INSERT 34557 1
INSERT 34558 1
COMMIT
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql -f
gemarkung.sql -d spurensuche -U punktadmin
CREATE
addgeometrycolumn
-----------------------------------------------------------------------------------------Geometry column the_geom added to table gemarkung with a SRID of -1 and type
MULTIPOLYGON
(1 row)
BEGIN
INSERT 34565 1
INSERT 34567 1
[............]
INSERT 34842 1
INSERT 34843 1
Seite 30
Masterarbeit von Dipl. Ing. Thomas Stübke
grant select on dgk5 to inserter;
grant select on gemarkung to inserter;
Als nächstes werden die Tabellen Flaechen und Bilder aufbereitet, mit shp2pgsql in eine
sql umgewandelt (50.flaechen.sql, bilder3.sql, bilder_schema.sql).
create table flaechen (gid int4 , ID int4, ERFASSUNGS int4, NUMMER varchar);
select AddGeometryColumn('spurensuche','flaechen','the_geom','-1','MULTIPOLYGON',2);
begin;
Insert into flaechen
values('0','1','4','HKL034665001',GeometryFromText('MULTIPOLYGON(((3506655.34650841
5793135.35528331 ,3506681.79359907 5793158.95422575 ,3506692.37243533
5793147.15475453 ,3506697.25497515 5793130.4727435 ,3506707.42693309 5793116.23200238
,3506680.1660858 5793097.51559976 ,3506689.93116542
[.............]
Das Einspielen der Bilder funktioniert nicht als Benutzer punktadmin, da die erforderliche
Routine “lo_import” nur vom Superuser “postgres” verwendet werden darf. Das machte es
erforderlich, die zu importierenden Bilddaten in ein Verzeichnis zu kopieren, das postgres
gehört und die psql Einspielung als User ”postgres” vorzunehmen.
create table bilder (gid int4 , ID int4, AUTOR varchar, DATUM varchar, GRUNDLAG
varchar, NAME varchar, BILDID oid);
select AddGeometryColumn('spurensuche','bilder','the_geom',
'1','MULTILINESTRING',2);
begin;
insert into bilder
values('0','1','16','7.6.2003','4','HKL03466500101.jpg',lo_import('/var/lib/post
gres/HKL03466500101.jpg'),GeometryFromText('MULTILINESTRING ((3506688.54986507
5793150.88127025 ,3506673.01889003 5793137.93879105 ))',-1) );
[.............]
Einspielung in die Datenbank.
mapserv@gis-im-weserbergland:~/gis/konf/spurensuche2/db_daten$ psql -f
bilder3.sql -d spurensuche -U postgres
BEGIN
INSERT 34865 1
[............]
INSERT 34879 1
COMMIT
grant insert, update, delete, select on flaechen to inserter;
grant insert, update, delete, select on bilder to inserter;
Seite 31
Masterarbeit von Dipl. Ing. Thomas Stübke
2.3.11 Indices
Indices ermöglichen einen schnellen Zugriff auf große räumliche Datenbanken. Ohne
Indizierung würden beim Suchen alle Daten mit der Suchabfrage verglichen werden. Je
nach Suchabfrage müssen Indices auf Attribute oder den räumlichen Bezug aufgebaut
werden. PostgreSQL unterstützt 3 Arten von Indices :
• B-Bäume, die aber nicht für GIS Daten geeignet sind.
• R-Bäume unterteilen Daten in Rechtecke, Unterrechtecke, Unterunterrechtecke... .
• GiST (Generalized Search Trees) spalten die räumlichen Daten in „Dinge auf einer
Seite“, „Dinge die sich überschneiden“ und "Dinge die innerhalb von anderen sind“.
PostGIS benutzt zur Indizierung einen R-Baum-Index, der auf einem GiST-Index erstellt
wird.
2.3.11.1 Erstellung des Index
Die Syntax zur Erstellung eines GiST-Index auf eine „räumliche Spalte“ einer Datenbank
lautet wie folgt:
CREATE INDEX [Indexname] ON [Tabellenname] USING GIST ( [Geometriefeld der
Tabelle] GIST_GEOMETRY_OPS );
Für den Fall der Datenbanktabelle also:
CREATE INDEX dgk5idx ON dgk5 USING GIST ( the_geom GIST_GEOMETRY_OPS );
Nach erstelltem Index ist die Ausführung eines “VACUUM ANALYSE” zweckmäßig, da
PostgreSQL dann mit der Erstellung von Statistiken und Informationen über die einzelnen
Tabellen beginnt, die im Zusammenhang mit dem Index benötigt werden.
2.3.11.2 Nutzen von Indices
Bei der Erstellung von Abfragen in PostGIS ist es wichtig zu bedenken, dass nur die
Bounding Box basierten Operatoren wie && die GiST-Indices benutzen können.
Funktionen wie „distance“ können den GiST nicht nutzen. Eine Abfrage müsste deshalb
wie folgt lauten:
SELECT dgk5_nr,the_geom FROM dgk5 WHERE the_geom. && ‘BOX3D(’X-Koordinate100 Y-Koordinate-100, X-Koordinate+100 Y-Koordinate+100)’::box3d AND distance (
the_geom, GeometryFromText ( ‚POINT(X-Koordinate Y-Koordinate)’, -1 )) < 50;
Die 200 * 200 Einheiten große Abfragebox wird über der Suchkoordinate platziert und alle
in diese Box fallenden Abfragen an ‚distance’ übergeben.
2.3.12 Primary Keys
Die Primary Keys (Primärschlüssel) müssen noch in die Datenstruktur eingearbeitet
werden.
Seite 32
Masterarbeit von Dipl. Ing. Thomas Stübke
2.3.13 Constraints ( REFERENCES, CASCADE, SET NULL, CHECK)
Die oben angeführten Constraints müssen ebenfalls noch in die Datenstruktur
eingearbeitet werden, um die Datenkonsistenz sicherzustellen.
2.3.14 Sichten auf die Daten (VIEWS)
Die Sicht auf die Tabellen der Datenbank ist derzeit über die Auswahlmöglichkeiten der
Internetanwendung auf die Gruppe der Spurensucher, Redakteure, Auswerter und die
Bürger realisiert. Falls zweckmäßig können später über Views auch noch weitere Sichten
auf die Datenbank definiert werden.
2.3.15 Erstellen der Benutzersichten
2.3.15.1 Änderungsdienst Spurensucher und Redaktion
Die fetten Anmerkungen/Beschreibungen sollten in der nächsten Entwicklungsstufe der
Anwendung Spurensuche realisiert werden. Entsprechend dem Konzept (21 S. 4) der
Intevation GmbH wurde eine Tabelle attributes angelegt, in der die auszufüllenden
Datenbankfelder mit den entsprechenden Langtexten der Beschreibung abgelegt sind.
Nummer
Name
Datum_Erfassung
Erhaltungsgrad
Autor
Speichern mehrerer Bilder
Aufnahmedatum_Bild
Bildautor
Manuelle Eingabe später automatische Generierung
freier Text
(1-5)
Kürzel, später Infobutton mit Datenbankanzeige der
Kürzel-Namen
Name aus Gebietsnummer generieren lassen
Kürzel, Infobutton mit Datenbankanzeige der KürzelNamen
Digitalisierung des Standpunktes des Fotographen -> Erzeugung einer
Aufnahmelinie aus Standpunkt und
Objektpunktkoordinate
Beschreibung
freier Text
Rechtsstatus
später Automatische Erzeugung von Rechtsstatus = 1
(erfasst)
Datum_Erfassung
Anzeige mit der Möglichkeit zu verändern
Nummer des Objektkatalogs
ID von Objektkatalog (Anzeige des Textes nach
Eingabe)
Erster Datenbankeintrag
Datum des Datenbankeintrags automatisch aus
Rechnerdatum
Fortführung des Datenbankeintrags
Datum der letzten Fortführung automatisch
Seite 33
Masterarbeit von Dipl. Ing. Thomas Stübke
Mitteilung an Eigentümer
Datum der Mitteilung an die Eigentümer
Genehmigung der Veröffentlichung
Veröffentlichungsgenehmigung (Ja(0)/Nein(1))
Beschreibung der Erhaltung
Text
Erhaltenswert
(Ja(0)/Nein(1))
Schutzvorschlag
Text
Nutzungsvorschlag
Text
Reparaturvorschlag
Text
Pflegevorschlag
Text
Eignung für die Öffentlichkeitsarbeit
(Sehr gut; gut; mittel; schlecht; sehr schlecht)
Textliche Beschreibung der Eignung für die Öffentlichkeitsarbeit
Bemerkungen oder Sonstiges Text
Anzeige eines Kartenausschnittes mit der Punktkoordinate und evtl. mit
Änderungsmöglichkeit
Erfassungsgrundlage des Punktes
Button zur Übernahme eines shape-Files zur Flächendefinition
Erfassungsgrundlage der Fläche
Das nachfolgende Bild zeigt den Screenshot des Änderungsdienstes:
Seite 34
Masterarbeit von Dipl. Ing. Thomas Stübke
Die nachfolgenden Bilder zeigen Screenshots der Dateneingabe und der
Sachdatenausgabe:
Seite 35
Masterarbeit von Dipl. Ing. Thomas Stübke
2.3.15.2 Änderungsdienst Autoren
Der Änderungsdienst für die Datentabelle Autoren wird dem Administrator übertragen, der
mit einer grafischen Oberfläche wie pdaccess, pgadminII oder der shell die Datenbestände
aktualisieren kann.
2.3.15.3 Änderungsdienst Fundstellen und aller weiterer Tabellen
Der Änderungsdienst für die Datentabelle Fundstellen wird dem Administrator übertragen,
der mit einer grafischen Oberfläche wie pdaccess, pgadminII oder der Shell die
Datenbestände aktualisieren kann bis eine entsprechende Webanwendung programmiert
wurde.
2.3.15.4 Auswerter / Datenbankrecherchen
Folgende Suchkriterien sind bisher an mich herangetragen worden:
Die Eingabe von Polygonen zur Suche in der Spurensuchdatenbank. Gedacht ist z. B.
daran, bei einer beliebigen Baumaßnahme (Strasse, Pipeline...) die Datenbank auf
räumliche Konflikte mit den Spuren abzufragen. Die Eingabe der Suchpolygone kann
derzeit nur über die Shell erfolgen. Ideal sind dafür shape Files geeignet.
Suche auf Kartengrafik ist realisiert.
Suche nach Gebieteszugehörigkeit (z.B. Gemarkung, Gemeinde) und zukünftig auch nach
historischen Gebietsdefinitionen. Dafür muss die bereits angedachte Tabelle gebiete
mit den entsprechenden Umringen (Polygonen) und Sachdaten gefüllt werden.
Suche nach Nutzung / Typisierung konnte noch nicht realisiert werden.
Suche nach Autoren (Welcher Autor hat welche Spur eingegeben?) ist ebenfalls noch
nicht implementiert.
Die nachfolgenden Bilder zeigen Screenshots der Auswertung / Datenbankrecherche:
Seite 36
Masterarbeit von Dipl. Ing. Thomas Stübke
2.3.15.5 Bürger
Bei der frei zugänglichen Sicht auf den Datenbestand werden nur Daten angezeigt, die
den Rechtstatus 3 oder 4 des Datenbankfeldes status der Tabelle spurendb haben. Das
sind Spuren, die vom Eigentümer und dem Redaktionsteam zur Veröffentlichung
freigegeben wurden oder zusätzlich bereits in der Literatur veröffentlicht wurden (Hefte
Spurensuche).
In einer nächsten Phase der Spurensuche sollte die Benutzerfreundlichkeit und das
Design, insbesondere dieser Anwendung, wesentlich verbessert werden, um mehr und
insbesondere jüngeren Menschen diese kulturhistorischen Landschaftsbestandteile näher
zu bringen. Dazu ist insbesondere die Verwendung von Mapscript, der
Programmiersprache des UMN-Mapservers geeignet. Dabei lassen sich die
Mapserverbefehle in diverse Programmiersprachen ( Perl, PHP..)integrieren.
Seite 37
Masterarbeit von Dipl. Ing. Thomas Stübke
Das nachfolgende Bild zeigt den Screenshot der Bürgeranwendung:
3. Benutzeroberflächen mit dem UMN – Mapserver
3.1 Ansteuerung des UMN – Mapservers
Normalerweise wird das mapserv-CGI-Programm direkt aufgerufen, bei der Anbindung an
Zope sind aber zwei Python-Skripte davorgeschaltet:
Das Python-Skript mapserv (18 Nummer 2.2) wird von der Startseite oder über die vom
Mapserver generierte Seite oder vom Rosa-Applet aufgerufen. Dieses Skript übernimmt
die Steuerung der verschiedenen Funktionen, die über die regulären MapserverFunktionen hinaus genutzt werden können, wie z.B. die Kreisfunktion oder die
Punkteingabe.
Der eigentliche mapserv-CGI-Aufruf wird durch das Python-Skript mapserv proxy (18
Nummer 2.3) ersetzt, welches zuerst einige Sicherheitsüberprüfungen durchführt. Dabei
wird auch dafür Sorge getragen, dass die erzeugten Bilddateien in einen geschützten
Bereich geschrieben werden und eindeutig referenziert werden können, so dass nur ein
berechtigter Nutzer sich die Bilddateien anschauen kann. die entsprechende Überprüfung
wird vom Skript mapserv-images durchgeführt.
3.2 Verbindung zur Datenbank mittels Zope
Unter Zope werden die Datenbankanbindung und die SQL – Abfragen in zwei
verschiedenen Objekten abgelegt. Die Datenbankanbindung erfolgt durch das
Seite 38
Masterarbeit von Dipl. Ing. Thomas Stübke
„ZpsycopgDatabaseConnection“-Objekt psycopg_punkteingabe. Hier wird festgelegt wie
die Datenbank heißt, unter welchem Nutzernamen die Anbindung erfolgen soll und
welches Passwort der Nutzer hat (19 S.5+6).
3.3 Die Layoutdatei Mapfile (spuren.map) (52)
Die Beschreibung wird am Beispiel der Anwendung Spurensuche / Redaktion aufbereitet.
NAME "spuren"
16.07.2003
05.09.2003
10.09.2003
10.2003
Änderung der gesammten Kartendarstellung (stuebke)
in der Websektion Minscale auf 1000 eingestellt, (uta)
in der Reference Sektion Size auf Original Pixelgröße des PNG
Bildes eingestellt (Uta)
Anpassung der Postgres Abfrage an die neue Datenstruktur
Spurensuche
STATUS ON
SYMBOLSET "../symbol/symbol.sym"
FONTSET
"../fonts/fonts.list"
SIZE 400 400
EXTENT 3499000 5721000 3555000 5823000
SHAPEPATH "../../daten/" # Hier muss zum funktionieren hinter daten ein "/"
IMAGECOLOR 255 255 255
Definition des Aussehens der Ergebnisskarten
QUERYMAP
SIZE 200 200
STATUS ON
STYLE NORMAL
COLOR 255 0 0
END
Definition des Web Interface.
WEB
END
TEMPLATE "spuren.html"
EMPTY_TEMPLATE "../empty.html"
IMAGEPATH "/tmp/"
IMAGEURL "/tmp/"
LOG "/tmp/spuren.log"
MINSCALE 1000
MAXSCALE 2000000
#
Definition of reference map
##
REFERENCE
IMAGE "spuren_ref.png"
EXTENT 3489000 5716000 3565000 5818000
SIZE 225 305
STATUS ON
COLOR -1 -1 -1
Seite 39
Masterarbeit von Dipl. Ing. Thomas Stübke
END
OUTLINECOLOR 255 0 0
Definition der Legende
LEGEND
KEYSIZE 18 12
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 89
END
STATUS ON
END
Definition of Maßstabs
SCALEBAR
IMAGECOLOR 0 0 0
LABEL
COLOR 255 255 255
SIZE tiny
END #LABEL
SIZE 190 4
COLOR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 255 255 255
UNITS kilometers
INTERVALS 4
STATUS ON
END
Beginn der Layer Definitionen
Für jedes Layer die ihre Daten von einem WMS Server bekommen,
müssen folgende Parameter definiert werden:
CONNECTIONTYPE WMS
CONNECTION: URL, mit der die Karte geholt werden kann
PROJECTION
METADATA, und zwar
WMS_TITLE
WMS_SRS: von WMS Server bereitgestellte EPSG-codes
Geobasisdaten: überwiegend vom Server der Bezirksregierung Hannover
kommend
TK200
LAYER
STATUS OFF
NAME "TK200"
PROJECTION
"init=epsg:31493"
END
MINSCALE 100000
MAXSCALE 300000
METADATA
WMS_TITLE "TK200"
Seite 40
Masterarbeit von Dipl. Ing. Thomas Stübke
END
CLASS
NAME "Kartengrundlage = TK200"
END
TYPE RASTER
CONNECTIONTYPE WMS
CONNECTION "http://www.gis-br-h.niedersachsen.de:9090/cgibin/wms_shg?VERSION=1.1.0&REQUEST=GetMap&LAYERS=TK200&FORMAT=image/gif&"
END # TK200
#
TK100
LAYER
STATUS OFF
NAME "TK100"
PROJECTION
"init=epsg:31493"
END
MINSCALE 25000
MAXSCALE 100000
METADATA
WMS_TITLE "TK100"
END
CLASS
NAME "Kartengrundlage = TK100"
END
TYPE RASTER
CONNECTIONTYPE WMS
CONNECTION "http://www.gis-br-h.niedersachsen.de:9090/cgibin/wms_shg?VERSION=1.1.0&REQUEST=GetMap&LAYERS=TK100&FORMAT=image/gif&"
END
TK50
LAYER
STATUS OFF
NAME "TK50"
CLASS
NAME "Kartengrundlage = TK50"
END
PROJECTION
"init=epsg:31493"
END
MINSCALE 10000
MAXSCALE 25000
METADATA
WMS_TITLE "TK50"
END
TYPE RASTER
CONNECTIONTYPE WMS
CONNECTION "http://www.gis-br-h.niedersachsen.de:9090/cgibin/wms_shg?VERSION=1.1.0&REQUEST=GetMap&LAYERS=TK50&FORMAT=image/gif&"
END # TK50
TK25
LAYER
STATUS OFF
NAME "TK25"
CLASS
NAME "Kartengrundlage = TK25"
END
PROJECTION
Seite 41
Masterarbeit von Dipl. Ing. Thomas Stübke
"init=epsg:31493"
END
MINSCALE 4000
MAXSCALE 10000
METADATA
WMS_TITLE "TK25"
END
TYPE RASTER
CONNECTIONTYPE WMS
CONNECTION "http://www.gis-br-h.niedersachsen.de:9090/cgibin/wms_shg?VERSION=1.1.0&REQUEST=GetMap&LAYERS=TK25&FORMAT=image/gif&"
END # TK25
DKG5
LAYER
STATUS OFF
NAME "DGK5"
CLASS
NAME "Kartengrundlage = DGK5"
END
PROJECTION
"init=epsg:31493"
END
MINSCALE 500
MAXSCALE 4000
METADATA
WMS_TITLE "DGK5"
END
TYPE RASTER
CONNECTIONTYPE WMS
CONNECTION "http://www.gis-br-h.niedersachsen.de:9090/cgibin/wms_shg?VERSION=1.1.0&REQUEST=GetMap&LAYERS=DGK5&FORMAT=image/gif&"
END # DGK5
Luftbilder von Schaumburg
LAYER
STATUS ON
NAME "orthoshg"
CLASS
NAME "Kartengrundlage = Luftbild"
END
PROJECTION
"init=epsg:31493"
END
MINSCALE 500
MAXSCALE 3000
METADATA
WMS_TITLE "LUFTBILDER"
END
TYPE RASTER
CONNECTIONTYPE WMS
CONNECTION "http://www.gis-br-h.niedersachsen.de:9090/cgibin/wms_shg?VERSION=1.1.0&REQUEST=GetMap&LAYERS=ortho&FORMAT=image/gif&"
END # orthoSHG
Hoehenlinie 200 M
Seite 42
Masterarbeit von Dipl. Ing. Thomas Stübke
LAYER
END
STATUS ON
NAME "hoehe_200"
MINSCALE 300000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "200 M Hoehenlinie"
COLOR 211 253 183
END
DATA "geobasisdaten/Geometrie500000/200_M_Linie"
300 m Hoehenlinie
LAYER
END
STATUS ON
NAME "hoehe_300"
MINSCALE 300000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "300 M Hoehenlinien"
COLOR 214 192 131
END
DATA "geobasisdaten/Geometrie500000/300_M_Linie"
400 M HOEHENLINIE
LAYER
END
Seen
LAYER
END
STATUS ON
NAME "hoehe_400"
MINSCALE 300000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "400 M Hoehenlinie"
COLOR 149 117 37
END
DATA "geobasisdaten/Geometrie500000/400_M_Linie"
STATUS ON
NAME "seen"
MINSCALE 300000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "Seen"
COLOR 0 0 250
END
DATA "geobasisdaten/Geometrie500000/seen"
Gewaesser
Seite 43
Masterarbeit von Dipl. Ing. Thomas Stübke
LAYER
STATUS ON
NAME "gewaesser"
MINSCALE 300000
MAXSCALE 2500000
TYPE LINE
CLASS
NAME "Gewaesser"
COLOR 0 0 255
END
DATA "geobasisdaten/Geometrie500000/gewaesser"
END
Eisenbahn
LAYER
STATUS ON
NAME "eisenbahn"
MINSCALE 300000
MAXSCALE 2500000
TYPE LINE
CLASS
NAME "Eisenbahn"
COLOR 0 0 0
END
DATA "geobasisdaten/Geometrie500000/eisenbahn"
END
Strassen
LAYER
STATUS ON
NAME "strassen"
MINSCALE 300000
MAXSCALE 2500000
TYPE LINE
CLASS
NAME "Strassen"
SYMBOL 0
SIZE 3
COLOR 46 173 198
END
DATA "geobasisdaten/Geometrie500000/strassen"
END
Staedte
LAYER
STATUS ON
NAME "staedte"
MINSCALE 300000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "Staedte"
COLOR 244 150 150
END
DATA "geobasisdaten/Geometrie500000/staedte"
END
Kreisgrenze Schaumburg
LAYER
STATUS ON
Seite 44
Masterarbeit von Dipl. Ing. Thomas Stübke
END
NAME "schaumburg"
MINSCALE 100000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "Landkreis Schaumburg"
OUTLINECOLOR 243 5 25
SYMBOL "circle"
SIZE 2
END
DATA "geobasisdaten/grenzen/schaumburg"
Kreisgrenze Hameln
LAYER
STATUS ON
NAME "hameln"
MINSCALE 100000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "Landkreis Hameln"
OUTLINECOLOR 109 109 255
SYMBOL "circle"
SIZE 2
END
DATA "geobasisdaten/grenzen/hameln"
END
Kreisgrenze Holzminden
LAYER
STATUS ON
NAME "holzminden"
MINSCALE 100000
MAXSCALE 2500000
TYPE POLYGON
CLASS
NAME "Landkreis Holzminden"
OUTLINECOLOR 63 63 148
SYMBOL "circle"
SIZE 2
END
DATA "geobasisdaten/grenzen/holzminden"
END
Spuren in Postgres
Angepaßt auf die Anwendung Spurensuche
LAYER
NAME spurendb
TYPE POINT
STATUS ON
SYMBOLSCALE 100000
CONNECTION "user=inserter password='hinein' dbname=spurensuche"
CONNECTIONTYPE postgis
DATA "the_geom from spurendb"
CLASS
NAME "Erfasste Spuren"
EXPRESSION ([status] = 1)
SYMBOL "circle"
COLOR 255 0 0
Seite 45
Masterarbeit von Dipl. Ing. Thomas Stübke
SIZE 5
MAXSIZE 10
TEMPLATE "spuren_info.html"
END
CLASS
NAME "Redaktionell freigegebene Spuren"
EXPRESSION ([status] = 2)
SYMBOL "circle"
COLOR 255 166 0
SIZE 5
MAXSIZE 10
TEMPLATE "spuren_info.html"
END
CLASS
NAME "Veröffentlichungsgenemigung erteilt"
EXPRESSION ([status] = 3)
SYMBOL "circle"
COLOR 0 255 0
SIZE 5
MAXSIZE 10
TEMPLATE "spuren_info.html"
END
CLASS
NAME "Veröffentlichte Spuren"
EXPRESSION ([status] = 4)
SYMBOL "circle"
COLOR 0 0 0
OUTLINECOLOR 255 255 0
SIZE 5
MAXSIZE 10
TEMPLATE "spuren_info.html"
END
HEADER "query_spuren_header.html"
FOOTER "query_spuren_footer.html"
TOLERANCE 5
END # spurendb
DGK5 Struktur (Ränder) aus der PostgreSQL Tabelle dgk5
LAYER
NAME dgk5
TYPE POLYGON
STATUS ON
MINSCALE 500
MAXSCALE 100000
SYMBOLSCALE 100000
CONNECTION "user=inserter password='hinein' dbname=spurensuche"
CONNECTIONTYPE postgis
DATA "the_geom from dgk5"
CLASS
NAME "Struktur der DGK5"
OUTLINECOLOR 130 70 30
SIZE 5
TEMPLATE "spuren_dgk5.html"
END
HEADER "query_sp_dgk5_header.html"
TOLERANCE 5
END # dgk5
Bilder aus der Postgresql Tabelle bilder
LAYER
NAME bilder
Seite 46
Masterarbeit von Dipl. Ing. Thomas Stübke
TYPE LINE
STATUS ON
MINSCALE 500
MAXSCALE 100000
SYMBOLSCALE 100000
CONNECTION "user=inserter password='hinein' dbname=spurensuche"
CONNECTIONTYPE postgis
DATA "the_geom from bilder"
CLASS
NAME "Fotographenblickrichtung wenn vorhanden"
COLOR 255 0 0
SIZE 5
TEMPLATE "spuren_bilder.html"
END
HEADER "query_sp_bilder_header.html"
TOLERANCE 5
END # Bilder
Gemarkung aus der Postgresql Tabelle gemarkung
LAYER
NAME gemarkung
TYPE POLYGON
STATUS ON
MINSCALE 500
MAXSCALE 100000
SYMBOLSCALE 100000
CONNECTION "user=inserter password='hinein' dbname=spurensuche"
CONNECTIONTYPE postgis
DATA "the_geom from gemarkung"
CLASS
NAME "Gemarkungsgrenzen"
OUTLINECOLOR 255 0 0
SIZE 5
TEMPLATE "spuren_gemarkung.html"
END
HEADER "query_sp_gem_header.html"
TOLERANCE 5
END # gemarkung
Flaechen aus der Postgresql Tabelle flaechen
LAYER
NAME flaechen
TYPE POLYGON
STATUS ON
MINSCALE 500
MAXSCALE 100000
SYMBOLSCALE 100000
CONNECTION "user=inserter password='hinein' dbname=spurensuche"
CONNECTIONTYPE postgis
DATA "the_geom from flaechen"
CLASS
NAME "Flaechenausdehnung der Spuren wenn vorhanden"
OUTLINECOLOR 0 0 255
SIZE 5
END
TOLERANCE 5
END # Flaechen
Layer für digitalisierte Punkte
LAYER
Seite 47
Masterarbeit von Dipl. Ing. Thomas Stübke
END
NAME ip
TYPE POINT
STATUS OFF
CLASS
NAME "Digitalisierter Punkt"
SYMBOL "objmarker"
END
POSTLABELCACHE true
Gemarkungsnummer aus PostgreSQL Tabelle gemarkung
LAYER
NAME "gemarkung"
TYPE ANNOTATION
STATUS ON
MINSCALE 500
MAXSCALE 40000
CONNECTION "user=inserter password='hinein' dbname=spurensuche"
CONNECTIONTYPE postgis
DATA "the_geom from gemarkung"
LABELITEM "gemnr"
CLASS
NAME "Gemarkungs_Nummer (z.b.34665)"
SYMBOL "circle"
SIZE 2
LABEL
TYPE TRUETYPE
FONT "Arial"
SIZE 15
OUTLINECOLOR 255 0 0
COLOR 255 255 255
POSITION CR
END
END
END # gemarkungsnummer
DGK5 Nummer aus PostgreSQL Tabelle dgk5
LAYER
NAME "dgk5"
TYPE ANNOTATION
STATUS ON
MINSCALE 500
MAXSCALE 40000
CONNECTION "user=inserter password='hinein' dbname=spurensuche"
CONNECTIONTYPE postgis
DATA "the_geom from dgk5"
LABELITEM "dgk5_nr"
CLASS
NAME "DGK5_Nummer (z.b.362010)"
SYMBOL "circle"
SIZE 2
LABEL
TYPE TRUETYPE
FONT "Arial"
SIZE 10
OUTLINECOLOR 130 70 30
COLOR 255 255 255
POSITION LR
END
END
Seite 48
Masterarbeit von Dipl. Ing. Thomas Stübke
END # DGK5 Nummer
END # Map File
END # der Mapdatei
3.4 Die HTML Datei (spuren.html) (53)
Die Beschreibung wird am Beispiel der Anwendung Spurensuche / Redaktion aufbereitet.
<html>
<head>
<!-- JavaScript Elemente im Head der HTML-Datei -->
<!-- /home/mapserv/gis/konf/spurensuche/spuren.html -->
<!-- 16.07.2003 Thomas Stübke Änderungen: gesamte Kartendarstellung analog der
ris.html-->
<!-- 10.2003 Thomas Stübke
Änderungen: Anpassung der Anwendung auf die
Datenbank spurensuche -->
<script language="JavaScript">
<!-/* MapSizeSelected()
* Wird aus geführt, wenn via mapsize-Select (siehe unten) eine Kartengröße
* ausgewählt wurde.
* IE für dies nur aus, wenn eine Änderung erfolgt, Netscape immer, wenn
* das Select-Element "angeklickt" wurde. Daher ist die Prüfung, ob
* tatsächlich eine gültige Auswahl (beginnend bei 1) gemacht wurde.
* Der Eintrag "Auswahl" hat den Index 0.
*/
function MapSizeSelected()
{
/* Berechnungen der Mitte des gezeigten Kartenausschnitts */
diff_x=[maxx]-[minx]
shift_x=diff_x/2
center_x=[minx]+shift_x
diff_y=[maxy]-[miny]
shift_y=diff_y/2
center_y=[miny]+shift_y
/* Überprüfung der Auswahl: */
/* Für einen Eintrag
* - Bildgröße setzen
* - Mittelpunkt setzen
* - Maßstab setzen (wird aus der bisherigen Darstellung übernommen
* - Anfrage an Server aktivieren
*/
switch (document.mapserver.SelectMapSize.selectedIndex)
{
case 1:
document.mapserver.mapsize.value="350 350"
document.mapserver.mapxy.value=center_x+" "+center_y
Seite 49
Masterarbeit von Dipl. Ing. Thomas Stübke
}
}
document.mapserver.scale.value="[scale]"
document.mapserver.submit();
break;
case 2:
document.mapserver.mapsize.value="400 400"
document.mapserver.mapxy.value=center_x+" "+center_y
document.mapserver.scale.value="[scale]"
document.mapserver.submit();
break;
case 3:
document.mapserver.mapsize.value="500 500"
document.mapserver.mapxy.value=center_x+" "+center_y
document.mapserver.scale.value="[scale]"
document.mapserver.submit();
break;
case 4:
document.mapserver.mapsize.value="600 600"
document.mapserver.mapxy.value=center_x+" "+center_y
document.mapserver.scale.value="[scale]"
document.mapserver.submit();
break;
-->
</script>
<title>Änderungsdienst der Spurensuche</title>
</head>
<!-- Ende Head -->
<!-- Body, Hintergrundfarbe weiss, Hintergrundgrafik setzen -->
<body bgcolor="#FFFFFF">
<!-- Die aktiven Elemente der GIS Anwendung werden innerhalb einer
Tabelle angeordnet. Das zugehörige Formular (form) umfasst diese.
-->
<form method=GET action="/gis/mapserv" name="mapserver">
<!-- Gesamter Inhalt auf Seite zentriert -->
<center>
<table border=0 cellspacing=0 cellpadding=5>
<tr valign="top">
<td>
<!-- Karte (mit schwarzem Rahmen):
Der Rahmen um die Karte basiert auf dem Trick, zunächst eine
Tabelle mit schwarzem Hintergrund zu erzeigen, deren einziges Feld
dann eine weitere Tabelle ist, die alle Elemente (Kartenapplet,
Masstabsbalken, ...) enthält. Die Dicke des Rahmens entspricht
dann dem cellpadding -->
<table border=0 cellspacing=0 cellpadding=1 bgcolor="#000000">
<tr>
<td valign="top" align=center>
<!-- innere Tabelle für Karte -->
<table cellpadding="0" cellspacing="0" border="0">
Seite 50
Masterarbeit von Dipl. Ing. Thomas Stübke
<tr>
<!-- Feld für Applet, spannt sich über 2 Spalten, da in einer
weiteren Zeile für "GIS-Service .." und den Massstabsbalken
jeweils ein Feld vorgesehen ist. -->
<td colspan="2" valign="top">
<!-- ROSA Applet spezifische Tags -->
<input type="hidden" name="imagewidth" value="[mapwidth]">
<input type="hidden" name="imageheight" value="[mapheight]">
<!-- Initialiserung der vom Applet zu setzenden Parameter -->
<input type="hidden" name="INPUT_TYPE" value="">
<input type="hidden" name="INPUT_COORD" value="">
<input type="hidden" name="funktion" value="">
<!-- Applet und Parameter -->
<applet name="RosaApplet"
archive="/gis/mapserv-files/rosa_png.jar"
code="Rosa2000"
width="[mapwidth]" height="[mapheight]" MAYSCRIPT>
<!-- Allgemein -->
<param name="IMG_URL" value="[img]">
<param name="IMG_XY" value="0,0">
<param name="INP_FORM_NAME" value="mapserver">
<param name="BG_COLOR" value="#F8F8F8">
<!-- Rosa Modi -->
<param name="INP_TYPE_NAME" value="INPUT_TYPE">
<param name="INP_COORD_NAME" value="INPUT_COORD">
<!-- ToolBar allgemein -->
<param name="TB_POSITION" value="top">
<param name="TB_ALIGN" value="top">
<param name="TB_BUTTONS"
value="zoomin|zoomout|recentre|space_05|pquery|space_05|redraw|space_05|digitize
|change">
<param name="TB_SELECTED_BUTTON" value="zoomin">
<!-- ToolBar Buttons -->
<!-- Zoom In -->
<param name="TB_BUT_zoomin_IMG"
value="/gis/mapserv-files/icon_zoomin_1.gif">
<param name="TB_BUT_zoomin_IMG_PR"
value="/gis/mapserv-files/icon_zoomin_2.gif">
<param name="TB_BUT_zoomin_CURSOR_TYPE" value="CROSSHAIR">
<param name="TB_BUT_zoomin_INPUT" value="auto_rect">
<param name="TB_BUT_zoomin_NAME" value="zoomdir">
<param name="TB_BUT_zoomin_VALUE" value="1">
<param name="TB_BUT_zoomin_HINT" value="Vergrößerte Darstellung|eines
gewählten Kartenausschnitts">
<!-- Zoom Out -->
<param name="TB_BUT_zoomout_IMG"
value="/gis/mapserv-files/icon_zoomout_1.gif">
<param name="TB_BUT_zoomout_IMG_PR"
value="/gis/mapserv-files/icon_zoomout_2.gif">
<param name="TB_BUT_zoomout_CURSOR_TYPE" value="CROSSHAIR">
<param name="TB_BUT_zoomout_INPUT" value="submit">
Seite 51
Masterarbeit von Dipl. Ing. Thomas Stübke
<param name="TB_BUT_zoomout_NAME" value="zoomdir">
<param name="TB_BUT_zoomout_VALUE" value="-1">
<param name="TB_BUT_zoomout_HINT" value="Verkleinerte Darstellung|des
Kartenauschnitts">
<!-- Recenter -->
<param name="TB_BUT_recentre_IMG"
value="/gis/mapserv-files/icon_recentre_1.gif">
<param name="TB_BUT_recentre_IMG_PR"
value="/gis/mapserv-files/icon_recentre_2.gif">
<param name="TB_BUT_recentre_CURSOR_TYPE" value="MOVE">
<param name="TB_BUT_recentre_INPUT" value="auto_point">
<param name="TB_BUT_recentre_NAME" value="zoomdir">
<param name="TB_BUT_recentre_VALUE" value="0">
<param name="TB_BUT_recentre_HINT" value="Zentrierung der Karte
auf|einen gewählten Punkt">
<!-- Query -->
<param name="TB_BUT_pquery_IMG"
value="/gis/mapserv-files/icon_info_1.gif">
<param name="TB_BUT_pquery_IMG_PR"
value="/gis/mapserv-files/icon_info_2.gif">
<param name="TB_BUT_pquery_CURSOR_TYPE" value="HAND">
<param name="TB_BUT_pquery_INPUT" value="auto_point">
<param name="TB_BUT_pquery_NAME" value="mode">
<param name="TB_BUT_pquery_VALUE" value="nquery">
<param name="TB_BUT_pquery_HINT" value="Informationen zu
einem|ausgewählten Objekt">
<!-- ReDraw -->
<param name="TB_BUT_redraw_IMG"
value="/gis/mapserv-files/icon_update_1.gif">
<param name="TB_BUT_redraw_IMG_PR"
value="/gis/mapserv-files/icon_update_2.gif">
<param name="TB_BUT_redraw_INPUT" value="submit">
<param name="TB_BUT_redraw_NAME" value="zoomdir">
<param name="TB_BUT_redraw_VALUE" value="0">
<param name="TB_BUT_redraw_HINT" value="Aktualisierung des
Kartenausschnitts">
<!-- Digitize -->
<param name="TB_BUT_digitize_IMG"
value="/gis/mapserv-files/icon_pointer_1.gif">
<param name="TB_BUT_digitize_IMG_PR"
value="/gis/mapserv-files/icon_pointer_2.gif">
<param name="TB_BUT_digitize_INPUT"
value="auto_point">
<param name="TB_BUT_digitize_NAME"
value="funktion">
<param name="TB_BUT_digitize_VALUE"
value="spureneingabe">
<param name="TB_BUT_digitize_HINT"
value="Digitalisieren einer gefundenen Spur">
<!-- Ändern -->
<param name="TB_BUT_change_IMG"
value="/gis/mapserv-files/icon_changepoint_1.gif">
<param name="TB_BUT_change_IMG_PR"
value="/gis/mapserv-files/icon_changepoint_2.gif">
<param name="TB_BUT_change_INPUT"
Seite 52
Masterarbeit von Dipl. Ing. Thomas Stübke
value="auto_point">
<param name="TB_BUT_change_NAME"
value="funktion">
<param name="TB_BUT_change_VALUE"
value="spurenaenderung">
<param name="TB_BUT_change_HINT"
value="Aenderung einer Spur">
</applet>
<!-- Ende des Applet -->
</td>
</tr>
<!-- Neue Zeile ("GIS-Service .." und Maßstabsbalken -->
<tr>
<td align="left">
<!-- Abstand vom Tabellenrand erzwingen -->
 
<font face="arial, helvetica, sans-serif" size="-2" color="#FFFFFF">
<b>GIS-Service Weserbergland
<script language="JavaScript">
var dt=new Date();
a=dt.getDate() + "." + (1+dt.getMonth()) + "." + dt.getFullYear();
document.writeln(a);
</SCRIPT>
</b>
</font>
</td>
<td align="right">
<img src="[scalebar]">
 
</td>
</tr>
<!-- Neue Zeile für das Logo LGN -->
<tr>
<td align="left">
<!-- Abstand vom Tabellenrand erzwingen -->
 
<font face="arial, helvetica, sans-serif" size="-2" color="#FFFFFF">
<b>Geobasisdaten von </b>
</font>
</td>
<td align="right">
<a href="http://www.vkv-ni.de"><img
src="/gis/images/vkv_logo.gif" boarder="0" width="120" height="30">
<!-- Abstand vom Tabellenrand erzwingen -->
 
</td>
</tr>
</table>
<!-- Ende der inneren Tabelle -->
</td>
</tr>
</table> <!-- Ende der Tabelle für den schwarzen Rahmen -->
</td>
<!-- Ende des Kartenfeldes -->
<!-- Zweites Feld: Auswahl, Legende, ... -->
<td>
<!-- Font für gesamtes Feld setzen -->
Seite 53
Masterarbeit von Dipl. Ing. Thomas Stübke
<font face="arial, helvetica, sans-serif">
<!-- Überschrift / Titel der Karte -->
<font size="+1" color="#990000">
<b>Änderungsdienst Kulturhistorischer Landschaftsbestandteile
(Spurensuche)</b><br>
</font>
<p>
<!-- Ebenenauswahl -->
<input type="hidden"
name="punkteingabe_table"
value="spurendb" >
<p>
<!-- Hintergrundkarten, immer eingeschaltet,
Sichtbarkeit über min/maxscale -->
<input type="checkbox" name="layer" value="orthoshg" [orthoshg_check]>
Luftbilder (Schaumburg) <br>
<input type="checkbox" name="layer" value="flaechen"
[flaechen_check]> Flächenausprägung der Spuren<br>
<input type="checkbox" name="layer" value="bilder"
[bilder_check]> Richtung des Fotographen<br>
<input type="checkbox" name="layer" value="gemarkung"
[bilder_check]> Grenzen und Nummern der Gemarkungen<br>
<input type="checkbox" name="layer" value="dgk5"
[bilder_check]> Grenzen und Nummern der DGK5<br>
<input type="hidden" name="layer" value="spurendb">
<input type="hidden" name="layer" value="hoehe_200">
<input type="hidden" name="layer" value="hoehe_300">
<input type="hidden" name="layer" value="hoehe_400">
<input
<input
<input
<input
<input
type="hidden"
type="hidden"
type="hidden"
type="hidden"
type="hidden"
name="layer"
name="layer"
name="layer"
name="layer"
name="layer"
value="seen">
value="staedte">
value="eisenbahn">
value="gewaesser">
value="strassen">
<input type="hidden" name="layer" value="schaumburg">
<input type="hidden" name="layer" value="holzminden">
<input type="hidden" name="layer" value="hameln">
<input
<input
<input
<input
<input
<input
type="hidden"
type="hidden"
type="hidden"
type="hidden"
type="hidden"
type="hidden"
name="layer"
name="layer"
name="layer"
name="layer"
name="layer"
name="layer"
value="ortho">
value="DGK5">
value="TK25">
value="TK50">
value="TK100">
value="TK200">
<p>
<!-- Legende -->
<img src="[legend]">
<p>
<center>
<INPUT NAME="ref" TYPE="image" SRC="[ref]" border="0">
</center>
<p>
Seite 54
Masterarbeit von Dipl. Ing. Thomas Stübke
<!-- Bildgröße -->
<!-- Aktuelle Größe speichern -->
<input type="hidden" name="mapsize" value="[mapwidth] [mapheight]">
<b>Bildgröße:</b> [mapwidth] x [mapheight]<br>
<!-- Auswahl -->
<select name="SelectMapSize" onChange="MapSizeSelected()">
<option value="">Auswahl</option>
<option value="350 350">350 x 350</option>
<option value="500 500">400 x 400</option>
<option value="500 500">500 x 500</option>
<option value="600 600">600 x 600</option>
</select>
<p>
<!-- Druckansicht -->
<!-- Alle relevanten Informationen in eine URL geschrieben,
Voreinstellung aus dem map-File für die Seitenvorlage wird
durch "map_web_template=" überschrieben.
map_scalebar_status=embed setzt den Maßstabsbalken in das
Bild, mit map_scalebar_*color werden verschiedene Farben
umdefiniert.
-->
<p>
<a
href="/gis/punkteingabe/export?map=[map][get_layers]&mapsize=[mapwidth]+[mapheig
ht]&mapext=[minx]+[miny]+[maxx]+[maxy]&img_xy=199.5+199.5&imgext=[minx]+[miny]+[
maxx]+[maxy]&mode=browse&db=spurensuche&table=spurendb&shape=/home/mapserv/zope/
mapserv/var/export/generated/umweltschulen"
><strong>[Export]</strong></a>
<p>
<!-- Weitere Links -->
<a href="/gis/manual"
ONCLICK="window.open('/gis/manual'); return false"
><strong>Manual öffnen</strong></a>
</font>
</td>
</tr>
</table>
</center>
<!-- Footer der Anwendung, Kontaktadresse oder ähnliches -->
<hr>
<!-- Weitere Einstellungen für den MapServer -->
<!-- Suchradius in Mapeinheiten (bei Gauß-Krüger also Meter) zur Suche des
zu bearbeitenden Punktes
Verändert am 11.10.2003 von T. Stübke von 200 au 20 (m) da Spuren auch dichter
zusammen liegen können-->
<input type="hidden" name="search_radius" value="20">
Seite 55
Masterarbeit von Dipl. Ing. Thomas Stübke
<!-- Standardmodus ist ZoomIn -->
<input type="hidden" name="mode" value="browse">
<input type="hidden" name="zoomdir" value="1">
<input type="hidden" name="zoomsize" value="2">
<!-- Tag für querymodue wird definiert, sonst kann es vom Applet nicht
gesetzt werden. -->
<input type="hidden" name="querymode" value="">
<!-- Speicherung der Bildinformationen (Mitte und Ausmaß) -->
<input type="hidden" name="imgxy" value="[center_x] [center_y]">
<input type="hidden" name="imgext" value="[mapext]">
<!-- Intitialisierung weiterer Tags für Bildausmaße (werden bei der
Auswahl einer neuen Bildgröße gesetzt -->
<input type="hidden" name="mapxy" value="">
<input type="hidden" name="scale" value="">
<!-- Speicherung des vollen Pfades zur .map-Datei -->
<input type="hidden" name="map" value="[map]">
<!-- mit mapext=shape (statt Angabe einer Box (links unten, rechts oben)
wird bei einer Query ein Zoom auf das/die gewählten Shapes durchgeführt.
-->
<input type="hidden" name="mapext" value="shapes">
<input type="hidden" name="savequery" value="true">
<!-- Speicherung von Informationen für query -->
<input type="hidden" name="prevext" value="[mapext]">
<input type="hidden" name="prevsize" value="[mapsize]">
</form>
</body>
</html>
Seite 56
Masterarbeit von Dipl. Ing. Thomas Stübke
4. Literaturfundstellen
(1)
Abschlußbericht/Gesamtkonzept Schaumburg GIS vom 20.6.2000 ( liegt mir nur in
Papierform vor und kann beim Landkreis Schaumburg angefordert werden.
(2)
Auswertung A "GIS im Weserbergland" 2000
(3)
Rohfassung der Auswertung B "GIS im Weserbergland" Stand 6.11.2003
Ab Ende 2003 wird die Endfassung unter www.gis-im-weserbergland.de
veröffentlicht.
(4)
Protokolle der Kern-AG "GIS im Weserbergland" 2000-2003
(5)
Zielvereinbarung zwischen MI NDS und Bez. Reg. Hannover zum Rem-GIS-Projekt
" Aufbau von Geographischen Informationssystemen im Regierungsbezirk
Hannover am Beispiel GIS in der Weserberglandregion" ist auf dem Server der
Bezirksregierung Hannover www.gis-br-h.niedersachsen.de zu finden.
(6)
Abschlußbericht des 1. Regionalmanagementprojektes (ReM) der Bez. Reg.
Hannover Ende 2002
(7)
2.Zielvereinbarung zwischen MI NDS und Bez. Reg. Hannover zum Rem-GISProjekt " Aufbau von Geographischen Informations- systemen im
Regierungsbezirk Hannover am Beispiel GIS in der Weserberglandregion" vom
23.10.2003
(8)
Zwischenbericht zum 2. ReM-GIS-Projekt "Aufbau von
Geographischen
Informationssystemen im Regierungsbezirk Hannover am Beispiel GIS in der
Weserberglandregion" Stand
31.03.2003
(9)
Projektarbeit in der LGN Abt. 4 - Die Rolle der Geobasisdaten und der VKV in der
Geodateninfrastruktur (GDI) Niedersachsen durch die Vermessungsreferendare
Antje Kadow , Tina Ballmann, Marc Wittich, Peter Wesnigk, Katja Reumke, Katrin
Tilger
(10)
Entschließung des Deutschen Bundestags vom 15.02.2001(BT-Drucksache
14/5352)
Die Gewinnung , Verarbeitung, Verbreitung und Nutzung von Geoinformationen ist
ein zentrales Element der modernen Informationgesellschaft.
(11)
Antwort der Bundesregierung vom 24.6.2003 auf die Kleine Anfrage der FDPFraktion (BT-Drucksache 15/1157) unter www.ddgi.de
(12)
MICUS Studie
(13)
Analyse des Marktes für Open Source Software in Deutschland unter
www.soreon.de
(14)
Freie Software (free software foundation europe) www.fsfeurope.org
(15)
lat / Lon Newsletter von www.lat-lon.de
(16)
Projektdokumentation der UMN-Mapserver - Kompilierung für die Bez. Reg.
Hannover durch die Intevation GmbH vom 17.09.2002
Seite 57
Masterarbeit von Dipl. Ing. Thomas Stübke
(17)
Projektdokumentation der UMN-Mapserver-Funktionserweiterung für die Bez. Reg.
Hannover durch die Intevation GmbH vom 25.09.2002
(18)
Projektdokumentation der UMN-Mapserver-Sicherheit und Benutzermanagement,
Community-Funktionalität für die Bez. Reg. Hannover durch die Intevation GmbH
vom 14.11.2002.
Achtung !!: Aus sicherheitsrelevanten Überlegungen heraus ist es nicht möglich,
das Dokument 18 in seiner Ursprungsform zur Verfügung zu stellen. Eine an
einigen Stellen geschwärzte Version ist auf Anfrage zu erhalten.
(19)
Projektdokumentation der UMN-Mapserver - Digitalisierfunktion für die Bez. Reg.
Hannover durch die Intevation GmbH vom 14.11.2002
(20)
Projektdokumentation der UMN-Mapserver - WMS-Anwendung für die
Weserberglandregion durch die Intevation GmbH vom 16.4.2003
(21)
Projektdokumentation der UMN-Mapserver - Erweiterte Digitalisierfunktion für die
Weserberglandregion durch die Intevation GmbH vom 2.7.2003
(22)
deeGree - Konfiguration durch lat/lon Bonn 28.7.2002
(23)
Dokumentation des Seminars DatenbankenPostgreSQL und PostGIS von Heiko
Kehlenbrink
(24)
Diplomarbeit von Christian Fürpaß an der Uni Wien - Mapserver als Hilfsmittel zur
Datenvisualisierung im Internet - Erläutert anhand des Internetprojektes AtOS, der
Internetversion des "Atlas Ost- und Südosteuropa"
(25)
MapServer im Vergleich: ArcIMS und UMN Mapserver von der terrestris / Avein CD
(26)
FreeGIS und GRASS - Alternativen für Lehre und Forschung - von Peter Löwe - Uni
Würzburg 2001
(27)
Open-Source Software - Bundesministerium für Wirtschaft und Technologie
(28)
Vortrag von Daniell Morissette (DM Solution Group) Open Source Web Mapping
with UMN Mapserver
(29)
Dokumentation des Seminars UMN Mapserver 3.6 von Thorsten Fischer
(30)
UMN Mapserver 3.6 Handbuch und Referenz von Thorsten Fischer
(31)
Das LAMP Buch (Webserver mit Linux, Apache, MySQL, PHP) von Heiko Goller
(SuSE Press)
(32)
Einstieg in Python (ZOPE und Python) von Thomas Theis (Galileo Computing)
(33)
Relationale Datenbanken 2. Auflage von Andreas Meier (Springer)
(34)
Datenbank-Anwendungen mit PostgreSQL (Markt+Technik)
(35)
Drucksache 14/4019 Niedersächsischer Landtag
(36)
Drucksache 15/809 Dt. Bundestag
(37)
Drucksache 14/4139 Dt. Bundestag
(38)
Freie Software, Volker Grassmuck (2002)
(39)
Dokumentation der Kompilierung des Mapservers
(40)
Dokumentation der Installation von Postgresql
(41)
Dokumentation der initialisierung von Postgresql und Installation von Postgis
Seite 58
Masterarbeit von Dipl. Ing. Thomas Stübke
(42)
Bisherige Dokumentation der Datenbank Spurensuche
(43)
Meldebogen für hist. Kulturlandschaftsteile des NHB
(44)
Beispiel-Haus Dokumentation von Ulrich v. Damaros
(45)
Auszug aus der Datenbank des Nds. LandesA. für Denkmalpflege
(46)
Meldebogen für hist. Kulturlandschaftsbestandteile im Landkreis Hameln-Pyrmont
von Christian Wiegand
(47)
Entwurf des Leader+ Projektes: Kataster der Natur- und Kulturgüter in der
VoglerRegion
(48)
Sitzungsprotokoll der Erzeugung der Datenbank spurensuche (Create_DB_verlauf)
(49)
Sitzungsprotokoll der Erzeugung des Datenbankschemas spurensuche und der
Dateneingabe (spurendb_dbeingabe)
(50)
Dateien zur Erzeugung der Datenbanktabellen spurendb_schema.sql,
spurendb_daten.sql, attributes_locked.sql,
(51)
Dateien zur Erzeugung der Datenbanktabellen
(52)
.map Dateien aller Anwendungen
(53)
.html Dateien aller Anwendungen
(54)
Python Scripte zur Verbindung zwischen Datenbank und Zope
5. Linkliste
1)
www.lat-lon.de
2)
www.intevation.de
3)
www.gis-br-h.niedersachsen.de
4)
www.gis-im-weserbergland.de/gis
5)
www.ddgi.de
6)
www.rundertischgis.de
7)
www.soreon.de
8)
www.open-source.org
9)
www.cegi.de
10) www.gdi-nrw.org
11) www.inspire.jrc.it
12) www.adv-online.de
13) www.gistec-online.de
14) www.opengis.org
15) www.opengis.org/techno/specs/01-068r3.pdf
16) www.mapserver.gis.um.edut
Seite 59
Masterarbeit von Dipl. Ing. Thomas Stübke
Ich versichere, dass ich diese Masterarbeit selbständig verfasst und keine anderen als die
angegebenen Quellen und Hilfsmittel benutzt habe.
Thomas Stübke
05.11.2003
Seite 60
Herunterladen