+ All Categories
Home > Documents > Cookbook Aufbau U-GIS - Web viewCookbook Aufbau U-GIS. File Name: Cookbook_GIS_Server.docx. Autoren:...

Cookbook Aufbau U-GIS - Web viewCookbook Aufbau U-GIS. File Name: Cookbook_GIS_Server.docx. Autoren:...

Date post: 06-Feb-2018
Category:
Upload: vuongdien
View: 220 times
Download: 1 times
Share this document with a friend
67
COOKBOOK Geoserver AUFBAU U-GIS GEODATENFRASTRUKTUR BESITZERIN: HADRBOLEC MICHAEL ERSTELL-DATUM: 15-04-20 VERSION: V0.90 1 STATUS: IN ARBEIT 1 Nummerierung nach dem Komma: nicht abgenommen; vor dem Komma: abgenommene Versionen © 2015 Seite 1 von 67
Transcript

COOKBOOK

GeoserverAUFBAU U-GIS GEODATENFRASTRUKTUR

BESITZERIN: HADRBOLEC MICHAEL

ERSTELL-DATUM: 15-04-20VERSION: V0.901

STATUS: IN ARBEIT

1 Nummerierung nach dem Komma: nicht abgenommen; vor dem Komma: abgenommene Versionen© 2015 Seite 1 von 60

© 2015 Seite 2 von 60

Cookbook Aufbau U-GIS

Dokument Titel: Cookbook Aufbau U-GIS

File Name: document.docx

Autoren: Fabian Todt, Michael Hadrbolec

Dokument Typ: Anforderungsdokument

Sicherheit: Eingeschränkt (siehe Verteiler)

© 2015 Seite 3 von 60

Cookbook Aufbau U-GIS

INHALTSVERZEICHNIS

1 Informationen.................................................................................................................................. 61.1 Hintergrund............................................................................................................................. 6

1.2 Komponenten......................................................................................................................... 6

1.3 Links und Dokumente.............................................................................................................6

2 Server Konfiguration...................................................................................................................... 82.1 Was ist „GeoServer“...............................................................................................................8

2.2 Deployment Szenarien............................................................................................................82.2.1 Nicht ausfallssicheres einfachstes Szenario..............................................................82.2.2 Ausfallssicherheit & Skalieren....................................................................................9

2.3 Globale Einstellungen Servlet Container (Tomcat)...............................................................102.3.1 Encoding UTF-8.......................................................................................................102.3.2 Memory für Servlet Container..................................................................................112.3.3 Logging....................................................................................................................11

2.4 Globale Geoserver Einstellungen.........................................................................................122.4.1 Ablageort für Daten & Konfigurationsfiles (GEOSERVER_DATA_DIR)...................122.4.2 „www“ Folder............................................................................................................122.4.3 Struktur....................................................................................................................12

3 Service Konfiguration...................................................................................................................283.1 Überblick............................................................................................................................... 28

3.2 Workflow............................................................................................................................... 293.2.1 Workspace hinzufügen (wenn noch nicht vorhanden))............................................293.2.2 Style hinzufügen (wenn noch nicht vorhanden).......................................................313.2.3 Store (=Daten) hinzufügen (wenn noch nicht vorhanden)........................................333.2.4 Layer (= Service) hinzufügen...................................................................................353.2.5 Tile Cachen (wenn Layer gecached werden soll)....................................................43

4 Anhang........................................................................................................................................... 454.1 ArcMap-Tiling........................................................................................................................45

4.1.1 Tiling-Scheme..........................................................................................................454.1.2 Tile-Cache erstellen.................................................................................................454.1.3 Tile-Cache Exportieren............................................................................................464.1.4 Tile-Cache in GeoServer veröffentlichen.................................................................46

4.2 ShapeFiles............................................................................................................................ 464.2.1 Shape File Konventionen.........................................................................................474.2.2 Wie kann man ein UTF-8 encoded Shape File erzeugen?.......................................47

4.3 Wie können individuelle SLD Files erstellt werden?..............................................................494.3.1 From Scratch über XML Editor.................................................................................494.3.2 Über GIS Software...................................................................................................49

4.4 Geoserver Rest API..............................................................................................................534.4.1 Allgemein.................................................................................................................53

4.5 cURL..................................................................................................................................... 534.5.1 Was ist cURL?.........................................................................................................534.5.2 Installation................................................................................................................534.5.3 Dokumentation.........................................................................................................54

4.6 ArcMap Integration................................................................................................................544.6.1 GeoCat Bridge.........................................................................................................544.6.2 Arc2Earth................................................................................................................. 544.6.3 ArcGIS Server Cache verwenden............................................................................54

© 2015 Seite 4 von 60

Cookbook Aufbau U-GIS

4.7 Installation von Geoserver Plugins........................................................................................554.7.1 Für die Tests verwendete Extensions......................................................................55

4.8 Probleme mit Lösungen........................................................................................................554.8.1 GeoServer User Interface auf Englisch statt auf Deutsch........................................554.8.2 Sonstiges.................................................................................................................56

5 Backup........................................................................................................................................... 575.1 GeoWebCache..................................................................................................................... 57

5.1.1 ArcGis-Caching........................................................................................................575.1.2 Gridset..................................................................................................................... 57

6 GeoServer-Tiling........................................................................................................................... 586.1 Gridset.................................................................................................................................. 58

6.2 Caching Standards...............................................................................................................58

6.3 Cache erstellen..................................................................................................................... 58

6.4 Cache exportieren.................................................................................................................59

7 Probleme........................................................................................................................................ 607.1 Bestehende Probleme..........................................................................................................60

© 2015 Seite 5 von 60

Cookbook Aufbau U-GIS

1 INFORMATIONEN

1.1 HINTERGRUND

Zurzeit wird in der GIS-Infrastruktur des Umweltbundesamtes ein ArcGIS Advanced Server (=nicht ausfallssicher) in der Version 10.2.2 eingesetzt.

Immer mehr Anwendungen im U nutzen GIS Services. Daher wird die Skalier- und Hoch Verfügbarkeit ebendieser immer wichtiger, da ansonsten die Service Levels in den jeweiligen Anwendungen nicht eingehalten werden können.

Das Ziel ist daher der Aufbau einer ausfallsicheren und skalierbaren Geodateninfrastruktur (GDI), die auch hinsichtlich des Investitionsvolumens Sicherheit bietet.

Um eine den Anforderungen entsprechende Software dafür zu finden, wurde eine Produktevaluierung durchgeführt. In dieser konnte das Produkt „GeoServer“ als entsprechende Lösung gefunden werden. Um die Ergebnisse der Evaluierung zu bestätigen wurden mehrere Tests durchgeführt. Dadurch sollte sowohl der Funktionsumfang als auch der Einsatz im Umweltbundesamt getestet werden.

Das Dokument „Testbericht Aufbau U-GIS“ stellt die Ergebnisse und gefundenen Probleme der einzusetzenden Lösung dar.

Dieses Dokument dient der Dokumentation der notwendigen Schritte zum Aufbau der U-GIS GDI.

1.2 KOMPONENTEN

Zum Einsatz kommen folgende Produkte:

GeoServer (GS) als GIS-Server-Komponente GeoWebCache (GWC) als WMTS-Erweiterung für GS Charts Symbolizer als Erweiterung für GS zur Darstellung von Diagrammen in Karten ArcMap als Client-Software zum Bearbeiten zu veröffentlichender Karten GeoBridge Cat (GBC)/Arc2Earth (A2E) als Schnittstelle zwischen ArcMap und GS

1.3 LINKS UND DOKUMENTE

Testbericht Aufbau U-GIS – Word Dokument GeoServer

o Website: http://geoserver.org/ o Dokumentation: http://docs.geoserver.org/

GeoWebCacheo Website: http://geowebcache.org/ o Dokumentation: http://geowebcache.org/docs/current/

GeoBridge Cato Website: https://www.geocat.net/bridge/ o Dokumentation: Als HTML-Help-Datei (siehe Anhang)

Arc2Eartho Website: http://www.arc2earth.com/o Dokumentation: https://accounts.arc2earth.com/help

Charts Symbolizer:o http://blog.geoserver.org/2009/06/01/geoserver-chart-extension/ o http://geoserver.geo-solutions.it/edu/en/pretty_maps/charting.html o http://gis.stackexchange.com/questions/120332/how-to-put-a-piechart-graphic-in-

textsymbolizer-of-a-geoserver-style Docker

o Machine, Swarm, Compose: http://blog.docker.com/2015/02/orchestrating-docker-with-ma-chine-swarm-and-compose/#more-4494

o Tutorials:

© 2015 Seite 6 von 60

Cookbook Aufbau U-GIS

2 SERVER KONFIGURATION

2.1 WAS IST „GEOSERVER“Geoserver ist eine Java Webanwendung die innerhalb eines Servlet Containers läuft und die OpenGeospatial Conforme GIS Services exponieren kann.

2.2 DEPLOYMENT SZENARIEN

Je nachdem was für eine Verfügbarkeit und / oder Budget zur Verfügung stehet ist eine der folgenden Deployment Szenarien zu wählen.

Szenario Skalierbarkeit Ausfallssicherheit Kosten

Nicht ausfallsicher gering keine Gering

Vertikale Skalierung Gering bis mittel keine Gering bis mittel

Horizontale Skalierung

hoch Keine bis geringe Mittel

Clusterung hoch hoch hoch

Abbildung 1 Auszuwählendes Deployment SzenarioAnmerkung es können natürlich auch unterschiedliche Deployment Szenarien kombiniert werden.

Beispiel: Man braucht bei einer stärkeren Hardware (Memory und CPU) für die Horizontale Skalierung natürlich weniger Geoserver Instanzen.

2.2.1 Nicht ausfallssicheres einfachstes Szenario

Abbildung 2 Einfachstes Geoserver Deployment Szenario

© 2015 Seite 8 von 60

Cookbook Aufbau U-GIS

Hinter dem Firewall und einem WebServer läuft ein Servlet Container (Tomcat) in dem der Geoserver (ist eine klassische Java Webanwendung) läuft.

Alle Daten und Konfigurationsfiles liegen im „GEOSERVER_DATA_DIR“, dass über die Umgebungsvariables mit ebendiesem Namens konfiguriert wird.

2.2.2 Ausfallssicherheit & Skalieren

2.2.2.1 Skalieren bei steigenden UserzahlenDa eine Geoserver Instanz nur eine begrenze Anzahl von Usern bedienen kann muss um das jeweils Vereinbarten Antwortzeiten gewährleisten zu können entweder vertikal oder horizontal skaliert werden.

2.2.2.1.1 Vertikale SkalierungDurch mehr Memory und oder schnelleren Prozessoren und oder mehr Cores auf denen die Geoserverinfrastruktur läuft können mehr User gleichzeitig bedient werden.

2.2.2.1.2 Horizontale SkalierungMehr Benutzer können durch mehrere gleich konfigurierte Geoserver Instanzen bedient werden.

Abbildung 3 Horizontale SkalierungAbbildung 4 Horizontale SkalierungDa es mehrere Geoserver Instanzen (von denen es mehrere gibt) können damit nun gleichzeitige auch mehr User bedient werden.

