TileServer Manager
Allgemein
Über den TileServer Manager wird der Kachelserver angesprochen.
Ü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:
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.
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.
Die Liste der TileServer Funktionen und Kommandos finden Sie unten im Artikel TileServer Konfigurationsparameter.
TileServer Befehle
Kommando | Beschreibung |
---|---|
Renderer abbrechen | Das Rendern der ausgewählten Karte wird abgebrochen. Der TileServer stoppt den aktuellen Job. |
Starte Renderer | Startet das Prerendern einer Kartendefinition. Es wird ein Job gestartet, der über getstatus beobachtet werden kann. |
Cache leeren | Löscht die Kacheln der in der Auswahlliste gewählten Karte von der Festplatte und entfernt diese aus dem Hauptspeicher. |
Schließen | Es 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 . |
Getstatus | Zeigt die Version vom TileServer und den aktuellen Status an. |
GetExtendedConfig | Zeigt 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. |
ReloadConfig | Lä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. |
SaveEmptyTiles | Leere 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. |
cancelprerenderer | Bricht das Prerendern komplett ab. |
clearcache | Löscht alle Kacheln auf der Platte und im Speicher. |
clearemptytiles | Leere Kacheln werden gelöscht. |
clearmemcache | Löscht den Speicher ohne eine Datei (*.png) zu löschen. |
clearwarnings | Löscht alle Warnungen und Fehlermeldungen von gestatus und getstatusxml. |
clearwebrequestcache | Löscht aus dem Speicher die Anfrage der RefSysInfo, da diese Informationen im Browser Memory gespeichert werden. |
getextendedconfig | Siehe oben. |
getstatus | Siehe oben. |
getstatusxml | Getstatus in XML Format. Die letzten 10 Render-Jobs werden angezeigt. |
getversion | Zeigt die Version der geladenen TileServer.war an. |
loademptytiles | Siehe oben. |
readconfig | Zeigt den Inhalt der TileServer.properties . |
reloadconfig | Nach Änderungen in der TileServer.Properties sollte dieser Befehl ausgeführt werden, da auch die TileServer.properties im Cache hängt. |
reloadlogconfig | Wurden Änderungen in der log4j.properties gemacht, kann über diesen Befehl die Konfiguration neu geladen werden, ohne Wildfly neu zu starten. |
saveemptytiles | Siehe oben. |
showlog | Zeigt den Inhalt der TileServer.log. Wenn zum Beispiel über getstatus eine rote Error- Meldung angezeigt wird, dann sollte man immer auch showlog anschauen. |
synctodisk | Synchronisiert den Memory Cache mit dem Plattenspeicher (wenn zum Beispiel von Außen Änderungen an Kacheln gemacht wurde/überschrieben). |
writeconfigform | Nur 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:
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:
Parameter | Beschreibung |
---|---|
Password | Passwort wenn der TileServer Passwort geschützt ist |
zoomlevel | Zoom Stufe die gerendert werden soll |
zoomlevelfrom | Von Zoom Stufe die gerendert werden soll |
zoomlevelto | Bis Zoom Stufe die gerendert werden soll |
force | wird 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: