Der GeoShop WMS Server unterstützt folgende WMS Requests gemäss WMS 1.1.0 Spezifikation:
getCapabilities.
getMap.
getFeatureInfo.
Ausserdem werden folgende Koordinatensysteme
(SRS) unterstützt:
EPSG:21780: Liechtensteinisches
Koordinatensystem.
EPSG:21781: Schweizer Koordinatensystem
LV03.
Grundsätzlich ist es möglich, jedes Koordinatensystem zu benutzen in welchem die INTERLIS Dateien auf dem GeoShop Server gespeichert sind. Eine automatische Transformation zwischen den verschiedenen Koordinatensystemen ist jedoch nur zwischen den beiden oben genannten Koordinatensystemen möglich.
Der WMS Server wird in folgenden Teilschritten installiert:
![]() | |
Ab GeoShop Version 2.8 muss man nur
|
GEOSHOP_DIR ist das
Root-Installationsverzeichnis des GeoShop.
Installation der Programmdateien (nur falls Dateien noch nicht vorhanden):
Kopieren Sie die Datei WMSServer.jar
nach GEOSHOP_DIR\system\bin
Kopieren Sie die Dateien
capabilities.igs und
capabilties.tem nach
GEOSHOP_DIR\system\www\wms.
Anpassen von
(nur falls noch nicht vorhanden):GEOSHOP_DIR\\user\options\appserver.opt
Fügen Sie folgenden neuen Einträge ein:
MAP
AppServer MAP
...
HOST_URL STRING <GeoShop Basis URL>
...
}
...
WMSServer MAP
USER STRING wms
PASSWORD STRING wms
EXPAND_VIEWS STRING OFF
LAYERS_QUERYABLE STRING ON
LAYERS_SCALEHINT STRING 1000x800
SRS STRING EPSG:21781
GETCAPABILITIES_SCRIPT STRING /wms/getCapabilities.igs
GETFEATUREINFO_SCRIPT STRING /wms/getFeatureInfo.igs
}
...
}
Für <GeoShop Basis URL> muss man
die Basis URL des GeoShop angeben (d.h.
http://<host>:<port>, z.B.
http://www.infogrips.ch:3501).
WMS Benutzer erzeugen (nur falls noch nicht vorhanden):
In der Datei
muss folgendes definiert werden:GEOSHOP_DIR\user\users\wms.usr
USER
name STRING wms
password STRING wms
privileges LIST
STRING client
STRING info
STRING multi
}
views LIST
STRING <view>
...
}
queries LIST
}
products LIST
}
preferences MAP
range.minX REAL <minX>
range.minY REAL <minY>
range.maxX REAL <maxX>
range.maxY REAL <maxY>
}
}
![]() | |
Unter Views muss man die Views eintragen, welche man als
WMS Dienst publizieren möchte (s.a. Kapitel Konfiguration). Die
|
Ergänzen in der Datei
(nur falls Einträge nicht bereits vorhanden):GEOSHOP_DIR\user\services\services.srv
Machen Sie folgende Ergänzungen in der Datei
LIST
...
MAP
name STRING wms
description STRING 'WMS Server'
module STRING WMSServer
server STRING appserver
}
...
MAP
name STRING igs
description STRING 'generic ig/script service'
module STRING ICSServer
server STRING appserver
}
...
}
Aktivieren des WMS Server Moduls:
Starten Sie den GeoShop Administrator und aktivieren Sie den
wms bzw. igs Service unter
Servers>Services. Danach
sollten Sie den GeoShop Dienst frisch starten (ebenfalls via
Administrator möglich).
Nach der Erfolgreichen Installation bzw. Aktivierung des WMS Server können Sie den WMS Dienst wie folgt Testen:
Rufen Sie die URL
http://localhost:3501/WMS?request=getcapabilities
mit einem Internetbrowser (IE, Netscape oder Firefox) auf. Annahme: Der GeoShop läuft auf dem lokalen Rechner auf dem Port 3501.
Der Browser sollte darauf eine XML Datei anzeigen.
Falls der Browser die XML Datei nicht anzeigt, sollten man
in
GEOSHOP_DIR\data\logs\serverlogs\appserver.log
kontrollieren, ob folgender Abschnitt vorhanden ist:
...
--------------------------------------
module WMSServer 1.0c
--------------------------------------
testing environment ...
USER is wms
SRS is EPSG:21781
--------------------------------------
...
Falls dies nicht der Fall ist:
Haben Sie alle Dateien installiert ?
Haben Sie den Modul in
appserver.opt und
services.srv eingetragen (Achtung: Die
Gross/Kleinschrift des Namen WMSServer ist
wesentlich) ?
Ist der Benutzer wms.usr vorhanden
?
Haben Sie den WMS Dienst aktiviert und den GeoShop frisch gestartet ?
In
GEOSHOP_DIR\user\options\appserver.opt
können Sie im Abschnitt WMSServer folgende Optionen setzen:
USERBenutzername unter welchem der GeoShop die WMS Bilder
erzeugt (normalerweise wms). Der Benutzer
muss in \user\users vorhanden sein.
PASSWORDPasswort des GeoShop Benutzers. Das Passwort sollte man änderen. Dazu muss man das Passwort auch in \user\users\<wmsuser>.usr nachführen.
EXPAND_VIEWSON oder OFF. Falls
OFF (= Default) gesetzt ist, werden mit
getCapabilities nur die Views als WMS Layer
geliefert. Falls ON gesetzt ist, werden alle
Layer der Views als WMS Layer mit
getCapabilities geliefert.
LAYERS_QUERYABLEON oder OFF.
Definiert, ob beim Request getCapabilities
die Layer als queryable für den Request
getFeatureInfo gesetzt werden sollen oder
nicht.
LAYERS_SCALEHINTOFF oder
<pixelwidth>x<pixelheight>.
Definiert, ob beim Request getCapabilities
die Layers mit ScaleHint min/max versehen
werden. Als Berechnungswert für ScaleHint
muss mit dieser Option die mittlere Bildgrösse
<pixelwidth>x<pixelheight>
(Beispiel: 800x600) definiert werden, mit der der Request
getMap Bilder bestellt. ScaleHint
min/max definiert den Range über die Diagonale eines
Pixels in Meter im Massstab 1:1. Über die Bildgrösse definiert
durch die Option und den Ranges
min_range/max_range in Quadratmeter der Layer
in den Views des GeoShops wird diese Pixelgrösse
berechnet.
SRSKoordinatensytem des GeoShop Server. Das Koordinatensystem
ist des Koordinatensystem in dem die INTERLIS Dateien auf dem
Server abgelegt sind. Für die Schweiz gilt z.B.
SRS:21781.
GETCAPABILITIES_SCRIPTigs-Script für den WMS-Request
getCapabilties. z.B.
/wms/getCapabilities.igs . Mit dem Script
kann der Output des Requests konfiguriert werden.
GETFEATUREINFO_SCRIPTigs-Script für den WMS-Request getFeatureInfo. z.B.
/wms/getFeatureInfo.igs . Mit dem Script kann
der Output des Requests konfiguriert werden.
LOG_WMS_REQUESTSON oder OFF .
Detailliertes loggen der WMS Requests im GeoShop Logfile.
Empfohlen wird OFF .
IMAGE_SAVEON oder OFF . Sollen
Images beim Request getMap auf dem GeoShop Server gespeichert
werden. Default Speicherort ist
G.
Images erhalten Namen
EOSHOP_DIR\data\images
. Empfohlen wird wms<#>.<ext>OFF .
IMAGE_LOGON oder OFF . Soll
ein kreiertes Image beim Request getMap im GeoShop Logfile
protokolliert werden. Das Image wird mit folgendem Inhalt
protokolliert (Beispiel):wms3.png 18.09.2008
16:20:46 .
IMAGE_ANNOTATION
. Soll im Image beim Request getMap eine Annotation geschrieben
werden. Mit dem Wert ON|OFF|LOWER_RIGHT|LOWER_LEFT|UPPER_RIGHT|UPPER_LEFTOFF wird die Annotation
nicht geschrieben. Mit dem Wert ON wird die
Annotation unten rechts ins Bild geschrieben. Mit den anderen
Werten kann die Position der Annotation im Bild bestimmt werden.
Die Annotation enthält folgenden Inhalt (Beispiel) :
wms3.png 18.09.2008 16:20:46 .
IMAGE_DIRAbsoluter oder relativer Pfad zu
GEOSHOP_DIR\data zur Ablage der
gespeicherten Images beim Request getMap. Hat nur Wirkung bei
IMAGE_SAVE=ON . Default Speicherort ist
G.
Beispiel absoluter Pfad EOSHOP_DIR\data\imagesc:\wmsimages.
Beispiel relativer Pfad
\ für
wmsimagesGEOSHOP_DIR\data\wmsimages .
IMAGE_MAXCOUNT<Integer> oder
OFF. Ein Integer-Wert bis zu welchem Wert
eindeutige Images
beim Request getMap gespeichert werden sollen. Beim Erreichen
des Wertes wird wieder mit 0 angefangen, Beispiel
wms<#>.<ext>IMAGE_MAXCOUNT=10 ergibt Images
wms0.png .. wms10.png . Mit
IMAGE_MAXCOUNT=OFF ist keine obere Grenze gesetzt. Hat nur
Wirkung bei IMAGE_SAVE=ON .
WMS_URLBasisadresse für den WMS Dienst (Default =
WMS).
SWMS_URLBasisadresse für den SWMS Dienst (Default =
SWMS).
DPIBildschirmauflösung des WMS-Client in dpi (Dots per Inch).
Default: 96. Der Wert wird für die Ermittlung
des Massstabs in Zusammenhang mit den GeoShop-View Parametern
min_scale bzw. max_scale
verwendet.
OGC WMS beinhaltet keine Authentifizierung, das heisst, alle publizierten WMS-Layer sind frei zugänglich. Um bestimmten Anwendern bestimmte Layer nur über eine Authentifizierung zugänglich zu machen, beinhaltet der GeoShop einen zusätzlichen Secure-WMS-Service SWMS.
Der GeoShop Secure-WMS-Service wird über die URL
http://<geoshop-url</SWMS? angesprochen.
Der GeoShop Secure-WMS-Service frägt über die http-Authentifizierung
den Benutzer mit Password ab. Dieser Benutzer entspricht einem GeoShop
Benutzer, in dem die gewünschten Layer für den Benutzer definiert
werden.
Durch die Kombination des WMS-Service und des Secure-WMS-Service lassen sich so öffentliche und geschützte WMS-Layer publizieren.
Öffentliche WMS Layer unter WMS-Service
http://<geoshop-url</WMS?Auf diese WMS-Layer kann ohne Authentifizierung
zugegriffen werden. Die WMS-Layer werden in einem GeoShop User
definiert. Zum Beispiel wms.usr wie weiter
oben beschrieben .
Geschützte WMS Layer unter Secure-WMS-Service
http://<geoshop-url</SWMS?Auf diese WMS-Layer kann nur mit einer Authentifizierung
zugegriffen werden. Die WMS-Layer werden in GeoShop Users
definiert. Zum Beispiel User wms_x.usr für
die WMS-Layer A,B und wms_y.usr für die
WMS-Layer C,D .
Bei Applikationen, in denen WMS-Layer integriert werden können, die aber die http-Authentifizierung nicht unterstützen, muss ein Proxy dazwischen geschaltet werden. Die Applikation bezieht die WMS-Layer über eine URL des Proxy. Der Proxy leitet den Request weiter zum GeoShop und übernimmt die Authentifizierung. Die Authentifizierung ist im Proxy konfiguriert. Der Proxy kann in einem Web-Server integriert sein oder ein separates Programm sein. Die Applikation kann so ohne eigene http-Authentifizierung auf die WMS-Layer zugreifen.
Der GeoShop lässt sich zusätzlich unter dem Hypertext Transfer Protocol Secure (HTTPS) betreiben. Die Kommunikation zwischen Client und GeoShop Server erfolgt dann verschlüsselt (s.a. GeoShop-Server Dokumentation zu HTTPS).
Als zusätzliches Sicherheitsmerkmal lassen sich die
Basisadressen für WMS und SWMS verschleiern. Dazu müssen die Optionen
WMSServer.WMS_URL bzw.
WMSServer.SWMS_URL wie folgt in appserver.opt
gesetzt werden:
MAP
WMSServer MAP
...
WMS_URL STRING <WMS-Basis URL>
SWMS_URL STRING <SWMS-Basis URL>
}
...
}
Folgendes sind Beispiele für die WMS Request.
getCapabilities.
http://www.infogrips.ch/servlet/redirector/demo/WMS?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1
getMap.
http://www.infogrips.ch/servlet/redirector/demo/WMS?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1
&LAYERS=av&STYLES=&FORMAT=image/png&TRANSPARENT=TRUE&SRS=EPSG:21781
&BBOX=675764,245364,675861,245435&WIDTH=730&HEIGHT=538
getFeatureInfo.
http://www.infogrips.ch/servlet/redirector/demo/WMS?REQUEST=getFeatureInfo&SERVICE=WMS&VERSION=1.1.1
&QUERY_LAYERS=av&SRS=EPSG:21781&BBOX=675764,245364,675861,245435&WIDTH=730&HEIGHT=538&X=200&Y=200