Zum Hauptinhalt springen

TileServer.Properties

Möchten Sie Karten (MapGuide oder WMS etc.) rendern – entweder vorrendern oder live rendern, dann müssen Sie zunächst den TileServer konfigurieren. Hier finden Sie Erläuterungen zur Anpassung der TileServer Konfiguration, die als TileServer.Properties gespeichert wird.

Bitte beachten

Alle Änderungen dieser Datei führen sie bitte im AppBuilder aus!

Hintergrundinformation: Die Datei befindet sich auf dem Kartenserver im Installationsverzeichnis vom Wildfly: C:\WildFly\standalone\configuration (Tomcat: C:\Program Files\Apache Software Foundation\Tomcat x.x\conf).

Ribbons der TileServer Konfiguration

RibbonBeschreibung
Damit wird die Konfigurationsdatei TileServer.properties in den einfachen AppBuilder Editor geladen und die Inhalte angezeigt. Im Editor selbst kann die Datei manuell bearbeitet werden. Nach dem Bearbeiten kann die Konfiguration gespeichert werden.
Die Inhalte der TileServer.properties können in die Zwischenablage kopiert und in einem externen leistungsstarken Editor bearbeiten werden. Dort fügen Sie dann die Zwischenabklage ein und können beispielsweise den Text übersichtlicher formatiert anzeigen und bearbeiten.
Damit kann die TileServer.properties geleert werden (mit vorheriger Sicherheitsabfrage).
Haben Sie Textinhalte aus dem externen Editor von dort aus in die Zwischenablage kopiert, können Sie die Inhalte in den einfachen Editor aus der Zwischenablage einfügen. Nach dem Bearbeiten kann die Konfiguration gespeichert werden.

Die Ebenen einer TileServer.properties

tilesever.properties (Ebene TileServer)
#-----------------------------------
#Configuration file for TileServer
#-----------------------------------

#base path of cache for tiles, use \\ instead of \ (a single bashlash is the escape character
#absolute paths and relative paths (relative to Tomcat directory) are allowed
CacheManager.BasePath=d:\\TileServerData

#number of threads rendering on one server in parallel
Renderer.NumberOfThreads=4

TileServer.Defaults.ValidZoomLevels=12-22
TileServer.Defaults.PrerenderZoomLevels=12-19
tileserver.properties (Ebene Renderer)
#-----------------------------------
#renderer settings
#-----------------------------------

#MapGuide
Renderer.1.TypeMapGuide
Renderer.1.URL=https://*****/mapguide/mapagent/mapagent.fcgi
Renderer.1.Username=Administrator
Renderer.1.Password=*****

#WMS
Renderer.2.Type=WMS
Renderer.2.URL=http://*****/wms_topplus_web_open

Renderer.21.Type=WMS
Renderer.21.SERVICE=WMS
Renderer.21.NumberOfThreads=2
Renderer.21.URL=http://*****:9080/cgi-bin/mapserv.exe

#URL
Renderer.3.Type=URL
Renderer.3.Source=OpenStreetMap
Renderer.3.Maps.1.Name=OSM
Renderer.3.Maps.2.Name=OSM_World

#transformed maps
Renderer.4.Type=Transform
tileserver.properties (Ebene Map)
#-----------------------------------
# Demoprojekt
#-----------------------------------

#Mapdefinitions

Renderer.1.Maps.1.Name=*****_Katasterkarte
Renderer.1.Maps.1.MapDefinition=Library://*****/DemoMapDefinition
Renderer.1.Maps.1.TileSystem=CustomBing
Renderer.1.Maps.1.RefSysInfoFile=http://*****/MumGeoData/RefSysInfo/RefSysInfo*****.xml

Renderer.2.Maps.1.Name=*****
Renderer.2.Maps.1.Layers=web
Renderer.2.Maps.1.TileSystem=CustomBing
Renderer.2.Maps.1.RefSysInfoFile=http://*****/MumGeoData/RefSysInfo/RefSysInfo*****.xml
Renderer.2.Maps.1.SRS=EPSG:31467