Da jedoch die Instanzen auf der gleichen Hardwareinfrastruktur laufen ist dadurch natürlich keine Ausfallssicherheit gegeben. Bei einem Ausfall der Hardware fallen natürlich alle Instanzen aus.

2.2.2.2 AusfallssicherheitDie Ausfallssicherheit kann nur durch paralleles Betrieben auf physikalisch unterschiedlicher Hardware erreichst werden.

© 2015 Seite 9 von 60

Cookbook Aufbau U-GIS

Abbildung 5 Ausfallssicherheit durch Clustern auf Physikalisch unterschiedlichen InfrastrukturDabei laufen zwei oder mehr identisch konfigurierte Geoserverserverinstanzen auf physikalisch unterschiedlichen Maschinen.

Dem Geoserver vorgeschaltet sind ausfallssicher konfigurierte Webserver, die die Anfragen automatisch auf die Geoserver Instanzen verteilen.

2.3 GLOBALE EINSTELLUNGEN SERVLET CONTAINER (TOMCAT)

2.3.1 Encoding UTF-8Im Tomcat müssen im „server.xml“ File die Encoding Parameter der Konnektoren (AJP http je nachdem welcher verwendet wird) entsprechend gesetzt werden.

Parameter Wert Anmerkung

URIEncoding UTF-8 AJP Connector

URIEncoding UTF-8 http Connector

Tabelle 1 Encoding Parameter<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources/>

<Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"

© 2015 Seite 10 von 60

Cookbook Aufbau U-GIS

URIEncoding="UTF-8" /> <!— <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>--> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false"/> </Engine> </Service></Server>

Abbildung 6 "server.xml" File Encoding UTF-8

2.3.2 Memory für Servlet ContainerDer für den Betrieb notwendige Arbeitsspeicher hängt stark von den auszuliefernden Daten (Vektordaten, Raster Daten) den exponierten Services (Karten und / oder Datenservices) und den am Server verfügbaren Ressourcen (Arbeitsspeicher) ab.

Parameter Wert Beschreibung /Anmerkung

-server Enables server mode

-Xms1024M set initial Java heap size / ist im Parameter drin „1024M“

-Xmx2048M - - set maximum Java heap size / ist im Parameter drin „2048M“

-XX:SoftRefLRUPolicyMSPerMB 36000 Increases the lifetime of “soft references” in GeoServer. GeoServer uses soft references to cache datastore references and other similar requests. Making them live longer will increase the effectiveness of the cache

-XX:+UseParallelGC Enables the throughput garbage collector.

XX:MaxPermSize 512m In Java 8 nicht mehr notwendig

XX:PermSize 256m In Java 8 nicht mehr notwendig

Tabelle 2 Java Memory Options

2.3.3 LoggingDer Log Level in der Produktion muss auf SEVERE gestellt werden.############################################################# Handler specific properties.# Describes specific configuration info for Handlers.############################################################

1catalina.org.apache.juli.AsyncFileHandler.level = SEVERE1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

2localhost.org.apache.juli.AsyncFileHandler.level = SEVERE2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.

3manager.org.apache.juli.AsyncFileHandler.level = SEVERE3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs3manager.org.apache.juli.AsyncFileHandler.prefix = manager.

4host-manager.org.apache.juli.AsyncFileHandler.level = SEVERE4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = SEVEREjava.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter

© 2015 Seite 11 von 60

Cookbook Aufbau U-GIS

############################################################# Facility specific properties.# Provides extra control for each logger.############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = SEVEREorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = SEVEREorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = SEVEREorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler

# For example, set the org.apache.catalina.util.LifecycleBase logger to log# each component that extends LifecycleBase changing state:#org.apache.catalina.util.LifecycleBase.level = SEVERE

# To see debug messages in TldLocationsCache, uncomment the following line:#org.apache.jasper.compiler.TldLocationsCache.level = SEVERE

Abbildung 7 "logging.properties" File

2.4 GLOBALE GEOSERVER EINSTELLUNGEN

2.4.1 Ablageort für Daten & Konfigurationsfiles (GEOSERVER_DATA_DIR)Der Ablageort für Daten wird durch Setzten der Umgebungsvariable „GEOSERVER_DATA_DIR“ definiert.

SET GEOSERVER_DATA_DIR = %CATALINA_HOME%\data

Abbildung 8 Beispiel setzten der GEOSERVER_DATA_DIR Umgebungsvariable in WindowsDie Daten müssen außerhalb des Tomcat Webapp directory liegen, damit bei einem Upgrade der Tomcat Version bzw. Geoserver Version sie nicht überschrieben werden.

2.4.2 „www“ FolderGeoServer exponiert den „/geoserver/www“ Folder als frei zugänglichen Folder in den statische Web Resource kopiert werden können.

Beispiel.: Wenn

2.4.3 StrukturFolder / File Beschreibung

data_dir „GEOSERVER_DATA_DIR“ beinhaltet alle Daten und Konfigurationsfiles einer Geoserver Instanz. Beim Skalieren greifen auf dieses Verzeichnis mehrere Geoserver Instanzen zu.

global.xml Enthält globale Einstellungen (Anprechperson, …)

logging.xml Konfiguriert das Geoserver Log Level

wms.xml Enthält globale Web Map Service Einstellungen.

wfs.xml Enthält globale Web Feature Service Einstellungen.

wcs.xml Enthält globale Web Coverage Service Einstellungen.

geowebcache.xml Enthält globalen Caching Einstellungen für den integrierten GeoWebcache.

logs Das log Directory (enthält für die unterschiedlichen log Level

© 2015 Seite 12 von 60

Cookbook Aufbau U-GIS

Property Files)

workspaces Beinhaltet die Workspaces

${workspace name} 0…n Folder mit dem jeweiligen Workspace Namen

${store name} 0…n Beinhaltet die jeweilige store Konfiguration

datastore.xml Die Store Konfiguration

${layername} 0…n Beinhlatet die jeweilige Feature Type Konfiguration

featuretype.xml Der dem Layer zugrundeliegende Featuretype

layer.xml Die Layerkonfiguration

layergroups Unterhalb dieses layers liegen die (falls spezifiziert) Layergroups für den Workspace

${layergroupname}.xml 0…n XML Files mit der Layergroupdefinition

styles Beinhaltet die Styles, die einem „Workspace“ hinzugefügt wurden

${stylename}.sld

${stylename}.xml

0…n Styles. Ein Style besteht jeweils aus zwei Files einem XML File und einem XML File, das ein SLD File referenziert.

Anmerkung: ein SLD File kann mehrfach wiederverwendet werden.

styles Beinhaltet die Styles, die ohne „Workspace“ hinzugefügt wurden

${stylename}.sld

${stylename}.xml

0…n Styles. Ein Style besteht jeweils aus zwei Files einem XML File und einem XML File, das ein SLD File referenziert.

Anmerkung: ein SLD File kann mehrfach wiederverwendet werden.

gwc\${workspace}_${layer} Beinhaltet die Tiles des integrierten Geowebcaches

gwc-layers Beinhaltet die Layer Definitionen des Geowebcaches

www Alle Files unter diesem Folder sind über den URL /${geoserver context}/www öffentlich zugänglich.

Die Standardeinstellungen liegen im SVN Repository https://develop.umweltbundesamt.at/svn/docker/trunk/geoserver_data_dir und können von dort wiederverwendet werden.

2.4.3.1 „global.xml“ File

2.4.3.1.1 Kontaktangaben zum Server

© 2015 Seite 13 von 60

Cookbook Aufbau U-GIS

Tabelle 3Kontaktangaben über User Interface eingeben

Tabelle 4 Kontaktdaten im „${geoserver data_dir}\global.xml“ File

2.4.3.1.2 Einstellungen für den gesamten Server

© 2015 Seite 14 von 60

Cookbook Aufbau U-GIS

Tabelle 5 Global Einstellungen im Admin UI

Ausführliche Meldungen / Verbose Messages

Verbose Messages, when enabled, will cause GeoServer to return XML with newlines and indents. Because such XML responses contain a larger amount of data, and in turn requires a larger amount of bandwidth, it is recommended to use this option only for testing purposes.

.

Ist zu disablen

Ausführliche Fehlerausgaben / Verbose Exception Reporting

Verbose Exception Reporting returns service exceptions with full Java stack traces. It writes to the GeoServer log file and offers one of the most useful configuration options for debugging. When disabled, GeoServer returns single-line error messages.

.

Ist zu disablen

Alle Services sind aktiv / When enabled, allows access to both global services and virtual services. When disabled, clients will only be able to access virtual services. Disabling is useful if GeoServer is hosting a large amount of layers and you want to ensure that client always request limited layer lists. Disabling is also useful for security reasons.

Ist aus Sicherheitsgründen zu disablen.

Daten- und This setting determines how GeoServer will OGC_EXCEPTION_REPORT:

© 2015 Seite 15 von 60

Cookbook Aufbau U-GIS

Konfigurationsprobleme in Capabilities-Dokumenten behandeln mit / Handle data and configuration problems

respond when a layer becomes inaccessible for some reason. By default, when a layer has an error (for example, when the default style for the layer is deleted), a service exception is printed as part of the capabilities document, making the document invalid. For clients that rely on a valid capabilities document, this can effectively make a GeoServer appear to be “offline”.

An administrator may prefer to configure GeoServer to simply omit the problem layer from the capabilities document, thus retaining the document integrity and allowing clients to connect to other published layers.

This is the default behavior. Any layer errors will show up as Service Exceptions in the capabilities document, making it invalid.

Da eine Fehlerhafte Konfiguration auch nach aussen als falsch erkennbar sein soll.

Anzahl an Nachkommastellen / Number of Decimals

„Refers to the number of decimal places returned in a GetFeature response. Also useful in optimizing bandwidth. Default is 8.“

Da die üblichen Projektionen EPSG:31287 (MGI Lambert) bzw. EPSG:3857 (Web Mercator) sind, deren Einheit „Meter“ sind wird als Standardeinstellung „2“ gewählt.

Zeichensatz / Character Set Specifies the global character encoding that will be used in XML responses. Default is UTF-8, which is recommended for most users. A full list of supported character sets is available on the IANA Charset Registry.

UTF-8 damit die Umlaute korrekt dargestellt werden.

Proxy URL / Proxy Base URL GeoServer can have the capabilities documents report a proxy properly. The Proxy Base URL field is the base URL seen beyond a reverse proxy.

Ist zu setzten wenn ein Reverse Proxy verwendet wird.

Log Location Sets the written output location for the logs. A log location may be a directory or a file, and can be specified as an absolute path (e.g., C:\GeoServer\GeoServer.log) or a relative one (for example, GeoServer.log). Relative paths are relative to the GeoServer data directory. Default is logs/geoserver.log.

Bleibt auf Standardeinstellung „logs/geoserver.log“ Wird indirekt über Tomcat konfiguriert.

Verbose Exception Reporting returns service exceptions with full Java stack traces. It writes to the GeoServer log file and offers one of the most useful configuration options for debugging. When disabled, GeoServer returns single-line error messages.

