Zum Hauptinhalt springen

TileServer Manager

Allgemein

Über den TileServer Manager wird der Kachelserver angesprochen.

Kachel Renderer

Über diese Oberfläche wird:

  • das rendern gestartet (STARTE RENDERER)
  • das rendern abgebrochen (RENDERER ABBRECHEN)
  • Tiles aus dem Speicher und von der Festplatte gelöscht (CACHE LEEREN)

Des Weiteren werden Kommandos bereitgestellt:

  • den Status vom TileServer abfragen (GetStatus)
  • TileServer.properties neu laden (ReloadConfig)
  • erweiterte Konfigurationsdetails abfragen (GetExtendedConfig)
  • leere Kacheln laden (LoadEmptyTiles)
  • leere Kacheln speichern (SaveEmptyTiles)
  • Speicher löschen (ClearMemCache)

Weitere ausführbare TileServer Kommandos findet man unten auf der Seite GetStatus in einer Auswahlliste:

Kommandos

Bitte beachten

Fast alle diese Kommandos können über eine URL gestartet und mit weiteren Parametern versehen werden. Diese Parameter sind jedoch in Absprache mit MuM Consulting durchzuführen und werden hier nicht alle veröffentlicht.

Bitte beachten

Das Kommando SHOWLOG kann nicht mehr über den TileServer Manager aufgerufen werden, da die Logdatei sich jetzt in den Tiefen von Wildfly verbirgt und daher über die Wildfly Console aufgerufen werden muss.Logfile

Tipp

Die Liste der TileServer Funktionen und Kommandos finden Sie unten im Artikel TileServer Konfigurationsparameter.

TileServer Befehle

KommandoBeschreibung
Renderer abbrechen Das Rendern der ausgewählten Karte wird abgebrochen. Der TileServer stoppt den aktuellen Job.
Starte RendererStartet das Prerendern einer Kartendefinition. Es wird ein Job gestartet, der über getstatus beobachtet werden kann.
Cache leerenLöscht die Kacheln der in der Auswahlliste gewählten Karte von der Festplatte und entfernt diese aus dem Hauptspeicher.
SchließenEs wird nur dieses Fenster geschlossen, der TileServer kachelt weiter. Beim erneuten Aufruf dieses Fensters sehen Sie den Status. Besser jedoch verfolgen Sie den Vorgang des Kachelns über GetStatus.
GetstatusZeigt die Version vom TileServer und den aktuellen Status an.
GetExtendedConfigZeigt detailliert die Inhalte der Konfiguration der TileServer.Properties Zum Beispiel wenn ein zweiter TileServer eingebunden ist, werden auch diese Informationen der TileServer.properties mit angezeigt. Enthält alle Informationen über die Karten und die Renderer.
ReloadConfigLädt die Konfiguration der TileServer.Properties neu! Das muss bei Änderungen in der TileServer.Properties unbedingt durchgeführt werden.
LoadEmptyTiles Ermöglicht das erneute Abrufen von den leeren Kacheln. Beim Start vom TileServer (Wildfly in Verbindung mit einem TileServer und einer definierte Karten) werden die leeren Kacheln synchronisiert. Daher kann das Starten vom TileServer in Projekten mit vielen leeren Kacheln länger dauern. Leere Kacheln entstehen dort, wo keine Objekte aus z.B. einer MapGuide Karte vorhanden sind.
Damit nicht der TileServer komplett neu gestartet werden muss, gibt es hier die Möglichkeit, das Laden der EmptyTiles manuell anzustoßen.
SaveEmptyTilesLeere Kacheln werden nicht als einzelne *.png-Dateien abgespeichert, sondern zunächst nur im Browser Cache gespeichert. Über diese Funktion werden (ohne Neustart vom Wildfly) die leeren Kacheln auf dem entsprechenden Pfad der Kacheln in der _EmptyTiles.delta gespeichert.
ClearMemCache Löscht alle Kacheln, die sich im Memory befinden, löscht jedoch keine Kacheln von der Festplatte.
cancelprerendererBricht das Prerendern komplett ab.
clearcacheLöscht alle Kacheln auf der Platte und im Speicher.
clearemptytilesLeere Kacheln werden gelöscht.
clearmemcacheLöscht den Speicher ohne eine Datei (*.png) zu löschen.
clearwarningsLöscht alle Warnungen und Fehlermeldungen von gestatus und getstatusxml.
clearwebrequestcacheLöscht aus dem Speicher die Anfrage der RefSysInfo, da diese Informationen im Browser Memory gespeichert werden.
getextendedconfigSiehe oben.
getstatusSiehe oben.
getstatusxmlGetstatus in XML Format. Die letzten 10 Render-Jobs werden angezeigt.
getversionZeigt die Version der geladenen TileServer.war an.
loademptytilesSiehe oben.
readconfigZeigt den Inhalt der TileServer.properties.
reloadconfigNach Änderungen in der TileServer.Properties sollte dieser Befehl ausgeführt werden, da auch die TileServer.properties im Cache hängt.
reloadlogconfigWurden Änderungen in der log4j.properties gemacht, kann über diesen Befehl die Konfiguration neu geladen werden, ohne Wildfly neu zu starten.
saveemptytilesSiehe oben.
showlogZeigt den Inhalt der TileServer.log. Wenn zum Beispiel über getstatus eine rote Error- Meldung angezeigt wird, dann sollte man immer auch showlog anschauen.
synctodiskSynchronisiert den Memory Cache mit dem Plattenspeicher (wenn zum Beispiel von Außen Änderungen an Kacheln gemacht wurde/überschrieben).
writeconfigformNur für Professional Anwender! Wenn eine neue TileServer.properties in Wildfly geladen werden soll, kann hier über ein Upload die TileServer.properties geladen werden.