Tipps und Tricks für die Konfiguration

  • Bearbeiten Sie die Datei von oben nach unten. Kommentare beginnen mit #. Nach dem Bearbeiten klicken Sie bitte auf speichern.
  • Es gibt mehrere Ebenen in der TileServer.properties: TileServer ➝ Renderer ➝ Map Die Vorgaben werden in dieser Reihenfolge weitergegeben und können auch in der untergeordneten Ebene überschrieben werden. D.h. die Einstellungen der Mapdefinitions überschreiben die Einstellungen des Renderers und des TileServers.
  • für einen Renderer können beliebig viele Karten eingerichtet werden.
  • Es können auch mehrere Renderer angegeben werden, wobei jeder Renderer eine freie Nummer erhält.
  • Bei jeder weiteren Mapdefinition muss die Zahl eindeutig sein (Renderer.1.Maps.2.), denn der Name wird im TileServer Manager aufgelistet und dort ausgewählt (beim Vorrendern).
  • Es können unterschiedliche RefSysInfo.xml verwendet werden – wenn Sie z.B. als Dienstleister unterschiedliche Projekte verwalten und verschiedene Regionen (Koordinatenbereiche) in den Projekten dargestellt werden. In diesem Fall muss jedem Projekt in den Optionen die richtige RefSysInfo.xml zugewiesen werden.
Tipp

Die Parameter für den MuM TileServer, die in der TileServer.Properties angewendet werden können, finden Sie unten im Artikel TileServer Konfigurationsparameter.

TileServer Konfigurationsparameter

TileServer.Password

Ist der TileServer von außen erreichbar, können Sie ein Passwort eingeben, um unbefugte Änderungen zu verhindern. Momentan wird bei allen Befehlen außer GETEXTENDEDCONFIG, GETKML, GETSTATUS, GETSTATUSXML, GETTILE, GETTILESKML und GETVERSION das Passwort abgefragt.

Das Passwort muss in der TileServer Konfiguration eingetragen werden, sonst kann dieses in MapEdit nicht geladen werden. Ebenso muss das Passwort bei manuell ausgeführten Befehlen in der URL mit angegeben werden, z.Bsp.: http://localhost:8080/TileServer/TileServlet?clearcache&map=WASSER&zoomlevelfrom=17&zoomlevelto=2&password=ChangeMeNow!

Und nicht vergessen, auch im TileUpdater muss das Passwort eingetragen werden!

Beispiel

Password for executing advanced commands like clearcache, prerender etc. TileServer.Password=ChangeMeNow!

TileServer.Defaults.UseBufferToPreventPartials

Beim Kacheln kommt es vor, dass Texte oder Symbole abgeschnitten auf Kacheln angezeigt werden oder auch fehlen, weil sich der Einfügepunkt des Textes/Symboles auf einer anderen Kachel befindet. Dann kann man diesen Wert =true setzen. Dadurch wird das Rendern etwas verlangsam, weil dann ein Puffer um Texte und Symbole gelegt wird, der wiederum dafür sorgt, das Texte/Symbole auf allen Kacheln abgebildet werden.

Beispiel

Use a buffer around tiles during rendering to prevent partial text or symbols? (default=false) enable it for maps containing texts, which are clipped by the source map server TileServer.Defaults.UseBufferToPreventPartials=true

Renderer.1.Maps.1.BufferNumberOfTiles

Ergänzung zur TileServer.Defaults.UseBufferToPreventPartials=true

Es tritt teilweise das Problem auf das bei sehr großen Texten oder Symbolen, diese beim Kachel erzeugen abgeschnitten erscheinen. In der TileServer.properties kann man angeben, wie groß der Buffer sein soll und kann dem entgegen steuern. 0.5 (also eine halbe Kachel) ist die Standardeinstellung.

Beispiel

configurable size of buffer around rendered tiles, default is 0.5 (half a tile) Renderer.1.Maps.1.BufferNumberOfTiles=1

CacheManager.BasePath

Hier wird angegeben in welchem Verzeichnis die Kacheln auf der Festplatte gespeichert werden sollen. Sie können einen absoluten Pfad eingeben, dabei ist zu beachten, dass \\ anstatt \ gesetzt wird. Oder einen relative Pfad, der sich auf das Tomcat Verzeichnis bezieht:

TileServerData = C:\Program Files\Apache Software Foundation\Tomcat 7.0\TileServerData

Über GETSTATUS im TileServer Manager können Sie prüfen, wo die Kacheln gespeichert werden:

Beispiel

base path of cache for tiles, use \\ instead of \ (a single backslash is the escape character) absolute paths and relative paths (relative to Tomcat directory) are allowed

CacheManager.BasePath=TileServerData CacheManager.BasePath=D:\\MapEdit\\tiles

CacheManager.CacheSize

Die maximale Anzahl der Kacheln im Speicher-Cache wird dynamisch berechnet, abhängig vom verfügbaren Speicher des TileServers! Entfernen Sie den Eintrag CacheManager.CacheSize=50000 in der Datei TileServer.properties um die automatische Berechnung zu aktivieren!

Renderer.NumberOfThreads

Abarbeitungssteuerung bei der Ausführung der Programme. Bei MapGuide liegt die Empfehlung bei 2-4 (je nach Prozessoren!!) und für WMS kann der Wert deutlich höher gesetzt werden (4-8). Je höher der Wert gesetzt ist, desto besser ist die Geschwindigkeit beim Rendern.

Beispiel

number of threads rendering on one server in parallel

Renderer.NumberOfThreads=4

TileServer.Defaults.ValidZoomLevels

Gibt den Zoom-Bereich vor, bei dem auf Live-Kacheln zugegriffen wird und wenn diese noch nicht vorhanden sind, werden diese live gekachelt (on demand). Es besteht auch die Möglichkeit, ohne PreRender.ZoomLevel zu arbeiten. Dann werden die Kacheln nur erstellt, wenn in MapEdit in die Karte gezoomt wird – die Kacheln werden dann live erstellt. Das macht zum Beispiel Sinn, wenn das Gebiet der Karte so groß ist, das ein PreRendern für ZoomLevel 21 zu lange dauert.

Beispiel

TileServer.Defaults.ValidZoomLevels=1-21

Renderer.Default.PreRenderZoomLevels

Gibt die Zoomlevels an, die vorgerendert werden sollen.

Beispiel:

TileServer.Defaults.PreRenderZoomLevels=1-21

ValidZoomLevel und PreRenderZoomLevels können oben in den allgemeinen Optionen als Defaults gesetzt werden. Dann werden diese Werte auf die unten folgenden Mapdefinitions übertragen (wenn bei den Mapdefinitions keine Werte gesetzt sind). Alternativ können beide Werte für jede Mapdefinition einzeln gesetzt werden (macht Sinn, wenn Mapdefinitions mit unterschiedlichen Zoomstufen gekachelt werden sollen!). Diese Werte überschreiben die Default Angaben.

Renderer.1.Maps.1.ValidZoomLevels=12-21
Renderer.1.Maps.1.PreRenderZoomLevels=12-19

In diesem Beispiel werden Kacheln von ZoomLevel 12-21 erstellt. Da jedoch nur ZoomLevel 12-19 vorgerendert wird, wird im ZoomLevel 20 und 21 live gerendert (on demand). Wenn ein Anwender auf Zoomlevel 20 zoomt (Bahnhofstraße 1) startet in dem Moment automatisch der TileServer und kachelt den gewählten Ausschnitt (Bahnhofstraße 1) und schreibt diese Kacheln auch in die angegebenen Verzeichnisse. Zoomt ein anderer Anwender später auf diese Bereich (Bahnhofstraße 1), dann merkt der TileServer dass diese Kacheln schon vorhanden sind und kachelt diese nicht noch einmal! Wenn kein Default Wert in der TileServer.Properties verwendet wird, muss jede Karte eigene ValidZoomLevels bekommen!

Renderer.1.ProxyHost

Wird ein Renderer angesprochen, der auf einem durch einen Proxy geschützten Server läuft, dann muss der Proxy angesprochen werden und das Passwort eingetragen werden. Es wird der Host, der Port und der Proxy Type benötigt.