Ist auf Quiet Logggin Properties zu stellen damit möglichst wenig im Produktivbetrieb geloggt wird.

Logging-Buffer für eingehende XML POST-Requests (WFS,WMS,...) in Zeichen (0 für Deaktivierung) / XML POST request log

In more verbose logging levels, GeoServer will log the body of XML (and other format) POST requests. It will only log the initial part of the request though, since it has to store (buffer) everything that gets logged

Ist zu disablen mit dem Wert „0“.

© 2015 Seite 16 von 60

Cookbook Aufbau U-GIS

buffer for use in the parts of GeoServer that use it normally. This setting sets the size of this buffer, in characters. A setting of 0 will disable the log buffer.

XML Entitäten / XML Entities XML Requests sent to GeoServer can include references to other XML documents. Since these files are processed by GeoServer the facility could be used to access files on the server.

This option is only useful with the application schema extensions.

Ist aus Sicherheitsgründen zu disablen.

Größe des Feature Type Caches / Feature type cache size

GeoServer can cache datastore connections and schemas in memory for performance reasons. The cache size should generally be greater than the number of distinct featuretypes that are expected to be accessed simultaneously. If possible, make this value larger than the total number of featuretypes on the server, but a setting too high may produce out-of-memory errors. On the other hand, a value lower than the total number of your registered featuretypes may clear and reload the resource-cache more often, which can be expensive and e.g. delay WFS-Requests in the meantime. The default value for the Feature type cache size is 100.

Den Default Wert lassen „100“

File Locking / File Locking This configuration settings allows control of they type of file locking used when accessing the GeoServer Data Directory. This setting is used to protected the GeoServer configuration from being corrupted by multiple parties editing simultaneously. File locking should be employed when using the REST API to configure GeoServer, and can protected GeoServer when more than one administrator is making changes concurrently.

Bei einer klassischen Clusterung wo zwei oder mehrere Geoserver auf das gleiche Data_DIR im File Storage zugreifen ist „NIO File locking: Uses Java New IO File Locks suitable for use in a clustered environment (with multiple GeoServers sharing the same data directory).“ zu verwenden ansonsten

„Disable Locking: No file locking is used.“

REST Disable Resource not found Logging

This parameter can be used to mute exception logging when doing REST operations and the requested Resource is not present. This default setting can be overridden by adding to a REST call the following parameter: quietOnNotFound=true/false.

Aus Sicherheitsgründen auf quietOnNotFound=true setzten.

REST PathMapper Root directory path / REST PathMapper Root directory path

This parameter is used by the RESTful API as the Root Directory for the newly uploaded files, following the structure:

${rootDirectory}/workspace/store[/<file>]

Bleibt leer.

© 2015 Seite 17 von 60

Cookbook Aufbau U-GIS

Tabelle 6 Globale Einstelungen im „${geoserver data_dir}\global.xml“ File

Tabelle 7 Globale Einstelungen im „${geoserver data_dir}\global.xml“ File

2.4.3.1.3 JAI (Java Advanced Imaging) EInstellungen

© 2015 Seite 18 von 60

Cookbook Aufbau U-GIS

Abbildung 9 JAI Settings

Speicherkapazität (0-1) / Memory Capacity

For memory allocation for tiles, JAI provides an interface called TileCache. Memory Capacity sets the global JAI TileCache as a percentage of the available heap. A number between 0 and 1 exclusive. If the Memory Capacity is smaller than the current capacity, the tiles in the cache are flushed to achieve the desired settings. If you set a large amount of memory for the tile cache, interactive operations are faster but the tile cache fills up very quickly. If you set a low amount of memory for the tile cache, the performance degrades.

Auf „0.5“ setzten (=Standardwert)

Speichergrenzwert (0-1) / Memory Threshold

Sets the global JAI TileCache Memory threshold. Refers to the fractional amount of cache memory to retain during tile removal. JAI Memory Threshold value must be between 0.0 and 1.0. The Memory Threshold visible on the Status page.

Auf „0.75“ setzten (=Standardwert)

Kachel-Threads / Tile Threads

JAI utilizes a TileScheduler for tile calculation. Tile computation may make use of multithreading for improved performance. The Tile Threads parameter sets the TileScheduler, indicating the number of threads to be used when loading tiles.

Auf „7“ setzten (=Standardwert)

Kachel Threads Priorität / Tile Threads Priority

Sets the global JAI Tile Scheduler thread priorities. Values range from 1 (Min) to 10 (Max),

Auf „5“ setzten (=Standardwert)

© 2015 Seite 19 von 60

Cookbook Aufbau U-GIS

with default priority set to 5 (Normal).

Kachel Wiederverwendung / Tile Recycling

Enable/Disable JAI Cache Tile Recycling. If selected, Tile Recycling allows JAI to re-use already loaded tiles, which can provide significant performance improvement.

Auf „true“ setzten.

Native JPEG-Beschleunigung / JPEG Native Acceleration

Enables/disable JAI JPEG Native Acceleration. When selected, enables JPEG native code, which may speed performance, but compromise security and crash protection.

Auf „false“ setzten.

PNG Encoder / PNG Encoder Type

Provides a selection of the PNG encoder between the Java own encoder, the JAI ImageIO native one, and a PNGJ based one:

The Java standard encoder is always set to maximum compression. It provides the smallest output images, balanced by a high performance cost (up to six times slower than the other two alternatives).

The ImageIO native encoder, available only when the ImageIO native extensions are installed, provided higher performance, but also generated significantly larger PNG images

The PNGJ based encoder provides the best performance and generated PNG images that are just slightly larger than the Java standard encoder. It is the recommended choice, but it’s also newer than the other two, so in case of misbehavior the other two encoders are left as an option for the administrator.

Auf „PNGJ“ setzten (=Standardwert).

Mosaik Native Beschleunigung / Mosaic Native Acceleration

To reduce the overhead of handling them, large data sets are often split into smaller chunks and then combined to create an image mosaic. An example of this is aerial imagery which usually comprises thousands of small images at very high resolution. Both native and JAI implementations of mosaic are provided. When selected, Mosaic Native Acceleration use the native implementation for creating mosaics.

Auf „false“ setzten (=Standardwert).

Warp Native Acceleration / Warp Native Acceleration

Also for the Warp operation are provided both native and JAI

Auf „false“ setzten (=Standardwert).

2.4.3.1.4 Rest APIAbfrage der Global Settingscurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/settings.xml

Abbildung 10 Globale Settings über Rest API anzeigen lassenGlobal Settings aus XML File updatencurl -v -u admin:geoserver -XPUT -H "Content-Type: text/xml" -d @C:/temp/geoserver_curl/global.xml http://localhost:8080/geoserver/rest/settings

Abbildung 11 Globale Settings über Rest API uploaden

© 2015 Seite 20 von 60

Cookbook Aufbau U-GIS

2.4.3.2 „logging.xml“ FileDas Standard Logging soll auf Produktionsmodus gesetzt und nicht in die Kommandozeile ausgegeben werden.

Admin User Interface

Abbildung 12 Logging Properties über UI setzenDie Logging Properties können über das User Interface gesetzt werden.

1. Einstellungen Global Profil für die Protokollierung „PRODUCTION LOGGING.properties“ auswählen.

2. Einstellungen Global Profil für die Protokollierung „in die Standradausgabe schreiben“ nicht auswählen.

Überschrift im UI Beschreibung Standardeinstellung

Profil für die Protokollierung / Logging Properties

Logging Profile corresponds to a log4j configuration file in the GeoServer data directory. (Apache log4j is a Java-based logging utility.) By default, there are five logging profiles in GeoServer; additional customized profiles can be added by editing the log4j file.

There are six logging levels used in the log itself. They range from the least serious TRACE, through DEBUG, INFO, WARN, ERROR and finally the most serious, FATAL. The GeoServer logging profiles combine logging levels with specific server operations.

Production Logging (PRODUCTION_LOGGING) is the most minimal logging profile, with only WARN enabled on all GeoTools and GeoServer levels. With such production level logging, only problems are written to the log files.

in die Standardausgabe schreiben / Log to StdOut

Standard output (StdOut) determines where a program writes its output data. In GeoServer, the Log to StdOut setting enables logging to the text terminal that initiated the program. If you are running GeoServer in a large J2EE container, you might not want your container-wide logs filled with GeoServer information. Clearing this option will suppress most GeoServer logging, with only FATAL exceptions still output to the console log.

Ist zu disablen

Abbildung 13 EinstellungenREST APIKann nicht über die Rest API konfiguriert werden.

„logging.xml“ File<logging>

© 2015 Seite 21 von 60

Cookbook Aufbau U-GIS

<level>PRODUCTION_LOGGING.properties</level> <stdOutLogging>false</stdOutLogging></logging>

Abbildung 14 "logging.xml" File

2.4.3.3 Globale Service Einstellungen (wms.xml, wfs.xml, wcs.xml, geowebcache.xml)Alle nicht notwendigen Services werden ausgeschalten. Dadurch werden Server Ressourcen gespart da die für das Service notwendigen Klassen nicht ins Memory geladen werden müssen.

2.4.3.3.1 „csw.xml“ Coverage Service Web (Rasterdatenservice)Da es derzeit keine Rasterdaten gibt wird das Service ausgeschalten.

2.4.3.3.1.1 Admin User Interface

Abbildung 15 WCS über UI ausschaltenWCS „Aktiviere WCS“ nicht anhaken

2.4.3.3.1.2 REST APIcurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/services/wcs/settings.xml

Abbildung 16 WCS Settings über Rest API anzeigen lassencurl -v -u admin:geoserver -XPUT -H "Content-Type: text/xml" -d @C:/temp/geoserver_curl/wcs.xml http://localhost:8080/geoserver/rest/services/wcs/settings

Abbildung 17 WCS Settings über Rest API hochladen

2.4.3.3.1.3 „csw.xml“ File<wcs> <id>WCSInfoImpl--23913eca:14f5ecb1181:-8000</id> <!-- Disabled --> <enabled>false</enabled> <name>WCS</name> <versions> <org.geotools.util.Version> <version>1.0.0</version> </org.geotools.util.Version> <org.geotools.util.Version> <version>1.1.1</version> </org.geotools.util.Version> <org.geotools.util.Version> <version>2.0.1</version> </org.geotools.util.Version>

© 2015 Seite 22 von 60

Cookbook Aufbau U-GIS

</versions> <citeCompliant>false</citeCompliant> <schemaBaseURL>http://schemas.opengis.net</schemaBaseURL> <verbose>false</verbose> <gmlPrefixing>false</gmlPrefixing> <latLon>false</latLon> <maxInputMemory>0</maxInputMemory> <maxOutputMemory>0</maxOutputMemory> <subsamplingEnabled>true</subsamplingEnabled></wcs>

Abbildung 18 „wcs.xml“ File

2.4.3.3.2 „wfs.xml“ Web Feature Service (Datenservice für Vektordaten)Im Normalfall werden keine Transaktionalen WFS Services benötigt. Daher wird die Standardeinstellung für WFS Services auf Basis geändert und die maximale Anzahl der zurückzugebenden Features mit 1000 begrenzt.