Optionen beim Rendern

Kacheln erzeugen

Im TileServer Manager im Dialog Kachel Renderer wird unten in der mittleren Auswahlliste die TileServer Karte für die Kachelung selektiert. Nach dem Starten des Renderers erscheint eine Abfrage, welche Kacheln denn gerendert werden sollen:

Nur fehlende Kacheln erzeugen

Wählen Sie diese Einstellung, wenn sie zum ersten Mal die Kacheln einer Karte erzeugen. Oder sollte das Rendern aus irgendeinem Grund unterbrochen worden sein (Stromausfall, MapGuide reagiert nicht mehr etc), wird noch mal Starte Renderer gestartet und Nur fehlende Kacheln erzeugen verwendet.

Alle Kacheln neu erzeugen

Wenn Sie bereits vorhandene Kacheln auf den neusten Stand updaten wollen. Dabei werden die Kacheln einzeln überschrieben und nicht vorher alles gelöscht. Das bedeutet, wenn aus irgendeinem Grund das Kacheln nicht komplett durchläuft (Stromausfall, MapGuide reagiert nicht mehr etc) hat man trotzdem alle Kacheln da, wenn auch nicht alle auf dem aktuellen Stand. Dieser Befehl löscht auch die live gerenderten Kacheln – es wird also der in der TileServer.properties angegebene ValidZoomLevel verwendet.

Weitere Optionen: Min./Max. Zoomlevel

Es gibt die Möglichkeit gezielt bestimmte Zoomlevel oder einen Zoomlevel Bereich neu zu rendern – ohne extra eine Änderung in der TileServer.properties zu machen. Wenn man hier nichts einstellt und so lässt, also 1 bis 28, wird das Kacheln entsprechend den Einstellungen in der TileServer.properties durchgeführt. Wird ein bestimmter Zoomlevel eingestellt, überschreibt dies nicht die Einstellungen der TileServer.properties. Jedoch werden dann nur die ausgewählten Zoomlevel gerendert.

Mit Bestätigung der OK-Schaltfläche werden die Tiles sodann gerechnet. Die Berechnung ist an der CPU-Auslastung im Kartenserver deutlich erkennbar. Es erfolgt die Speicherung der Tiles auf der Festplatte. Es wird in dem angegebenen Pfad die Verzeichnisstruktur angelegt und die Kacheln werden dort gespeichert:

Verzeichnisstruktur TileServer

TileServer direkt über URL Befehle ansprechen

Statt über den TileServer Manager können Sie auch direkt URL's im Internet Browser absetzen.

Wenn ihr TileServer Passwort geschützt ist müssen Sie das Passwort als Parameter in der URL mitgeben.

Beispiel:

https://kartenserver:8080/TileServer/TileServlet?getstatus&Password=IhrPasswort

Prüfen des Status

https://kartenserver:8080/TileServer/TileServlet?getstatus
https://kartenserver:8080/TileServer/TileServlet?getstatus&Password=IhrPasswort

Kacheln neu rendern

Beispiel

https://kartenserver:8080/TileServer/TileServlet?prerender&map=Kartenname

Der Befehl hat folgenden möglichen optionalen Parameter:

ParameterBeschreibung
PasswordPasswort wenn der TileServer Passwort geschützt ist
zoomlevelZoom Stufe die gerendert werden soll
zoomlevelfromVon Zoom Stufe die gerendert werden soll
zoomleveltoBis Zoom Stufe die gerendert werden soll
forcewird force=true gesetzt dann wird erzwungen das alle Kacheln neu gerendert werden, ansonsten werden nur fehlende Kacheln gerendert

Beispiele

https://kartenserver:8080/TileServer/TileServlet?prerender&map=Kartenname&Password=avs
https://kartenserver:8080/TileServer/TileServlet?prerender&map=Kartenname&Password=avs&zoomlevel=10
https://kartenserver:8080/TileServer/TileServlet?prerender&map=Kartenname&Password=avs&zoomlevelfrom=10&zoomlevelto=15

Beispiele mit erzwingen eines neu Renderns (force=true)

https://kartenserver:8080/TileServer/TileServlet?prerender&map=Kartenname&Password=avs&force=true
https://kartenserver:8080/TileServer/TileServlet?prerender&map=Kartenname&Password=avs&force=true&zoomlevel=10
https://kartenserver:8080/TileServer/TileServlet?prerender&map=Kartenname&Password=avs&force=true&zoomlevelfrom=10&zoomlevelto=15

Leere Kacheln entfernen

Wenn Kacheln aus unerklärlichen Gründen fehlen, dann entfernt der folgende Befehl alle leeren Kacheln in diesem Maßstab, so dass diese definitiv neu gerendert werden.

https://kartenserver:8080/TileServer/TileServlet?clearemptytiles&map=Grundkarte&zoomlevel=11

Log anzeigen

https://kartenserver:8080/TileServer/TileServlet?command=SHOWLOG

Automatisch alle X Tage alle Kacheln neu rendern

Wenn Sie alle X Tage alle Kacheln neu render wollen können Sie die unter "TileServer direkt über URL Befehle ansprechen" beschriebenen Befehle mittels "curl" oder "wget" in einem Windows Task ausführen lassen.

Das Kommando "Curl" is in Windows enthalten.
Das Tool "wget" für Windows finden Sie z.B. hier: https://eternallybored.org/misc/wget/

Erzeugen Sie eine .bat oder .cmd Datei und führen Sie darin die gewünschten URL Befehle aus.

Binden Sie dies in einen Windows Task ein um die Datei alle X Tage auszuführen.

Beispiel mit curl:

curl -s "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=LasVegas&Password=meinPasswort" > NULL
curl -s "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=WasserPassword=meinPasswort" > NULL
curl -s "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=Gas&Password=meinPasswort" > NULL

Beispiel mit wget

@echo off
REM ins wget-bin-Verzeichnis wechseln mit dem folgenden cd...
cd %~dp0%\bin
REM wget starten (q=keine Statusanzeige, output-document=Standardausgabe)
REM ...TileServlet?clearcache&map=Osnabrueck&zoomlevelfrom=18&zoomlevelto=27 -> in diesem Beispiel ist ab Level 18 das Live-Kacheln eingerichtet
REM und fuer die Live-Kachelung muessen die entsprechenden Verzeichnisse geleert werden
REM wget -q --output-document=- http://localhost:8080/TileServer/TileServlet?getversion
REM TileServlet?prerender&map=""Namen der Karte, die in der TileServer.Properties angesporchen werden soll
REM Force=1 -> gibt an, das alle Kacheln gerendert und ?berschrieben werden sollen (nicht vorher alle l?schen)
wget -q --output-document=- "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=LasVegas&Password=meinPasswort"
wget -q --output-document=- "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=Wasser&Password=meinPasswort"
wget -q --output-document=- "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=Gas&Password=meinPasswort"
REM pause

Kacheln im ausgewählen Bereich aktualisieren

Die Funktion bietet in MapEdit Desktop die Möglichkeit, Kacheln manuell und ganz gezielt an einem bestimmten Ort neu zu erstellen. Man zieht mit der linken Maustaste (gedrückt halten) ein Fenster über den gewünschten Bereich auf und es startet im Hintergrund der MuM TileServer. Sie müssen angeben, welche Karte neu gekachelt werden soll und ob über alle Zoomlevel oder nur über den aktuellen Zoomlevel. Dann startet der Kachel Renderer und arbeitet den Auftrag ab. Die Funktion kann in MapEdit Desktop unter den Werkzeugen bereitgestellt werden:

manuell Bereich kacheln