Beispiel

use a proxy server?

Renderer.1.ProxyHost=my.proxy.domain
Renderer.1.ProxyPort=12345
type of the proxy (HTTP or SOCKS)
Renderer.1.ProxyType=SOCKS

is authentication required for accessing the proxy? (else just remove the two lines below)

Renderer.1.ProxyUser=proxyuser
Renderer.1.ProxyPassword=proxypassword

Renderer.1.HTTPUser

Es wird die HTTP Authentifizierung für WMS, OSM und MapGuide Server unterstützt. Die Eingaben erfolgen bei der Definition der Renderer.

Beispiel

WMS renderer settings

Renderer.2.Type=WMS
Renderer.2.URL=http://www.wms.nrw.de/umwelt/wasser/uesg

set additional options to be passed to the WMS server in the request

Renderer.2.HTTPUser=Test
Renderer.2.HTTPPassword=changeme

Renderer.1.Type=MapGuide

Hier wird der Zugriff auf MapGuide angegeben, mit der URL und dem Kennwort auf den MapServer. Auch kann der Renderer deaktiviert werden, z.B. wenn man auf einem Offline Laptop nur Kacheln verwenden möchte und dort kein MapGuide installiert ist: Renderer.1.IsActive=false

Es kann auch ein zweiter MapGuide Server angesprochen werden, dann muss eine freie Nummer vergeben werden!

Beispiel

renderer settings

Renderer.1.Type=MapGuide
Renderer.1.URL=http:// servername/mapserver2015/mapagent/mapagent.fcgi
Renderer.1.Username=Administrator
Renderer.1.Password=admin
Renderer.1.IsActive=true
Renderer.2.Type=MapGuide
Renderer.2.URL=http:// servername2/mapserver2015/mapagent/mapagent.fcgi
Renderer.2.Username=Administrator
Renderer.2.Password=admin
Renderer.2.IsActive=true

Renderer.2.Type=TileServer

Es kann ein zweiter TileServer angesprochen werden, um die Last besser zu verteilen, sowohl ein weiterer MapGuide Server als auch ein weiterer Tomcat TileServer.

Beispiel

renderer settings

Renderer.2.Type=TileServer
use multiple TileServers in a load balancing
Renderer.2.URL=http://servername2:8080/TileServer/TileServlet
Renderer.2.SyncEmptyTiles=true

Renderer.1.Type

Beispiel:
example config for generic URL:
Renderer.1.Type=URL
Renderer.1.URL=http://myserver/{ZoomLevel}/{X}/{Y}.{Format}
Renderer.1.Maps.1.Name=MyTiles

Renderer.1.Source (OpenStreetMap)

Hinweis:

Achten Sie darauf die Nutzungsrichtlinien des OSM-Servers einzuhalten, um zu verhindern, dass Ihr TileServer auf eine schwarze Liste gesetzt wird!

Dies bedeutet eine Begrenzung der RendererThreads auf maximal 2 und die Begrenzen der Zoomstufen entsprechend der Quelle. Es können Platzhalter in der URL angegeben werden:

  • {ZoomLevel}: zoom level (1-28)
  • {X}: tile number in X-direction
  • {Y}: tile number in Y-direction
  • {Format}: Bildformat (png etc.)
Beispiel:

example config for OpenStreetMap:

Renderer.1.Type=URL
Renderer.1.Source=OpenStreetMap
Renderer.1.Maps.1.Name=OSM

Renderer.1.Source (OpenTopoMap)