Um die Performance zu steigern wird kein begrenzendes Rechteck mit jedem Feature zurückgegeben und auch die Trefferanzahl nicht berechnet.

2.4.3.3.2.1 Admin User Interface

Abbildung 19 Admin UI globale WFS Settings1. Services WFS auswählen2. „Enable WFS“ disablen3. Features Max. Anzahl von Features 10004. Service Level „Basic“

2.4.3.3.2.2 REST APIcurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/services/wfs/settings.xml

Abbildung 20 WCS Settings über Rest API anzeigen lassencurl -v -u admin:geoserver -XPUT -H "Content-Type: text/xml" -d @C:/temp/geoserver_curl/wfs.xml http://localhost:8080/geoserver/rest/services/wcs/settings

Abbildung 21 WCS Settings über Rest API hochladen

2.4.3.3.2.3 „wfs.xml“ File<wfs> <id>WFSInfoImpl-61fd42dc:14f825c616a:-7ffe</id> <enabled>false</enabled> <name>WFS</name>

© 2015 Seite 23 von 60

Cookbook Aufbau U-GIS

<versions> <org.geotools.util.Version> <version>1.0.0</version> </org.geotools.util.Version> <org.geotools.util.Version> <version>1.1.0</version> </org.geotools.util.Version> <org.geotools.util.Version> <version>2.0.0</version> </org.geotools.util.Version> </versions> <citeCompliant>false</citeCompliant> <schemaBaseURL>http://schemas.opengis.net</schemaBaseURL> <verbose>false</verbose> <metadata> <entry key="SHAPE-ZIP_DEFAULT_PRJ_IS_ESRI">false</entry> <entry key="maxNumberOfFeaturesForPreview">50</entry> </metadata> <gml> <entry> <version>V_20</version> <gml> <srsNameStyle>URN2</srsNameStyle> <overrideGMLAttributes>false</overrideGMLAttributes> </gml> </entry> <entry> <version>V_11</version> <gml> <srsNameStyle>URN</srsNameStyle> <overrideGMLAttributes>false</overrideGMLAttributes> </gml> </entry> <entry> <version>V_10</version> <gml> <srsNameStyle>XML</srsNameStyle> <overrideGMLAttributes>true</overrideGMLAttributes> </gml> </entry> </gml> <serviceLevel>BASIC</serviceLevel> <maxFeatures>1000</maxFeatures> <featureBounding>false</featureBounding> <canonicalSchemaLocation>false</canonicalSchemaLocation> <encodeFeatureMember>false</encodeFeatureMember> <hitsIgnoreMaxFeatures>false</hitsIgnoreMaxFeatures></wfs>

Abbildung 22 „wfs.xml“ File

2.4.3.3.3 „wms.xml“ Web Mapping Service (Dynamisches Kartenservice)Damit im WMS Capabilities Dokument nicht alle möglichen Koordinatensystem angezeigt werden, werden die Koordinatensysteme auf EPSG:31287 (MGI Lambert), EPSG:4326 (WGS 84) und EPSG:3857 (Google Mercator) eingeschränkt.

2.4.3.3.3.1 Admin User Interface

© 2015 Seite 24 von 60

Cookbook Aufbau U-GIS

Abbildung 23 Admin UI globale WMS Settings1. WMS Service Metadata „Enable WMS“ disablen2. Limited SRS list „31287, 4326, 3857“

2.4.3.3.3.2 REST APIcurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/services/wms/settings.xml

Abbildung 24 WMS Settings über Rest anzeigen lassencurl -v -u admin:geoserver -XPUT -H "Content-Type: text/xml" -d @C:/temp/geoserver_curl/wms.xml http://localhost:8080/geoserver/rest/services/wcs/settings

Abbildung 25 WMS Settings über Rest API hochladen

2.4.3.3.3.3 „wms.xml“ File<wms> <id>WMSInfoImpl-61fd42dc:14f825c616a:-7ffd</id> <enabled>false</enabled> <name>WMS</name> <versions> <org.geotools.util.Version> <version>1.1.1</version> </org.geotools.util.Version> <org.geotools.util.Version> <version>1.3.0</version> </org.geotools.util.Version> </versions> <citeCompliant>false</citeCompliant> <schemaBaseURL>http://schemas.opengis.net</schemaBaseURL> <verbose>false</verbose> <metadata> <entry key="kmlSuperoverlayMode">auto</entry> <entry key="kmlReflectorMode">refresh</entry> <entry key="loopContinuously">false</entry> <entry key="kmlPlacemark">false</entry> <entry key="svgAntiAlias">false</entry> <entry key="kmlKmscore">40</entry> <entry key="pngCompression">25</entry> <entry key="jpegCompression">25</entry> <entry key="maxAllowedFrames">2147483647</entry> <entry key="kmlAttr">true</entry> <entry key="scalehintMapunitsPixel">false</entry> <entry key="framesDelay">1000</entry> </metadata> <srs> <string>31287</string> <string>4326</string> <string>3857</string> </srs>

© 2015 Seite 25 von 60

Cookbook Aufbau U-GIS

<bboxForEachCRS>false</bboxForEachCRS> <watermark class="org.geoserver.wms.WatermarkInfoImpl"> <enabled>false</enabled> <position>BOT_RIGHT</position> <transparency>100</transparency> </watermark> <interpolation>Nearest</interpolation> <getFeatureInfoMimeTypeCheckingEnabled>false</getFeatureInfoMimeTypeCheckingEnabled> <getMapMimeTypeCheckingEnabled>false</getMapMimeTypeCheckingEnabled> <maxBuffer>0</maxBuffer> <maxRequestMemory>0</maxRequestMemory> <maxRenderingTime>0</maxRenderingTime> <maxRenderingErrors>0</maxRenderingErrors></wms>

Abbildung 26 „wms.xml“ File

2.4.3.3.4 „geowebcache.xml“Globale Geowebcache EinstelllungenGeowebcache ist in den Geoserver integriert. Dadurch kann der Geoserver Kartenservices als WMS-C (Web Map Service cached), WMTS (Web Mapped Tiled Service) und / oder TMS (Tiled Map Service)

2.4.3.3.4.1 Admin User Interface

Abbildung 27 Globale chaching EinstellungenDas WMS-C Service wird ausgeschalten da es nicht weit verbreitet ist.

© 2015 Seite 26 von 60

Cookbook Aufbau U-GIS

Die globalen Caching Einstellungen dienen als vorlage für gecachte layer. Um Speicherplatz zu sparen wird auf „image/png8“ als Tile Image Format gesetzt.

Als einziges Gridset wird das mitgeleiferte Web Mercator Gridset (entspricht der Basemap) verwendet.

Selbstverständlich muss die Security auch für gecachete Layer gelten.

2.4.3.3.4.2 Rest APIDie globalen Setting des integrierten Geowebcaches sind derzeit nicht über die Rest schnittstelle konfigurierbar.

2.4.3.3.4.3 „geowebcache.xml“ File<GeoServerGWCConfig> <version>1.0.0</version> <directWMSIntegrationEnabled>false</directWMSIntegrationEnabled> <WMSCEnabled>false</WMSCEnabled> <WMTSEnabled>true</WMTSEnabled> <TMSEnabled>true</TMSEnabled> <securityEnabled>true</securityEnabled> <cacheLayersByDefault>true</cacheLayersByDefault> <cacheNonDefaultStyles>true</cacheNonDefaultStyles> <metaTilingX>4</metaTilingX> <metaTilingY>4</metaTilingY> <gutter>0</gutter> <defaultCachingGridSetIds> <string>EPSG:900913</string> </defaultCachingGridSetIds> <defaultCoverageCacheFormats> <string>image/png8</string> </defaultCoverageCacheFormats> <defaultVectorCacheFormats> <string>image/png8</string> </defaultVectorCacheFormats> <defaultOtherCacheFormats> <string>image/png8</string> </defaultOtherCacheFormats> <lockProviderName>nioLock</lockProviderName></GeoServerGWCConfig>

Abbildung 28 „geowebcache.xml“ File

© 2015 Seite 27 von 60

Cookbook Aufbau U-GIS

3 SERVICE KONFIGURATION

3.1 ÜBERBLICK

Abbildung 29 Geoserver Data Directory Configuration StructureGeoserver strukturiert Daten und Services über Workspace Store Layer GroupLayer

In einem Workspace werden zusammenhängende Dinge Daten (=Datastores), Layer in einer Art „Namensraum“ gruppiert.

Ein Store beinhaltet die Zugriffsparameter zu Daten und muss einem Workspace zugeordnet sein. Kann ein File, ein Directory, DB Connection Parameter, … (hängt von der jeweiligen Datenquelle ab) sein.

Ein Layer exponiert Daten als Services. Ein Layer kann Styles zugeordnet haben. Ein Layer exponiert

Raster (Bild) oder Vector (Punkt, Linie, Fläche, …) Daten.

Er verwendet dazu üblicherweise einen Store (Standard Layer) oder mehrere Stores (Group Layer)

Ein Group Layer kombiniert mehrere Layer zum einem „GroupLayer“ zusammen

© 2015 Seite 28 von 60

Cookbook Aufbau U-GIS

3.2 WORKFLOW

Abbildung 30 Service Konfiguration Workflow

3.2.1 Workspace hinzufügen (wenn noch nicht vorhanden))

3.2.1.1 Admin User InterfaceWenn der workspace noch nicht existiert wird ein neuer Workspace angelegt.

„Workspaces“ auswählen „Add new Workspace“ Name hinzufügen „umweltbundesamt“ Namespace URL hinzufügen http://www.umweltbundesamt.at“ „Submit“

© 2015 Seite 29 von 60

workspace workspace(s) hinzufügen

style style(s) hinzufügen

store store(s) hinzufügen

layer layser(s) hinzufügen

tile cache tile cache(s) hinzufügen

security security hinzufügen

Cookbook Aufbau U-GIS

Workspaces Workspace auswählen

1. Den zu exponierenden Service Type im workspace anhaken (z.b: „WMS“)2. Den Service Link (z.B.) auswählen3. Den Service Type enablen und Sonstige Einstellungen wenn notwendig überschreiben

Anmerkung dadurch kann man für unterschiedliche workspaces unterschiedliche servicetype exponieren.

3.2.1.2 Rest APIInformation zu bestehenden workspace abfragenAbfrage welche Workspace bereits existierencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/workspaces .xml

© 2015 Seite 30 von 60

Cookbook Aufbau U-GIS

Abbildung 31 Existierende „workspaces“ anzeigen lassenAbfrage eines bestimmten Workspaces (z.B.: „umweltbundesamt“)curl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt .xml

Abbildung 32 Bestimmten „workspace“ abfragenNeuen Wokspace hinzufügenNeuen Workspace hinzufügencurl -v -u admin:geoserver -XPOST -H "Content-type: text/xml" -d "<workspace><name>umweltbundesamt</name></workspace>" http://localhost:8080/geoserver/rest/workspaces

