# Web GIS

Unter dem Begriff Web GIS wird im Allgemeinen eine GIS-Applikation verstanden, deren Kernfunktionen auf für Geodaten spezialisierte Webservices (Geodienste) zurückgreifen. Als Grafische Benutzeroberfläche kann dabei eine auf Geodaten spezialisierte Webapplikation oder ein Geobrowser eingesetzt werden.
Synonym werden oftmals die Termini GIS online, Internet-GIS, NetGIS, Distributed GIS oder Internet Mapping verwendet. Unter Internet Mapping – dem allgemeinen Begriff – kann auch nur der Abruf von Geodaten aus dem Internet in einem Desktop-GIS verstanden werden. Sofern mindestens zwei Programme Geodaten über ein Netzwerk austauschen (Client-Server-Prinzip), kann schon von einem Web-GIS gesprochen werden. Meist ist jedoch der Austausch von Geodaten per Netzwerkprotokoll, im Speziellen per HTTP gemeint.
Es ist sinnvoll, verschiedene Typen von Web-GIS zu unterscheiden. Eine sehr frühe Unterteilung hat schon Brandon Plewe vorgenommen. Einige Typen sollen hier nun vorgestellt werden.
Dabei unterscheiden diese sich hauptsächlich in der bereitgestellten Funktionalität des Server-Rechners bzw. des Client-Rechners. Bei einem typischen Desktop-GIS ist die gesamte GIS-Funktionalität sowie die Daten auf einem Client-Rechner vorhanden. Bei modernen freien Web-GIS-Architekturen mit Geodiensten wie beispielsweise deegree, GeoServer oder dem UMN MapServer in Verbindung mit einem Webbrowser als Client ist die Funktionalität des Clients meist auf die Visualisierung und auf triviale GIS-Funktionen (Bewegung in der Karte, Zoom, Distanzmessung etc.) beschränkt, während die Hauptlast der Arbeit bei einem oder mehreren Servern liegt (Distributed GIS i. e. S.). Als User-Client benötigt man hierbei einen Webbrowser.

## Geodaten-Server

In diesem Fall besitzt ein Desktop-GIS die Möglichkeit, sich Daten von entfernten Rechnern zu laden und diese lokal weiter zu verarbeiten. Der Rechner, der die Geodaten zum Herunterladen bereitstellt, wird als Geodaten-Server bezeichnet. Für die Auswahl der Geodaten sind Recherchemöglichkeiten notwendig. Die Aufgabe der Kartenerstellung liegt weiterhin beim Client, der ausgehend von seiner Funktionalität somit als Thick Client bezeichnet werden kann.

## Mapserver
### Statischer Mapserver

Hierbei liegt die Aufgabe der Kartenerstellung beim Server, genauer gesagt muss darunter aber noch nicht die dynamische Erstellung einer Karte verstanden werden. Weit verbreitet sind die sogenannten „static maps“ bei denen das Rasterbild einer Karte angeboten wird, wie beispielsweise bei Anfahrtsskizzen o. Ä. Auch über die HTML-Technik der imagemaps werden zahlreiche Karten im Internet angeboten, die dem Benutzer die Möglichkeit geben, einen bestimmten Kartenausschnitt näher zu betrachten. Dabei ist die Karte ebenfalls statisch, der Client benötigt (wie auch in den weiteren Beispielen) aber nur noch eine eingeschränkte Funktionalität („thin client“).

### Dynamischer Mapserver

Die Karten werden auf Anfrage vom Client dynamisch erzeugt und zurückgegeben. Der Server wertet die Anfrage aus und übermittelt die relevanten Angaben einem Kartengenerator. Dabei wird sich zum einen nur auf die unterschiedlichen Darstellungsformen (z. B. Farbe, Symbole) beschränkt andererseits können auch themenbezogene Auswahlmöglichkeiten (Layer) vorhanden sein (Online-Auskunftssysteme). Hier wird dann serverseitig die Anfrage bearbeitet, aus den vorhandenen Daten der angefragte Ausschnitt ausgewählt und eine Karte produziert.
Ab dieser Untergliederung ist es wichtig, die Begriffe Client/Server und Map-Client/Map-Server voneinander zu unterscheiden. Bisher wurde von der technischen Seite des Internet-Client und des Internet-Servers gesprochen. Dabei wurden unterschieden, ob der Client viel Funktionalität bereitstellen muss (thick client) oder wenig (thin client). Arbeitet man in den Termini von Map-Server und Map-Client muss beachtet werden, dass man bei der oben beschriebenen Arbeit auf einem Map-Server nicht ohne einen geeigneten Map-Client auskommt. Dies ist in der Regel eine Webseite, die z. B. die Funktionen der Layerauswahl bereitstellt, das Kartenbild darstellt und die verschiedenen Navigationsmöglichkeiten (Panning/Bewegung, Zoom) anbietet. Der Map-Client ist ein Bindeglied zwischen dem Internet-Client, oder besser Benutzer und dem Map-Server. Er kann entweder vom Betreiber des Map-Servers selbst angeboten werden oder ist ein externer Map-Client der mit dem Map-Server kommunizieren kann. Die Funktionalität liegt auf keinen Fall beim Benutzer, dieser ist immer noch als „thin“ zu bezeichnen, da die gesamte Funktionalität über einen normalen Webbrowser erreicht werden kann.

## Online-GIS

Serverseitig wird auf die Funktionalität eines GIS zugegriffen, so dass komplexere GIS-Funktionen (z. B. Puffer) möglich sind. Im Detail läuft die Kommunikation folgendermaßen ab: Der Client stellt über ein Internetprotokoll eine Anfrage an einen HTTP-Server (z. B. Apache, Microsoft-IIS …), der diese Anfrage an eine GIS-Schnittstelle weiterleitet. Dadurch kann die Anfrage weiter zu GIS-spezifischen Kommandos ausgewertet werden, die an ein zugrundeliegendes GIS weitergeleitet werden. Dort werden dann a) diese Kommandos interpretiert, b) auf die Daten zugegriffen, c) diese mit verschiedenen Analyseskripten bearbeitet und schließlich d) eine Karte (ein Bericht) erstellt. Die Karte wird an die GIS-Schnittstelle zurückgegeben, wobei dann mit der Weiterleitung an den HTTP-Server der Response (die Antwort) an den Client auf Basis des Internetprotokolls fertiggestellt werden kann. Ein Geoportal ist eine spezifische Ausprägung eines Web GIS, bei welchem der Webbrowser als Client eingesetzt wird.
Einen Sonderfall des Online-GIS stellen die vorhandenen OGC-konformen Geodienste dar. Hierbei werden durch die vom OGC vorgegebenen Schnittstellen weitaus größere Möglichkeiten eines verteilten GIS ausgenutzt, als in den bisherigen Fällen dargestellt worden ist. Grundlage sind dabei die Standardisierungen der Kommunikation zwischen den unterschiedlichen Systemen. Dabei bieten die bisherigen starren Unterscheidungen von Client und Server keine ausreichende Darstellungsform mehr. Vielmehr ist zwar weiterhin ein Client (der Benutzer) vorhanden, dieser greift aber auf ein Serversystem zu, in dem aber wiederum ein Server der Client eines weiteren Server sein kann. Die Daten müssen nicht mehr nur auf einem Rechner liegen, sondern sie liegen losgelöst von den Rechnern mit GIS-Funktionalität im Netz. Weiterhin wird nicht nur ein Rechner mit GIS-Funktionalität angesprochen, sondern viele Rechner können unterschiedliche Funktionalitäten (Dienste) bereitstellen. Dabei muss das Dateiformat von allen Dienstleistern lesbar und schreibbar sein, damit diese untereinander ausgetauscht werden können.
Ein Beispiel mag als Anschauung dienen: Die Daten liegen auf beliebig vielen Rechnern in den unterschiedlichen Koordinatensystemen und in den unterschiedlichen Dateiformaten vor. Damit ein Benutzer aus diesen Quellen eine Karte generiert bekommen kann, muss erstens ein oder mehrere Dienste der Dateiumwandlung in ein allgemein lesbares Format vorhanden sein und zweitens ein Dienst (oder mehrere), der zwischen unterschiedlichen Koordinatensystemen transformieren kann. Am Ende dieser unterschiedlichen Dienste steht schließlich der Geodienst (z. B. Web Map Service), der das Kartenbild generiert und an den Benutzer zurückgibt. Das OGC hat dafür bereits einige Spezifikationen dieser Dienste als Schnittstellen verabschiedet, einige weitere befinden sich noch im Diskussionsstadium. Natürlich reichen diese drei genannten Dienste alleine nicht aus um eine Karte darzustellen. Aber es zeigt sich schon beim Zusammenspiel – von der Auswahl der Daten über einen Metadatenkatalog, zum Datenzugriff, über die Koordinatentransformation zu den Zeichenvorschriften, zur Visualisierung – dass eine recht große Komplexität bei der Frage auftritt, in welcher Reihenfolge diese Dienste abgearbeitet werden müssen: Wann wird die Koordinatentransformation eingeleitet, wann müssen die Dateiformate umgewandelt werden?

## SensorGIS

Unter SensorGIS versteht man die Kombination aus Web-GIS, drahtlosen Sensornetzwerken und Datenfernübertragung. Sie ist eine Initiative des OGC (Open Geospatial Consortiums), die deren Mitglieder zur Entwicklung von mit GIS verknüpften Projekte anregen soll.