MapEdit und MapEdit Mobile können auch freie topographische Karten von OpenTopoMap (http://opentopomap.org) einbinden. Diese bieten nicht nur eine an die amtliche topographische Karte (TK) angelegte Darstellung sondern auch eine Schummerung der Höhenunterschiede auf Basis von SRTM Höhendaten. Mit diesem Dreizeiler in der Konfiguration wird die entsprechende Karte definiert und kann später auch auf das lokale System des Kunden transformiert werden. Wie gewohnt lässt sich die Karte dann in MapEdit und auch MapEdit Mobile einbinden und ist bei Namensnennung kostenfrei nutzbar (CC-BY-SA Lizenz).

Beispiel:

example config for OpenTopoMap:

Renderer.1.Type=URL
Renderer.1.Source=OpenTopoMap
Renderer.1.Maps.1.Name=OpenTopoMap

Renderer.1.Type (WMS)

Wird eine WMS Karte in MapEdit eingebunden, dann sollte diese Karte gekachelt werden. Sonst wird die WMS Karte immer Live über das WWW abgerufen und beeinflusst die Performance der Auskunft negativ. Der Nachteil beim Kacheln ist, das die Karte eventuell nach einiger Zeit nicht mehr aktuell ist. Dann einfach die automatische Aktualisierung verwenden (TileRefreshPeriod)! Es werden die gültigen Angaben von URL, SRS und Layer benötigt! Die Angabe von MapRequestOptions erwartet auch die Angabe von Service=wms.

::caution Hinweis Angefragt wird die Version 1.1.1. - die WMS Version 1.3.0 wird noch nicht unterstützt. :::

Es gibt die Möglichkeit Layers und Styles abzufragen. Mehrere Layers werden durch Komma getrennt angegeben.

Beispiel:
Renderer.8.Type=WMS
Renderer.8.URL=http://www.geodaten.bayern.de/ogc/ogc_denkmal.cgi
Renderer.8.Maps.1.Name=WMS_Bodendenkmal
Renderer.8.Maps.1.TileRefreshPeriod=30d
Renderer.8.Maps.1.TileSystem=CustomBing
Renderer.8.Maps.1.Layers=bodendenkmalO
Renderer.8.Maps.1.RefSysInfoFile=http://servername/MumGeoData/RefSysInfo/RefSysInfo.xml
Renderer.8.Maps.1.SRS=EPSG:31468
Renderer.8.Maps.1.Extents.XMin=4564780
Renderer.8.Maps.1.Extents.XMax=4574800
Renderer.8.Maps.1.Extents.YMin=5293535
Renderer.8.Maps.1.Extents.YMax=5302056
Renderer.8.Maps.1.Styles=default
Renderer.8.Maps.1.ValidZoomLevels=13-21
Renderer.8.Maps.1.PreRenderZoomLevels=13-21
Renderer.8.Maps.1.PreRenderNumberOfTilesX=4
Renderer.8.Maps.1.PreRenderNumberOfTilesY=4

ohne Zugriff auf die RefSysInfo im Koordinatensystem lat/long

WMS

renderer settings

Renderer.2.Type=WMS
Renderer.2.URL= http://wms.geo.admin.ch/
Renderer.2.Maps.1.TileRefreshPeriod=30d
Renderer.2.Maps.1.TileSystem=Bing
Renderer.2.Maps.1.Name=Ortschaften_PLZ
Renderer.2.Maps.1.Layers=ch.swisstopo-vd.ortschaftenverzeichnis_plz
Renderer.2.Maps.1.Styles=default
Renderer.2.Maps.1.SRS=EPSG:4326
Renderer.2.Maps.1.Extents.XMin=5.8
Renderer.2.Maps.1.Extents.XMax=10.6
Renderer.2.Maps.1.Extents.YMin=45.8
Renderer.2.Maps.1.Extents.YMax=47.9

WMS – MapGuide Karte als WMS bereitstellen

Renderer.2.Type=WMS
Renderer.2.URL=http://servername/mapguide2011/mapagent/mapagent.fcgi
Renderer.2.Maps.1.Name=PoiWMS
Renderer.2.Maps.1.TileSystem=CustomBing
Renderer.2.Maps.1.Layers=Osnabrueck/Layer/PoiLayer
Renderer.2.Maps.1.SRS=EPSG:21781
Renderer.2.Maps.1.RefSysInfoFile=http://servername/Osna/RefSysInfo.xml

Renderer.1.Type (Transform)

Für die Transformation von OpenStreetMap Karten wird der Basis Renderer Type=URL/Source=OpenStreetMap benötigt (siehe oben) und darauf wird über die BaseMap der Bezug hergestellt: Renderer.3.Maps.1.BaseMap=OSM Und die BaseMap ist die Karte, die transformiert wird. Transformiert werden können beliebige Basiskarten in ein beliebiges Zielsystem. Dabei ist es egal, ob die Ausgangskarte von einem WMS, OSM oder MapGuide stammt. Transformierte Kacheln werden aktualisiert, wenn die Kacheln der zugrunde liegenden Basiskarte geändert werden (nicht in einem festen Intervall!).

Beispiel:

renderer settings

Renderer.2.Type=URL
Renderer.2.Source=OpenStreetMap
Renderer.2.Maps.1.Name=OSM
Renderer.2.Maps.1.ValidZoomLevels=12-16
Renderer.2.Maps.1.PreRenderZoomLevels=12-16

transformed maps

Renderer.3.Type=Transform
Renderer.3.Maps.1.Name=OSM_Transform
Renderer.3.Maps.1.BaseMap=OSM
Renderer.3.Maps.1.TileSystem=CustomBing
Renderer.3.Maps.1.RefSysInfoFile=http://localhost/MumGeoData/RefSysInfo/RefSysInfo.xml
Renderer.3.Maps.1.ValidZoomLevels=12-16
Renderer.3.Maps.1.PreRenderZoomLevels=12-16

Renderer.2.Type (Combined)

Ab der TileServer-Version 2.2.5 kann man nicht nur schneller vorrendern, sondern auch vorhandene Karten zu einer neuen kombinieren. Ein typischer Anwendungsfall: Im MapEdit-Projekt gibt es eine Karte mit ALKIS-Daten als Hintergrund für andere Karten. Weiter gibt es fachspezifische Karten wie Gas, Wasser usw. Üblicherweise bindet man eine Karte ALKIS ein, die immer im Hintergrund angezeigt wird und zusätzlich kann man die themenspezifischen Karten einschalten. Es kann aber auch die ALKIS-Karte mit den fachspezifischen Karten als eine neue Karte zusammengefasst werden. Dadurch wird vom Client nur noch eine Kachel geladen, statt zwei übereinander gelegt. Gerendert werden immer die Einzelkarten und danach fasst sie der TileServer automatisch zusammen. Kombiniert werden die Karten immer von links nach rechts. Hier würde also zuerst die Karte Alk und dann darauf Wasser bzw. Gas gezeichnet. Es können beliebig viele Karten zusammengefasst werden. Die Karten müssen alle das gleiche TileSystem verwenden (die RefSysInfo kann sich aber unterscheiden). Kartenausdehnung (Extents+Subextents) sowie die verfügbaren Zoomlevel werden an die Quellkarten angepasst. Bei Änderungen an Kacheln der Basiskarten (wenn zum Beispiel der TileUpdater läuft), wird der betroffene Bereich der zusammengefassten Karte automatisch verworfen und automatisch neu erstellt. Der Zeitaufwand für das Zusammenfassen ist sehr gering und wenn die Kacheln der einzelnen Karten schon vorhanden sind, benötigt man kein Vorrendern! Man sollte dann natürlich den gesteigerten Platzbedarf auf der Serverfestplatte durch die zusätzlichen Karten bedenken. Hinweis: Eignet sich wunderbar für MapEdit Mobile, da dort ALKIS und die Fachschalen kombiniert angezeigt werden.

Beispiel:

Beispielkonfiguration:

Renderer.1.Maps.6.Name=Alk
Renderer.1.Maps.6.MapDefinition=Library://MapEdit/Grundkarte/Alk.MapDefinition
Renderer.1.Maps.6.TileSystem=CustomBing
Renderer.1.Maps.6.RefSysInfoFile=http://gisdemo.mum.de/Tiles//RefSysInfo.xml
Renderer.1.Maps.7.Name=Gas
Renderer.1.Maps.7.MapDefinition=Library://MapEdit/Gas/Gas.MapDefinition
Renderer.1.Maps.7.TileSystem=CustomBing
Renderer.1.Maps.7.RefSysInfoFile=http://gisdemo.mum.de/Tiles//RefSysInfo.xml
Renderer.1.Maps.8.Name=Wasser
Renderer.1.Maps.8.MapDefinition=Library://MapEdit/Wasser/Wasser.MapDefinition
Renderer.1.Maps.8.TileSystem=CustomBing
Renderer.1.Maps.8.RefSysInfoFile=http://gisdemo.mum.de/Tiles//RefSysInfo.xml
renderer settings combined maps
Renderer.2.Type=Combined
Renderer.2.Maps.1.Name=AlkWasser
Renderer.2.Maps.1.BaseMaps=Alk,Wasser
Renderer.2.Maps.2.Name=AlkGas
Renderer.2.Maps.2.BaseMaps=Alk,Gas

TileSystem (CustomBing)

Wird als TileSystem das CustomBing verwendet, dann muss eine RefSysinfo angegeben werden, aus der die Einstellungen (SRS, CRS, MIN/MAX X/Y) genommen werden.

Beispiel:

Mapdefinitions

Renderer.1.Maps.1.Name=ALKIS
Renderer.1.Maps.1.MapDefinition=Library://ALKIS_Entenhaus/ALKIS.MapDefinition
Renderer.1.Maps.1.TileSystem=CustomBing
Renderer.1.Maps.1.RefSysInfoFile=http://servername/MumGeoData/RefSysInfo/RefSysInfo.xml

TileSystem (Bing)

Wird als TileSystem nur Bing angegeben, wird keine RefsysInfo benötigt. Die SRID und die Extents müssen dann direkt mit angegeben werden und es geht nur mit Lat/Lon Koordinatensystem! Das TileSystem=Bing kann auch auf MapGuide Karten angewendet werden, dann muss jedoch der MapGuide Karte schon das Koordinatensystem Lat/Lon zugewiesen werden.

Beispiel:

WMS renderer settings

Renderer.2.Type=WMS
Renderer.2.URL= http://wms.geo.admin.ch/
Renderer.2.Maps.1.TileSystem=Bing
Renderer.2.Maps.1.Name=Ortschaften_PLZ_CH
Renderer.2.Maps.1.Layers=ch.swisstopo-vd.ortschaftenverzeichnis_plz
Renderer.2.Maps.1.Styles=default
Renderer.2.Maps.1.SRS=EPSG:4326
Renderer.2.Maps.1.Extents.XMin=5.8
Renderer.2.Maps.1.Extents.XMax=10.6
Renderer.2.Maps.1.Extents.YMin=45.8
Renderer.2.Maps.1.Extents.YMax=47.9

TileRefreshPeriod

Hier kann ein Zeitraum/Intervall festgelegt werden, nach dem die Kacheln einer Karte automatisch erneuert werden. Es muss zum Beispiel für das Abrufen und Kacheln von WMS Karten kein Task eingerichtet werden, der nach einem bestimmten Zeitraum die Kacheln aktualisiert! Das kann über die Angabe TileRefreshPeriod durchgeführt werden. Erläuterung: 14d= bei Abfrage der Kachel in MapEdit wird das Änderungsdatum der Kachel geprüft und wenn dieses älter als 14 Tage ist, dann erstellt der TileServer automatisch die Kachel neu. Es werden Zahlenwerte eingegeben und ein Leerzeichen zwischen Wert und Einheit ist erlaubt.

Mögliche Einheiten:

  • d - Tag
  • h - Stunde
  • m - Minuten
  • s - Sekunden
Beispiel:

Erneuert die Kachel nach 30 Tagen.

Renderer.2.Maps.9.TileRefreshPeriod=30d

RenderNumberOfTiles

Hier kann angegeben werden, wie viele Kacheln für eine MapGuide Karte erzeugt werden.

Hinweis

Der Anwender sollte die vorgegebenen Werte aber nur ändern, wenn er von MuM Consulting dazu aufgefordert wird. Wenn die Werte nicht gesetzt sind, werden automatisch die optimalen Vorgabewerte benutzt!

Beispiel:

Vorrendern:

Renderer.1.Maps.1.PreRenderZoomLevels=13-21
Renderer.1.Maps.1.PreRenderNumberOfTilesX=4
Renderer.1.Maps.1.PreRenderNumberOfTilesY=4

Live rendern:

Renderer.1.Maps.1.ValidZoomLevels=13-21
Renderer.1.Maps.1.RenderNumberOfTilesX=3
Renderer.1.Maps.1.RenderNumberOfTilesY=3

Dieser Eintrag führt dazu, dass eine Anfrage an MapGuide 9 Kacheln groß (768x768 Pixel) ist.

EXTENTS

Beispiel: Die ALKIS Karte beinhaltet einige Randgemeinden, da der Kunde auch die Versorgung dieser Ortschaften unter Vertrag hat. Für das MapEdit Projekt wird daher eine RefSysInfo.xml verwendet, die einen großen Koordinatenbereich beinhaltet – also auf die Grenzen der ALKIS Karte angepasst ist. Jedoch liegen die Daten z.B. von Fernwärme nur innerhalb des Stadtgebietes. Um die Anzahl der Kacheln für Fernwärme auf den benötigten Bereich zu beschränken, können für die Fernwärme Mapdefinition sogenannte Extents eingetragen werden (die Koordinaten holt man am besten aus einem Bildaufbau über alle Daten der Fernwärme aus AutoCAD Map): Es können auch mehrere Extents für eine Karte definiert werden, diese können auch direkt aneinander grenzen, anstatt zu überlappen.

Beispiel:

Mapdefinitions

Renderer.1.Maps.4.Name=WASSER
Renderer.1.Maps.4.MapDefinition=Library://WASSER/Wasser.MapDefinition
Renderer.1.Maps.4.TileSystem=CustomBing
Renderer.1.Maps.4.RefSysInfoFile=http://servername/MumGeoData/RefSysInfo/RefSysInfo.xml
Renderer.1.Maps.4.PreRenderZoomLevels=12-21
Renderer.1.Maps.4.Extents.1.XMin=604727.6091
Renderer.1.Maps.4.Extents.1.YMin=6002924.0350
Renderer.1.Maps.4.Extents.1.XMax=607241.7499
Renderer.1.Maps.4.Extents.1.YMax=6005875.743
Renderer.1.Maps.4.Extents.2.XMin=602271.0068
Renderer.1.Maps.4.Extents.2.YMin=5997468.0558
Renderer.1.Maps.4.Extents.2.XMax=609221.0916
Renderer.1.Maps.4.Extents.2.YMax=6002944.7948
Renderer.1.Maps.4.Extents.3.XMin=604846.2819
Renderer.1.Maps.4.Extents.3.YMin=5996202.5431
Renderer.1.Maps.4.Extents.3.XMax=605750.4270
Renderer.1.Maps.4.Extents.3.YMax=5997467.7506
Renderer.1.Maps.4.BufferNumberOfTiles=1

SUBEXTENTS

Es besteht auch die Möglichkeit Gebiete zu definieren, ohne die Einschränkungen der Extents in der RefSysInfo.xml des Projektes! *.UseTileSystemExtentsAsSubExtents=true Wird diese Option angewendet, dann können die angegebenen Extents ausserhalb der Extents der RefSysInfo liegen. Das wird zum Beispiel für Strom Innenleben/Internals benötigt, die bei 0/0 liegen.

Hinweis

Wenn möglich verwenden Sie keine sich überlappenden Extents, da diese beim Rendern langsamer sind als nicht-überlappende.

Beispiel:

Mapdefinitions

Renderer.1.Maps.4.Name=Strom
Renderer.1.Maps.4.MapDefinition=Library://STROM/Strom.MapDefinition
Renderer.1.Maps.4.TileSystem=CustomBing
Renderer.1.Maps.4.RefSysInfoFile=http://servername/MumGeoData/RefSysInfo/RefSysInfo.xml
Renderer.1.Maps.1.UseTileSystemExtentsAsSubExtents=true
Renderer.1.Maps.1.Extents.1.XMin=0
Renderer.1.Maps.1.Extents.1.YMin=0
Renderer.1.Maps.1.Extents.1.XMax=1000
Renderer.1.Maps.1.Extents.1.YMax=1000