Abbildung 33 Neuen „workspace“ inline hinzufügenBestehenden Workspace löschenBestehenden Workspace löschencurl -v -u admin:geoserver -XDELETE http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt

Abbildung 34 Bestehenden „workspace“ löschen

3.2.2 Style hinzufügen (wenn noch nicht vorhanden)Styles für individuelle Layer werden im Geoserver als XML File gemäß der Styled Layer Definition Language angegeben.

Die genaue Spezifikation findet man auf der OGC Webseite 2 http://www.opengeospatial.org/standards/sld 3 .

Geoserver unterstützt SLD 1.0.0 und Teile der SLD 1.1.0 Spzifikation (siehe http://docs.geoserver.org/stable/en/user/styling/sld-reference/ für nähere Details)

3.2.2.1 Admin User Interface

„Styles“ „Add new Style“

2 17.8.2015 SLD Spezififikationseite des Open Geospatial Consortiums 3 17.8.2015 SLD Spezififikationseite des Open Geospatial Consortiums

© 2015 Seite 31 von 60

Cookbook Aufbau U-GIS

Name „einzugsgebiete“ für style eingeben Der „Workspace“ muss nicht angegeben werden Als Format sollte imme rSLD verwednet werden, da Geoserver intern alle anderen unterstützten

Format in SLD umwandelt. Das SLD File wird aus dem Filesystem hochgeladen. Um zu sehen ob die Virualisierungsvorschirft korrekt ist „Validate“ auswählen. „Submit“ speichert den Style ab.

3.2.2.2 Rest APIAbfrage welche Styles existierencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/styles.xml

Abbildung 35 Abfragen welche „Styles“ bereits existierenAbfrage eines bestimmten Stylescurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/styles/capitals.sld

© 2015 Seite 32 von 60

Cookbook Aufbau U-GIS

Abbildung 36 Abfragen eines bestimmten„Styles“Neuen Style hinzufügencurl -v -u admin:geoserver -XPOST -H "Content-Type: application/vnd.ogc.sld+xml" -d @C:/temp/geoserver_curl/Gemeindegrenzen.sld http://localhost:8080/geoserver/rest/styles

Abbildung 37 Neuen „Style“ hinzufügenNeuen Style einem Workspace hinzufügencurl -v -u admin:geoserver -XPOST -H "Content-Type: application/vnd.ogc.sld+xml" -d @C:/temp/geoserver_curl/Gemeindegrenzen.sld http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt/styles

Abbildung 38 Neuen „Style“ einem „Workspace“ hinzufügenBestehenden Style löschencurl -v -u admin:geoserver -XDELETE http://localhost:8080/geoserver/rest/styles/GemeindegrenzenGreen

Abbildung 39 Bestehenden „Style“ löschenBestehenden Style aus einem Workspace löschencurl -v -u admin:geoserver -XDELETE http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt/styles/GemeindegrenzenGreen

Abbildung 40 Bestehenden „Style“ aus einem „Workspace“ löschen

3.2.3 Store (=Daten) hinzufügen (wenn noch nicht vorhanden)

3.2.3.1 Admin User Interface

Im linken Menu „Stores“ auswählen „Shapefile ESRI™ Shapefiles (*.shp)“ auswählen -

© 2015 Seite 33 von 60

Cookbook Aufbau U-GIS

Den „workspace“ hier „umweltbundesamt“ auswählen Das Shape File mit „browse“ auswählen hier „data/shape/einzugsgebiet,shp“ (!!! Muss vorher in

das Geoserver Data Directory kopiert worden sein) Encoding auf UTF-8 stellen Ansonnsten die Standardeinstellungen lassen. Mit „Save“ die Einstellungen sichern.

3.2.3.2 Rest APIAbfrage welche Stores (Datastores) bereits existierencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt/datastores.xml

Abbildung 41 Abfragen welche „Stores“ bereits existierenDetaillierte Informationen zu einem Store anzeigencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt/datastores/einzugsgebiete.xml

Abbildung 42 Detaillkiere Information zu einem bestimmten„Store“Neuen Shape Datastore hinzufügen.

Anmerkung, wenn ein Shape Store aus einem Zip erzeugt wird, wird automatisch der Featuretype (es git bei einem Shapefile ja nur einen) und ein Layerfile auch mit erzeugt. curl -v -u admin:geoserver -XPUT -H "Content-type: application/zip" --data-binary @C:/temp/geoserver_curl/gemeindegrenzen.zip http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt/datastores/gemeindegrenzen/file.shp

Abbildung 43 Shape „Store“ durch hochladen hinzufügen

© 2015 Seite 34 von 60

Cookbook Aufbau U-GIS

Bestehenden Datastore löschen

!!! Anmerkung man muss zuerst die sich im Datastore befindlichen Layer und Styles löschen bevor der Datastore gelöscht werden kann.curl -v -u admin:geoserver -XDELETE http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt/datastores/states

Abbildung 44 Bestehenden „Store“ löschen

3.2.4 Layer (= Service) hinzufügenEin Layer exponiert

Raster (Bild) oder Vector (Punkt, Linie, Fläche, …) Daten.

Er verwendet dazu üblicherweise einen Feature Type aus einem Store (Standard Layer) oder mehrere Stores (Group Layer)

3.2.4.1 Admin User Interface

© 2015 Seite 35 von 60

Cookbook Aufbau U-GIS

Eingeben der allgemeine Informationen zum Layer

UI Eintrag Beschreibung Wert

Enabled A layer that is not enabled won’t be available to any kind of request, it will just show up in the configuration (and in REST config)

„true“ (Standardwert man will ja den layer sehen)

Advertised (Angekündigt)

A layer is advertised by default. A non-advertised layer will be available in all data access requests (for example, WMS GetMap, WMS GetFeature) but won’t appear in any capabilities document or in the layer preview.

„true“ (Standardwert wenn man ihn anzeigt und bafragen kann sollte er auch in den metafaten aufscheien

Abbildung 45 Admin User Interface: Allgemeine Information zum Layer

© 2015 Seite 36 von 60

Cookbook Aufbau U-GIS

Auf der Publishing Seite können WMS und WFS Service spezifische Einstellungen vorgenommen werden.

Publishing (Publizieren)Definiert HTTP und WFS/ WMS/WCS Einstellungen.

http Einstellungen

UI Eintrag Beschreibung Wert

Response Cache Headers

Response Cache Headers is selected, GeoServer will not request the same tile twice within the time specified in Cache Time.

„false“ (Standardwert)

Cache Time. Cache in seconds (3600), is the default value for Cache Time.

3600, is the default value for Cache Time.

WFS Einstellungen

UI Eintrag Beschreibung Wert

Max. Anzahl von Features pro Anfrage

Max. Anzahl von Nachkommastellen

„2“ (Da wir im SRS m verwenden muss es nicht

© 2015 Seite 37 von 60

Hadrbolec Michael, 07.09.15,
Was hat das für eine Auswirkung

Cookbook Aufbau U-GIS

genauer sein)

NumberMatched skip To enhance the performance of large queries, it is possible to skip the counting of the numberMatched attribute in a GetFeature WFS request. Although enabling this can minimize the query time, it can also break pagination for client applications, since numberMatched will always evaluate to 'unknown'.

„false“ Standardwert

Extra SRS codes for WFS capabilities generation

A comma separated list of EPSG codes, e.g. 4326,3857,3003. The corresponding codes will be added to each FeatureType declaration in the GetCapabilities response. The list can be left empty to have no extra SRS declared for this specific type, in override to a list of values specified in the WFS service configuration.The list will be used only for the capabilities document generation, but will not be used to limit the actual target SRS usage in GetFeature requests.

leer

WMS Einstellungen

UI Eintrag Beschreibung Wert

Queryable (abfragbar) „true“ Normalerweise ist layer abfragbar.

Deckend

Default style (Standardstil)

Style that will be used when the client does not specify a named style in GetMap requests.

Den gewünschten Style eintragen (muss natürlich bereits vorher hocgeladen sein)

Additional styles (Weitere Stile)

Other styles that can be associated with this layer. Some clients (and the GeoServer Layer Preview) will present those as styling alternatives for that layer to the user.

„“ Normalerweise leer: !!! Man sollte nie zuviele unterschiedliche Stile verwenden (Serverbelastung, Wartungs & Betriebsaufwand)

Default rendering buffer

Default value of the buffer GetMap/GetFeatureInfo vendor parameter. See the WMS vendor parameters for more details.

„“ Normalerweise leer:

Default WMS path (Standard WMS Pfad)

Default WMS path—Location of the layer in the WMS capabilities layer tree. Useful for building non-opaque layer groups

„“ Normalerweise leer:

KML EinstellungenKML Einstellungen wurden nicht betrachtet

© 2015 Seite 38 von 60

Hadrbolec Michael, 07.09.15,
Nichts gefunden.
Hadrbolec Michael, 07.09.15,
Bedeutet, dass zweimal abgefragt werden muss. Einmal um die Anzahl zu ermitteln, das zweite mal um die Daten zu streamen.

Cookbook Aufbau U-GIS

Ermöglicht Höhe und Zeit in WMS Services zu definieren

• Time (Zeit)

• Elevation (Höhe)

Wird hier zurzeit nicht betrachtet.

Wenn gecached werden soll „Create a cached layer for this layer“ anhaken.

Einstellung Beschreibung

© 2015 Seite 39 von 60

Cookbook Aufbau U-GIS

Create a cached layer for this layer

Steuert ob der layer gecached wird oder nicht.

Enable Tile chaching for this layer Schaltet Tilecahcing für diesen layer ein. D.h. es können entprechenden Requests an den Geoserver geschickt werden.

Gridset EPSG:900913 (=Google Merkator) entspricht der Basemap.

Published zoom levels Sind die für den Service User exponierten zoom Level des Layers

Cached zoom levels Sind die Zoom levels die beim „Seeden“ gecached werden.

Wenn bei den „published Zoom levels“ außerhalb der Cached Zoom level sind werden die notwendigen Tiles dynamisch vom geoserver gerechnet.

Dadurch wird Platz am Server gespart, da bei großen Zoom Levels der Plattenplatz explodiert.

Abbildung 46 Einstellungen Tile Caching

3.2.4.2 Rest APIAbfrage welche Layer bereits existierencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/layers.xml

Abbildung 47 Abfragen welche „Layer“ bereits existierencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/layers/einzugsgebiete.xml

Abbildung 48 Detaillierte Abfragen für einen bestimmten „Layer“curl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/workspaces/umweltbundesamt/datastores/einzugsgebiete/featuretypes/einzugsgebiete.xml

Abbildung 49 Detaillierte Abfragen für einen Featuretype eines bestimmten „Layer“Man kann einen Layer auch über XML updatencurl -v -u admin:geoserver -XPUT -H "Content-type: text/xml" -d @C:/temp/geoserver_curl/layer.xml http://localhost:8080/geoserver/rest/layers/Gemeindegrenzen

Abbildung 50 Bestehenden „Layer“ über xml File updaten

© 2015 Seite 40 von 60

Cookbook Aufbau U-GIS

Bestehenden Layer löschencurl -v -u admin:geoserver -XDELETE http://localhost:8080/geoserver/rest/layers/einzugsgebiete

Abbildung 51 Bestehenden „Layer“ löschen!!! Anmerkung man muss zuerst die sich im Datastore befindlichen Layer und Styles löschen bevor der Datastore gelöscht werden kann.

3.2.4.3 Sonderfall Group LayerGroupLayer ermöglichen das kombinieren von mehreren einzelnen Layer zu einem Service zusammen.

Sie sind auch gemeinsam abfragbar.

3.2.4.3.1 Admin User Interface

„Add new layer group“

Innerhalb des ausgewählten Workspaces kann man nun meheere Layer un doder LayerGroups (sofern vorhanden) zu einem Group Layer zusammengrupieren.

Für jeden Layer kann ein Style ausgewählt werden.

© 2015 Seite 41 von 60

Cookbook Aufbau U-GIS

Die Caching Konfiguration erfolgt analog zu einem normalen Layer.

Last but not least wird die Konfiguration gespeichert.

3.2.4.3.2 Rest APIAbfrage welche Layergroups bereits existierencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/layergroups.xml

Abbildung 52 Abfragen welche „Layergroups“ bereits existierencurl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/layergroups/ggn.xml

Abbildung 53 Detaillierte Abfragen für einen bestimmten „Layergroup“Eine neue Layergroup kann durch hochladen des konfigurierten XML Files huinzugefügt werden.curl -v -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/layergroups/ggn.xml

Abbildung 54 Detaillierte Abfragen für einen bestimmten „Layergroup“

© 2015 Seite 42 von 60

Cookbook Aufbau U-GIS

Eine bestimmte Layergroup kann über den Namen gelöscht werden.curl -v -u admin:geoserver -XDELETE http://localhost:8080/geoserver/rest/layergroups/ggn

Abbildung 55 Löschen einen bestimmten„Layergroup“

3.2.5 Tile Cachen (wenn Layer gecached werden soll)

3.2.5.1 Admin User Interface

Den zu cachenden Layer auswählen „Gecached Layer“ Layer auswählen und „Erzeugen“ drücken

!!! Die „Zoom start“ und „Zoom Stop“ Einstellungen werden nicht aus den „Tile Caching Einstellungen“ des Layers übernommen. Manuell die Zoomstufen auswählen

Den „Submit“ Button auswählen

© 2015 Seite 43 von 60

Cookbook Aufbau U-GIS

Mit Refresh List kann man sehen wie lange das „Seeden“ noch dauert.

3.2.5.2 Rest API (derzeit nicht unterstützt)Zur Zeit unterstützt die GeoServer Rest API die TileCache Verwaltung noch nicht.

© 2015 Seite 44 von 60

Cookbook Aufbau U-GIS

4 ANHANG

4.1 ARCMAP-TILING

Um einen Tile-Cache für GS zu exportieren können die in ArcMap inkludierten Tools verwendet werden. Die Anforderung dabei ist, die Tile-Caches nach einem bestimmten Tiling-Scheme zu exportieren. Im Falle der U-GIS GDI ist dies basierend auf dem Tiling-Scheme Web-Mercartor (EPSG:3857). Die Zoom-Level und andere Eigenschaften sollen an die der Verwaltungskarten von www.basemap.at angepasst werden um einen gemeinsame Nutzung zu ermöglichen.

4.1.1 Tiling-SchemeDas Tiling-Scheme kann grundsätzlich einmal erstellt und danach für alle Karten wieder verwendet werden.

Als Grundlage sind dabei folgende Dokumente zu verwenden:

basemap.at WMTS GetCapabilities: o http://www.basemap.at/#zugang o Hier sind die Zoom-Level unter TileMatrixSet zu finden

Das vorhandene „ArcGIS_Online_Bing_Maps_Google_Maps“ Tiling Scheme von ArcMap (zu finden im ArcMap Installationsordner\TilingSchemes bzw. unter Anhang im Kapitel 4) – basiert auf EPSG:3857

Das ArcGIS Mercator Tiling-Scheme kann dabei als Vorlage verwendet werden. In dieses müssen einige Daten von basemap.at eingetragen werden:

Scales (LODInfos) – alle 20o Als Scale wird der ScaleDenominator von basemap.at jeweils übernommeno Die Resolution berechnet sich wie folgt: resolution = scale / (dpi * 39,37) 4

XOrigin/YOrigin: von ArcGis Tiling-Scheme übernehmen XYScale: von ArcGis Tiling-Scheme übernehmen ZOrigin: von ArcGis Tiling-Scheme übernehmen ZScale: von ArcGis Tiling-Scheme übernehmen MOrigin: von ArcGis Tiling-Scheme übernehmen MScale: von ArcGis Tiling-Scheme übernehmen XYTolerance: von ArcGis Tiling-Scheme übernehmen ZTolerance: von ArcGis Tiling-Scheme übernehmen MTolerance: von ArcGis Tiling-Scheme übernehmen HighPrecision: von ArcGis Tiling-Scheme übernehmen TileOrigin

o X: 1. Lowercorner des Tilematrixset von basemap.ato Y: 2. Lowercorner des Tilematrixset von basemap.at

In der XML-Datei müssen einige von ArcMap hinzugefügte Elemente entfernt werden, da GeoServer diese nicht versteht/unterstützt und daher Fehlermeldungen wirft:

LatestWKID – löschen PreciseDPI - löschen

Dieses Tiling-Scheme muss direkt im XML-Dokument bearbeitet/erstellt werden und kann danach weiterverwendet werden. Siehe Anhang im Kapitel Error: Reference source not found.

4.1.2 Tile-Cache erstellenNachdem ein Tiling-Scheme vorliegt muss der Tile-Cache erstellt werden. Dazu sind folgende Schritte Notwendig:

1. ArcToolbox – Data Management Tools – Tile Cache

4 http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Resolution_and_Scale – nachgerechnet und geprüft

© 2015 Seite 45 von 60

Todt Fabian, 08.09.15,
Nicht sicher – GeoServer berechnet „Pixelgröße“ anders (ähnliche Werte, aber abweichend) – GS passt mit basemapt.at überein

Cookbook Aufbau U-GIS

2. Manage Tile Cachea. Cache Location: Speicherortb. RECREATE_ALL_TILESc. Input Data Source: Karted. Input Tiling Scheme: IMPORT_SCHEMEe. Import Tiling Scheme: Tiling Scheme aus 4.1.1f. Scales: gewünscht scle faktoren – kommen von tiling schemeg. Min/Max Scales evt. anpassenh. Cache wird erstellt

4.1.3 Tile-Cache ExportierenDer Erstellte Tile-Cache muss danach in das „explodierte“ Format exportiert werden um ihn mit anderen Applikationen nutzen zu können.

1. ArcToolbox – Data Management Tools – Tile Cache2. Export Tile Cache

a. Input Tile Cache: Tile Cache aus 4.1.2b. Output Tile Cache Location: Speicherortc. Output Tile Cache Named. Export Cache As: Tile_Cache (!)e. Storage Format: Exploded (!)f. Scales von Tiling Scheme auswählen

4.1.4 Tile-Cache in GeoServer veröffentlichenDer Ordner mit dem exportierten Tile-Cache muss in den in Kapitel Error: Reference source not found spezifizierten Cache-Speicherort (gwc-data) kopiert werden. Dabei muss das ganze Verzeichnis kopiert werden. Danach sollte die Ordnerstruktur wie folgt aussehen:

gwc-datao %CACHE-Name%

Layers _allayers conf.cdi conf.properties conf.xml

In der conf.xml müssen einige von ArcMap hinzugefügte Elemente entfernt werden, da GeoServer diese nicht versteht/unterstützt und daher Fehlermeldungen wirft:

LatestWKID – löschen PreciseDPI - löschen

Es kann vorkommen, dass der Layer danach schon über die GWC-Weboberfläche erreichbar ist. Eventuell muss der Layer/Tile-Cache aber noch in die GWC-Konfigurationsdatei geschrieben werden.

Die gecachten layer werden in der geowebcache.xml in dem gwc-data-Verzeichnis gespeichert. Grundsätzlich sollten diese automatisch eingetragen werden in Zusammenspiel mit GS funktioniert dies aber (anscheinend) nicht und es werden keine Layer in die XML-Datei geschrieben.

Um einen vorgenerierten ArcGis-Tile-Cache als WMTS bereitzustellen müssen die Cache-Dateien in diesen Ordner kopiert werden und in der XML-Datei eingetragen werden. Dazu muss ein Arcgis-Layer-Element eingefügt werden. Siehe dazu die GWC-Dokumentation.6

Über die GWC-Web-Oberfläche kann danach ein Config-Reload erzwungen werden und der WMTS-Layer getestet werden.

4.2 SHAPEFILES Wenn möglich sollten Shape Files verwendet werden.

© 2015 Seite 46 von 60

Cookbook Aufbau U-GIS

Sie stellen den defakto Standard bei Vektordaten dar. Werden out oft he box vom Geoserver unterstützt Können neben ESRI Produkten auch mit anderen GIS Produkten, wie z.B. Q-GIS erzeugt und

bearbeitetet werden.

4.2.1 Shape File KonventionenFolgende Konventionen sind zu beachten:

Konvention

Länge der Feldnamen Maximal 10 Zeichen Die maximale Länge eines Feldnamen im Shape File sind 10 Zeichen.

.prj File .prj File muss vorhanden sein Damit die Projektion des Shape Files erkannt wird muss ein Projektion File (.prj) File vorhanden sein.

!!! Die Projektion muss der EPSG Projektion entsprechen damit sie auch automatisch vom Geoserver erkannt wird. Wenn nicht ist das .prj File nicht gültig !!!

CHARSET/CODE-PAGE .cpg File muss vorhanden sein Zu jeder Shapefile muss eine .cpg-Datei beiliegen, die den Charset („UTF-8“) als Inhalt hat. Siehe auch Kapitel 6

Label Spalten Datentyp muss „String/Text“ sein. Wenn ein davon abweichender Datentyp verwendet wird kann es zu Problemen bei der Label Darstellung kommen (Ins besonders wenn man automatische Tools zur Konversion von MXD Files verwendet).

Abbildung 56 Shape File Konventionen

UTF-8

Abbildung 57 Inhalt ".cpg" File (Codepage File)Anmerkung:

Bevor ein Shape file hinzugefügt werden kann muss man einen Workspace hinzufügen

4.2.2 Wie kann man ein UTF-8 encoded Shape File erzeugen?1. Rechter Mouse Klick auf das zu exportierende Feature

© 2015 Seite 47 von 60

Cookbook Aufbau U-GIS

2. „Export“ „to Shape File (single) …“ auswählen

Abbildung 58 ArcGIS 10.2.x Shape File export Dialog3. „Output Location“ eingeben4. „OutputFeature Class“ eingeben5. Optional „Expression“ angeben (Wenn nur eine Teilmenge verwendet werden soll)6. Optional „Field Map“ verändern (Wenn man Spalte Reihenfolge ändern will und / oder nur bestimmte

Spalten exportieren will).7. Ok Klicken

Abbildung 59 Ergebnis "exportiertes Shape File UTF-8 encoded"

© 2015 Seite 48 von 60

Cookbook Aufbau U-GIS

4.3 WIE KÖNNEN INDIVIDUELLE SLD FILES ERSTELLT WERDEN?

4.3.1 From Scratch über XML EditorWenn man ein SLD selbst erzeugen will findet man unter http://docs.geoserver.org/stable/en/user/styling/sld-cookbook/ entsprechende Anleitungen für Vektor Layer (Punkt, Linie, Polygon) bzw. Raster layer.

Dazu verwendet man am besten eine XM Editor seiner Wahl und referenziert das entsprechende XSD Schema.

<?xml version="1.0" encoding="UTF-8"?><StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">…</StyledLayerDescript>

Abbildung 60 SLD 1.0.0 (veraltert)

<?xml version="1.0" encoding="UTF-8"?><StyledLayerDescriptor

xmlns="http://www.opengis.net/sld"xmlns:ogc=“http://www.opengis.net/ogc“xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"version="1.1.0" xmlns:xlink="http://www.w3.org/1999/xlink"xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" xmlns:se="http://www.opengis.net/se">

…</StyledLayerDescript>

Abbildung 61 SLD 1.1.0 (aktuell)

Der Editor schlägt dann die zur Verfügung stehenden XML Tags vor.

Die Gültigkeit des SLD XML Files kann man vor dem hochladen auf folgende Arten überprüfen

Überprüfung Beschreibung

Well Formed Gültiges XML Dokument, d.h. alle XML Tags sind auch wieder geschlossen.

Valid Das XML Dokument entspricht in seiner Struktur (=Datenmodell) dem referenzierten XML Schema.

Abbildung 62 SLD File überprüfen.

4.3.2 Über GIS SoftwareLeider kann ArcGIS selbst kein SLD File exportieren. Wenn man ein SDL File erstellen will kann man dies folgendermaßen tun

© 2015 Seite 49 von 60

Cookbook Aufbau U-GIS

Produkt Workflow zur SLD erzeugung

QGis (Open Source Desktop GIS Produkt)

Layer hinzufügen und entsprechend stylen

Auf zu exportierenden Layer doppelklicken

Auf Layer rendering Style Save Style SLD File auswählen

An der gewünschten Stelle abspeichern

© 2015 Seite 50 von 60

Cookbook Aufbau U-GIS

GeoCat Bridge Exportiert ArcGIS MXD Files als Esri ArcGIS Plugin entweder lokal als SLD und Shape File, bzw. direkt auf den Server.

GBC muss installiert und mit der Lizenz aktiviert werden. Danach steht die Erweiterung als Toolbar zur Verfügung (muss evt. noch eingeblendet werden).

Die Funktionen und die Dokumentation kann über die Toolbar aufgerufen werden.

Der Configuration-Wizard muss übersprungen werden, da hier ein Metadata-Server verlangt(!) wird. Stattdessen kann über das Zauberstab-Tool unten neben dem Server-Auswahl-Feld eine GS-Instanz hinzugefügt werden. Pro GeoServer kann auch ein Arbeitsbereich konfiguriert werden.

Beim Exportieren kann sowohl Daten (map data) als auch der Style (symbology) ausgewählt werden. Links können einzelne Layer (de)aktiviert werden.

Zu Testzwecken kann unten ausgewählt werden, dass nur ein lokaler Export durchgeführt wird und keine Daten zur GS-Instanz kopiert werden.

Die GeoCat Bridge exportiert sowohl die Daten als Esri Shapefile als auch die Styles aus dem MXD Files als SLD Files.

Der Export funktioniert in den meisten Fällen problemlos

Bei komplexen Styles gab es folgende Probleme

Externe Grafiken (siehe Testbericht)

Lösung: Müssen Manuell auf GS hochgeladen werden und mit ExternalGraphic-Element in SLD eingebunden werden

SLD-Dokumente unterstützen externe Grafiken mit dem External-Graphics-Objekt. Dieses erlaubt mehrere Konfigurationen und auch die dynamische Darstellung von Grafiken abhängig vom Feature. Siehe dazu auch die GS-Dokumentation.5

Diese Änderungen müssen manuell im SLD-Dokument nachgetragen werden und können (anscheinend) nicht von GBC übernommen werden. Dazu müssen auch die Grafiken an einem per URL zugänglichen Ort liegen.

Dezimalzahlen in SLD-Dokumente (siehe Testbericht)

Lösung: GCB setzt teilweise Komma als Dezimaltrennzeichen, GS erwartet aber Punkt. Falls zutrifft (Fehlermeldung beim Exportieren) muss SLD-Dokument (Symbology) zuerst lokal exportiert werden und die Kommas in Punkte geändert werden. Danach kann das SLD-Dokument in GS als Style hochgeladen werden (Menüpunkt Stile). Dem betreffenden Layer muss der Style danach manuell als Standard-Style zugewiesen werden (Menüpunkt Layer – Layer auswählen – Veröffentlichungsoptionen – Styles/Stile)

Diagramme/Charts werden zu groß in GS dargestellt und überdecken Karte (siehe Testbericht)

Lösung: In dem SLD-Dokument des Layers müssen die Berechnungen manuell angepasst werden. Dies muss aber für jeden Layer einzeln gemacht werden, da die Ergebnisse der Berechnungen multipliziert/dividiert werden müssen um die gewünschte Größe der Balken zu erreichen.

GCB exportiert die Formeln für die Darstellung der Balken aus ArcMap anscheinend richtig, sie werden

5 http://docs.geoserver.org/2.6.x/en/user/styling/sld-extensions/pointsymbols.html#external-graphics

© 2015 Seite 51 von 60

Cookbook Aufbau U-GIS

aber viel zu groß Dargestellt und versperren somit den Blick auf die Karte.

© 2015 Seite 52 von 60

Cookbook Aufbau U-GIS

4.4 GEOSERVER REST APIDie Rest API ermöglicht die Administration (Deploy und Service Starten und Stoppen ohne User Interface und ist damit perfekt für das Automatisieren geeignet.

4.4.1 AllgemeinAuthentifizierungEs können nur berechtigte User Änderungen am GeoServer vornehmen

Die Authentifizierung erfolgt durch den parameter –u ${username}:${password} (z.B.: „-u admin:geoserver“).

AusgabeformatDurch die Angabe von „-H ‚Accept: text/xml“ wird das Ergebnis als XML zurückbegeben.

Durch die Angabe von „-H ‚Accept: text/json“ wird das Ergebnis als XML zurückbegeben.„-v“ Option (Verbose)Gibt mehr Information über die Operation in die Command Line zurück. Sollte man verwenden wenn man etwas ausprobieren will.--data-binary @Bedeutet dass nach dem Klammeraffen ein Filenamen kommt.

4.5 CURL

4.5.1 Was ist cURL?cURL (ausgeschrieben Client for URLs oder Curl URL Request Library) ist ein Kommandozeilen-Programm zum Übertragen von Dateien in Rechnernetzen. Das Programm cURL steht unter der offenen MIT-Lizenz und ist auf verschiedene Betriebssysteme portiert worden. Es ist Bestandteil der meisten Linux-Distributionen und auch von Mac OS X. Die zugehörige Programmbibliothek libcurl wird von zahlreichen Programmen und Programmiersprachen verwendet.

Wird im Cookbook für die Bedienung der Geoserver Rest Schnittstelle verwendet.

4.5.2 Installation Von http://curl.haxx.se/ herunterladen. entpacken.

Abbildung 63 entpackte Windows cURL Version

Der Windows Path Variable hinzufügen (Systemsteuerung\System und Sicherheit\System --> Erweiterte Systemeinstellungen Umgebungsvariablen der Path Variable "C:\work\tools\curl_X64_ssl\winssl;" (= Folder der entpackten curl dlls) hinzufügen). Dadurch kann man curl von jedem Folder aus aufrufen

Wie kann man die Installation überprüfen?In der Command Line einfach den Befehl "curl --version" eingeben

Abbildung 64 Überprüfen der cURL Installation es wird die installierte curl version und die unetrstützte Funktionalität ausgegeben.

© 2015 Seite 53 von 60

Cookbook Aufbau U-GIS

4.5.3 DokumentationDetaillierte Dokumentation zu cURL ist unter http://curl.haxx.se/docs/ zu finden.

4.6 ARCMAP INTEGRATION

Arc Map kann kein Styled Layer Descriptor File (SLD) erzeugen. Daher ist man auf Produkte Dritter angewiesen.

Diese Produkte werden als ArcGIS Erweiterung installiert.

4.6.1 GeoCat BridgeGeoCat Bridge Exportiert Daten und Styles als Shape und SLD File.

4.6.2 Arc2EarthArc2Earth muss installiert und mit der Lizenz aktiviert werden. Danach steht die Erweiterung als Toolbar zur Verfügung.

Die Funktionen und die Dokumentation kann über die Toolbar aufgerufen werden.

Über die Schaltfläche Export können die verschiedenen Funktionen aufgerufen werden. Um einen Tile-Cache zu exportieren muss das Format „ArcGIS Server Format“ gewählt werden – dies führt allerdings dieselben Schritte wie die in ArcMap inkludierten Tools aus (siehe Kapitel Error: Reference source not found) und ist daher sehr analog aufgebaut.

SLD-Dokumente können für einzelne Layer oder für alle exportiert werden. Für GeoServer ist es nützlich für jeden Layer einzelne SLD-Dokumente zu erstellen und so jedem Layer den jeweiligen Style zuzuweisen (über die GS-Web-Oberfläche). Diese Funktion konnte in der eingeschränkten Test-Version nicht getestet werden.

Mit Arc2Earth können keine Daten exportiert werden.

4.6.3 ArcGIS Server Cache verwendenDie andere Variante ist den inkludierten GWC zu patchen. Dies ist notwendig, da die inkludierte Variante nicht das Bereitstellen von vorgenerierten ArcMap Tile-Caches ermöglicht. Hierzu müssen folgende Schritte vorgenommen werden:

1. Stoppen der Tomcat-Applikation GS (gs)2. Download und Entpacken der Standalone GWC-Applikation6 (gwc)3. Die Datei geowebcache-arcgiscache-context.xml aus gwc/web-inf in das Java-Archiv gs-gwc-2.7.0

aus gs/web-inf/lib kopieren4. In die Datei geowebcache-servlet.xml aus dem Java-Archiv gs-gwc-2.7.0.jar aus gs/web-inf/lib (s.

oben) folgendes einfügen: <import resource=“geowebcache-arcgiscache-context.xml“/>

5. Die Datei gwc-arcgiscache-1.7.0.jar aus gwc/web-inf/lib nach gs/web-inf/lib kopieren

6 http://sourceforge.net/projects/geowebcache/files/geowebcache/

© 2015 Seite 54 von 60

Cookbook Aufbau U-GIS

4.7 INSTALLATION VON GEOSERVER PLUGINS

Eine ausführliche Liste aller Extension findet man auf der Website http://docs.geoserver.org/latest/en/user/extensions/index.html.

Üblicherweise wird die Extension als Java „jar“ File heruntergladen und in den Geoserver Folder „geoserver/WEB-INF/lib” folder kopiert.

Je nach Type der Extentsion müssen noch wenn erforderlich bestimmte Konfigurationseinstellungen vorgenommen werden (gemäß der Dokummentation).

Nach einem Neustart des Sverlet Containers (z.B. Tomcat) steht dann die gewünschte Funktionalität zur Verfügung.

Anmerkung: Je weniger zusätzliche Extensions verwendet werdeb, desto stabiler läuft der Geoserver.

4.7.1 Für die Tests verwendete Extensions

4.7.1.1 „Chart Symbolizer“ ExtensionDie „Chart Symbolizer“ Extension kann von folgender Website http://geoserver.org/release/stable/ ( Miscellaneous Chart Symbolizer) heruntergeladen werden und die „jar“ Files wie gewohnt ins „WEB-INF/lib“ Verzeichnis des Geoservers gespielt werden.

Danach können Charts durch SLD dargestellt werden.

Dokumentation zur Extension findet man unter folgenden Hyperlinks:

http://blog.geoserver.org/2009/06/01/geoserver-chart-extension/ 7 http://geoserver.geo-solutions.it/edu/en/pretty_maps/charting.html 8 http://gis.stackexchange.com/questions/120332/how-to-put-a-piechart-graphic-in-textsymbolizer-of-

a-geoserver-style9

4.8 PROBLEME MIT LÖSUNGEN

4.8.1 GeoServer User Interface auf Englisch statt auf Deutsch

7 8.9.20158 8.9.20159 8.9.2015

© 2015 Seite 55 von 60

Cookbook Aufbau U-GIS

Die UI Einstellungen wird aus den Sprachen ermittelt. nur auf Englisch setzten (Deutsch rauslöschen)

4.8.2 Sonstiges UTF8-Zeichen werden tlw. nicht richtig übernommen

o Lösung: GS+GCB unterstützen UTF8, möglicherweise muss eine .cpg-Datei zu jedem Shapefile angelegt werden mit dem selben Namen und dem Inhalt „UTF-8“

© 2015 Seite 56 von 60

Cookbook Aufbau U-GIS

5 BACKUP

5.1 GEOWEBCACHE

GWC ist eine Erweiterung für GS die WMTS ermöglicht. GWC ist in GS inkludiert, allerdings nicht alle Funktionen. Die unten aufgeführten Konfigurationen wurden mit GeoWebCache 1.7.0 getestet.

Um alle Funktionen nutzen zu können ist es möglich GWC als Standalone-Service zu installieren und die Konfiguration durch ein WMS zu aktivieren. Als WMS muss hier der WMS des GS angegeben werden. Dadurch fungiert der GWC als WMTS und leitet WMS an den Original-GS weiter.

5.1.1 ArcGis-Caching Die andere Variante ist den inkludierten GWC zu patchen. Dies ist notwendig, da die inkludierte Variante nicht das Bereitstellen von vorgenerierten ArcMap Tile-Caches ermöglicht. Hierzu müssen folgende Schritte vorgenommen werden:

1. Stoppen der Tomcat-Applikation GS (gs)2. Download und Entpacken der Standalone GWC-Applikation10 (gwc)3. Die Datei geowebcache-arcgiscache-context.xml aus gwc/web-inf in das Java-Archiv gs-gwc-2.7.0

aus gs/web-inf/lib kopieren4. In die Datei geowebcache-servlet.xml aus dem Java-Archiv gs-gwc-2.7.0.jar aus gs/web-inf/lib (s.

oben) folgendes einfügen: <import resource=“geowebcache-arcgiscache-context.xml“/>

5. Die Datei gwc-arcgiscache-1.7.0.jar aus gwc/web-inf/lib nach gs/web-inf/lib kopieren

5.1.2 GridsetIn GS muss das verwendete Gridset (entspricht dem Tiling-Scheme von ArcMap) erstellt werden. Siehe dazu Kapitel 6.

10 http://sourceforge.net/projects/geowebcache/files/geowebcache/

© 2015 Seite 57 von 60

Cookbook Aufbau U-GIS

6 GEOSERVER-TILING

Neben der Möglichkeit von ArcMap vorgenerierte Caches zu veröffentlichen, kann auch GS/GWC einen Cache aus einem Layer erstellen. Dadurch werden einige manuelle Schritte überfällig (siehe Kapitel 4.1), allerdings muss der Style des zu cachenden Layers in GS richtig sein (und funktionieren).

6.1 GRIDSET

Ähnlich dem Tiling-Schema (siehe Kapitel 4.1.1) muss auch GS/GWC ein Gridset übergeben werden, nach dem die Tiles erstellt werden sollen. Hierzu geht man in der GS-Weboberfläche auf „Gridsets“ (unter „Kartenkacheln-Cache“) und fügt ein neues Gridset mit den folgenden Daten hinzu:

Name Koordinatenreferenzsystem: EPSG:3857 Gridset-Grenzen: Von Koordinatensystem übernehmen Kachelbreite/-höhe: 256 Pixel Kartenteil-Matrix-Satz

o Definiere Gitternetz basierend auf: Scale denominatorso Zoomlevel wie in Kapitel 4.1.1 hinzufügen: Die scale-denominators vom GetCapabilities-

Dokument von www.basemap.at nehmen o Die Resolutions werden automatisch berechnet

Dieses Gridset muss danach beim Cache erstellen ausgewählt werden.

Das Gridset wird im geowebcache.xml gespeichert und kann somit aus anderen Containern kopiert werden wird allerdings nicht in GS gespeichert und muss somit in jeden Data-Container gespeichert werden. Das Gridset befindet sich auch im Anhang in Kapitel Error: Reference source not found. Da

6.2 CACHING STANDARDS

In der GS-Weboberfläche „Caching Standards“ (unter „Kartenkacheln-Cache“) auswählen.

Hier können einerseits die bereitgestellten Dienste konfiguriert werden. Somit kann die Art der GWC-Integration ausgewählt werden. Siehe dazu auch die GS-Dokumentation.11 Standardmäßig ist die direkte WMS-Integration deaktiviert (ungecheckt) und der WMTS Service aktiviert. Damit sind WMS und WTMS unabhängig voneinander aufrufbar. TODO – Beste Einstellung nach Anforderungen untersuchen

Die anderen Standard-Einstellungen können ebenfalls angepasst werden. Die hier ausgewählten Standard-Einstellungen werden für alle zukünftigen Layer vorgeschlagen bzw. auch beim Erstellen eines Caches sind nur diese (bzw. die manuellen Einstellungen je Layer) auswählbar.

Unter Standard-Cache-Gridsets müssen die zwei Standard-Gridsets entfernt werden und das Gridset aus Kapitel 6.1 hinzugefügt werden. Ansonsten muss dieser Vorgang bei jedem Layer einzeln erfolgen.

6.3 CACHE ERSTELLEN

Um einen vorhandenen GS-Layer zu cachen geht man in der GS-Weboberfläche auf „Gecachte Layer“ (unter „Kartenkacheln-Cache“). Hier nach dem gewünschten Layer suchen und unter Aktionen „Erzeugen“ klicken. Auf der GWC-SEED-Seite dann folgende Daten unten unter „Create a new task“ verwenden:

Number of tasks to user: ?? Type of operation: Seed – generate missing tiles (oder wie gewünscht) Grid Set: Das Gridset aus Kapitel 6.1 Format: image/png Zoom start: Min-Zoom-Level auswählen (Standard: 00) Zoom stop: Max-Zoom-Level auswählen (Standard: alle – 19)

11 http://docs.geoserver.org/stable/en/user/geowebcache/using.html

© 2015 Seite 58 von 60

Cookbook Aufbau U-GIS

Danach kann der Task über Submit gestartet werden. Der Task kann (je nach Cache-Größe) länger dauern und der Status kann über GWC abgerufen werden.

Die GWC-Startseite kann über den Link oben auf der Caching-Standards-Seite (siehe Kapitel 6.2) aufgerufen werden.

Ein ähnlicher Dialog zur Erstellung des Caches kann auch über den „Kartenkachel-Cache“-Tab auf der Eigenschaften-Seite des Layers aufgerufen bzw. gestartet werden. Hier gelten dieselben Eigenschaften, wobei hier nicht auf die Standard-Eigenschaften zurückgegriffen wird sondern manuell je Layer Einstellungen vorgenommen werden können.

Mit dem von GS/GWC gecachten Layer funktioniert auch die GetFeatureInfo-Abfrage.

6.4 CACHE EXPORTIEREN

Um den Cache mit der GS-Instanz zu kopieren (z.B.: zum Skalieren) müssen einige Dateien/Verzeichnisse kopiert werden:

geowebcache.xml LayerInfo-Datei Cache-Verzeichnis

Das Gridset ist in der geowebcache.xml (siehe Kapitel Error: Reference source not found) gespeichert. Die Layer werden nicht direkt hinzugefügt. Die geowebcache.xml kann mitkopiert werden um das Gridset nicht neu zu erstellen müssen.

Die LayerInfo-Datei beschreibt GWCs Eigenschaften/Einstellungen zu einem vorhandenen Cache. Diese liegen in einem gwc-layers-Verzeichnis im GeoServer-Data-Verzeichnis, das automatisch erstellt wird/wurde. Der Pfad lautet: %GS-PFAD%\data\gwc-layers\. Die jeweilige Datei für den Layer muss manuell durch öffnen gesucht werden, da die Namen zufällige Zeichenketten sind.

Das Cache-Verzeichnis mit den gecachten Bild-Dateien befindet sich in dem in Kapitel Error: Referencesource not found konfigurierten Verzeichnis (wie die geowebcache.xml). Hier findet man einen Ordner mit dem Layer-Namen. Dieser muss kopiert werden.

© 2015 Seite 59 von 60

Cookbook Aufbau U-GIS

7 PROBLEME

7.1 BESTEHENDE PROBLEME

Folgende Probleme bestehen noch und konnten bis zum aktuellen Zeitpunkt (Stand: 21.04.2015) nicht ausgebessert/behoben werden:

Annotations in GCB/GS (siehe Testbericht)o evt. Lösung: In SLD-Dokumenten gibt es ein „TextSymbolizer“-Element, dass Features als

Textdarstellen kann. Siehe dazu auch die GS-Dokumentation.12 Dieses TextSymbolizer-Element muss aber manuell hinzugefügt werden. QGIS kann zwar solche Feature-Beschriftungen erstellen und darstellen, speichert diese beim Export allerdings nicht in dem SLD-Dokument.

Tile-Cache bei ArcMap-Tilingo in GS anzeigen/mit Layer verknüpfeno GetFeatureInfo – funktioniert mit GeoServer-Tiling

Recherche bereits erfolgt – Siehe auch Testbericht zu den bestehenden Problemen

12 http://docs.geoserver.org/latest/en/user/styling/sld-reference/textsymbolizer.html

© 2015 Seite 60 von 60


Recommended