TileServer Manager
Allgemein
Über den TileServer Manager kann der aktuelle Status eingesehen und die wichtigsten Befehle direkt ausgeführt werden.

Oben steht die URL des TileServers und darunter der aktuelle Status. Unterhalb sind die Buttons/Funktionen vorhanden:
- STARTE RENDERER: Damit wird das Rendern von Kacheln/Tiles gestartet. Es startet das Prerendern der ausgewählten Kartendefinition. Es wird ein Render-Job initialisiert, der über
GetStatusbeobachtet werden kann. - RENDERER ABBRECHEN: Damit wird das Rendern der ausgewählten Karte abgebrochen. Der TileServer stoppt den aktuellen Job.
- CACHE LEEREN: Löscht die Kacheln der in der Auswahlliste gewählten Karte von der Festplatte und entfernt diese aus dem Hauptspeicher.
Zudem können hier direkt die wichtigsten Kommandos (oberhalb der Buttons) direkt ausgeführt werden:
| Kommando | Beschreibung |
|---|---|
| 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. |
Optionen beim Rendern von Karten
Im TileServer Manager 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.
Mit Bestätigung der OK-Schaltfläche werden die Tiles dann erstellt. Der Start ist an der CPU-Auslastung im Kartenserver deutlich erkennbar und wird als neuer Job im Status angezeigt. Auf der Festplatte wird in dem angegebenen Pfad z.B. CacheManager.BasePath=d:\\MapEdit\\tiles die Verzeichnisstruktur angelegt und die Kacheln dort gespeichert:

Alle Kacheln neu erzeugen
Wählen Sie diese Einstellung, wenn sie zum ersten Mal die Kacheln einer Karte erzeugen. Dieser Befehl löscht alle vorhandenen gerenderten Kacheln.
Nur fehlende Kacheln erzeugen
Wenn Sie bereits vorhandene Kacheln gerendert haben und diese auf den neusten Stand updaten wollen, wählen sie diese Option. Dabei werden die Kacheln einzeln überschrieben und nicht vorher alles gelöscht.
Minimal/Maximal Zoomlevel
Es gibt optional Möglichkeit gezielt bestimmte Zoomlevel-Bereiche, oder nur einen Zoomlevel-Bereich neu zu rendern. Wenn man hier nichts einstellt und so lässt, also 1 bis 28, wird das Rendern entsprechend den Einstellungen PrerenderZoomLevels und ValidZoomLevels in der TileServer.properties durchgeführt. Wird ein bestimmter Zoomlevel gewählt muss dieser aber immer innerhalb der generellen Einstellungen der Karte sein.
TileServer Befehle
Über den Link / Button im Kachel-Manager getstatus kann eine detaillierte Anzeige des TileServer geöffnet werden. Dort können auch weitere ausführbare TileServer Befehle/Kommandos unten auf der Seite in einer Auswahlliste ausgewählt werden:

| Kommando | Beschreibung |
|---|---|
| cancelprerenderer | Bricht das Prerendern komplett ab. |
| clearcache | Löscht alle Kacheln auf der Platte und im Speicher. |
| clearemptytiles | Leere Kacheln werden gelöscht. |
| 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. |
| invalidate | Hiermit können Kacheln an vorgegebenen Koordinaten aktualisiert werden. Detail siehe 'Kacheln mittels XML Datei aktualisieren' weiter unten. |
| 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 | Wenn eine neue TileServer.properties in WildFly geladen werden soll, kann hier über ein Upload diese geladen werden. |
Direkter URL-Aufruf
Fast alle Befehle/Kommandos können über eine URL gestartet und mit weiteren Parametern versehen werden.
Wir empfehlen immer den TileServer über den Parameter z.B. TileServer.Password=meinpassword zu schützen. Dann müssen alle URLs diesen Parameter mit übergeben, ansonsten wird der Befehl/Kommando nicht ausgeführt.
https://kartenserver:8080/TileServer/TileServlet?getstatus&Password=IhrPasswort
Ab TileServer Version 25.2.4 ist bei aktiviertem Passwort nur noch der Befehl getversion ohne Eingabe eines Passworts ausführbar.
Wir empfehlen einen direkten URL-Aufruf jedoch nur durchzuführen wenn Sie wissen was sie tun. Im Zweifel kann Ihnen unser Support oder Consulting Team gerne weiterhelfen.
Ab TileServer Version 25.2.4 oder höher gibt es den Parameter TileServer.ForceInputPassword=true, welcher in der TileServer.Properties gesetzt werden muss und verhindert dass man das Passwort per URL übergeben kann.
Das sollte aus Sicherheitsgründen zumindest bei aus dem Internet erreichbaren Servern aktiviert werden.
Dh. die folgenden URL-Aufrufe und Beispiele u.a. welche in geplanten Tasks eingebunden werden, können dann nicht mehr automatisiert ausgeführt werden.
Status anzeigen
https://kartenserver:8080/TileServer/TileServlet?getstatus
https://kartenserver:8080/TileServer/TileServlet?getstatus&Password=IhrPasswort
Kacheln neu rendern
https://kartenserver:8080/TileServer/TileServlet?prerender&force=true&map=Kartenname&Password=IhrPasswort
Der Befehl hat die folgenden möglichen optionalen Parameter:
| Parameter | Beschreibung |
|---|---|
| Password | Passwort sofern der TileServer über ein 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 dieser gleich true gesetzt, dann wird erzwungen, dass alle Kacheln neu gerendert werden, ansonsten werden nur fehlende Kacheln gerendert |
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
Beispiel mit force=true:
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 URL Befehle mittels "curl" oder "wget" in einem Windows Task ausführen lassen.
Das Kommando Curl ist 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&force=true&Password=meinPasswort" > NULL
curl -s "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=Wasser&force=true&Password=meinPasswort" > NULL
curl -s "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=Gas&force=true&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 angesprochen 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&force=true&Password=meinPasswort"
wget -q --output-document=- "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=Wasser&force=true&Password=meinPasswort"
wget -q --output-document=- "http://192.168.0.132:8080/TileServer/TileServlet?prerender&map=Gas&force=true&Password=meinPasswort"
REM pause
Kacheln im ausgewählten 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:

Kacheln mittels XML Datei aktualisieren (invalidate)
Mit dem Befehl "invalidate" können Kacheln anhand vorgegebener Koordinaten aktualisiert werden.
Diese Funktion wird zum Beispiel vom TileUpdater verwendet.
Beispiel:
In der Datei "TileServer.properties" wurde eine Karte "LasVegas" definiert.
Renderer.1.Maps.1.Name=LasVegas
Wir wollen nun das der TileServer alle Kacheln der Karte "LasVegas" an der Koordinate 667108.54/4004320.10 neu erzeugt.
Legen Sie im Verzeichnis
C:\inetpub\wwwroot\MumGeoData\TileUpdater\Invalidate\
Eine neue Text Datei an mit der Endung ".xml" an.
Für das Beispiel nennen wir die Datei
C:\inetpub\wwwroot\MumGeoData\TileUpdater\Invalidate\MeinTest.xml
Schreiben Sie in diese Datei nun den Name der Karte, den SRID und die Koordinaten.
Wenn Sie Kommentare einfügen wollen beginnen Sie die Zeile mit dem # Zeichen.
Beispiel:
#Mein Kommentar
Map=LasVegas
SRID=26911
Zoomlevels=1-16
Point=667108.54;4004320.1
Rufen Sie zum test diese Datei nun auf dem PC auf dem der TileServer installiert ist,
im Browser via URL auf und Sie sollten den Inhalt der Datei im Browser sehen.
Dieser test garantiert das der TileServer auf die Daten zugreifen kann.
http://localhost/MumGeoData/TileUpdater/Invalidate/MeinTest.xml
Diese Url muss nun URL kodiert werden.
Ersetzen Sie dazu den ':' durch den Wert %3a und '/' durch den Wert %2f.
http%3a%2f%2flocalhost%2fMumGeoData%2fTileUpdater%2fInvalidate%2fMeinTest.xml
Statt diese händisch zu machen können sie auch Online Tools wie https://www.urlencoder.org/ nutzen.
Mit der kodierten URL kann nun der TileServer aufgerufen werden.
http://localhost:8080/TileServer/TileServlet?invalidate&url=http%3a%2f%2flocalhost%2fMumGeoData%2fTileUpdater%2fInvalidate%2fMeinTest.xml&Password=meinPasswort
Dieser Befehl sagt dem TileServer das er alle Kacheln die an den in der XML angegeben Koordinaten der angegebenen Karte neu erzeugen soll.
Im "Tile Server Manager" Dialog können Sie danach sehen, dass Ihre Datei abgearbeitet wird und wann diese fertig ist.
Zur Erklärung
http://localhost:8080/TileServer/TileServlet?invalidate
ist der TileServer Befehl 'Invalidate'
Danach folgt hinter dem Parameter "url=" die kodierte URL der XML Datei in der ihre Koordinaten stehen.
Wenn Ihr TileServer mit einem Passwort geschützt ist, geben Sie hinter dem Eingabeparameter "Password=" das TileServer Passwort an.
Statt nur einer Koordinate können sie auch mehrere Koordinaten in der XML Datei angeben. Flächen können mit dem Schlüsselwort "Polygon" angegeben werden.
Beispiel:
Map=LasVegas
SRID=26911
Zoomlevels=4-16
Polygon=653728.51;4003720.43;653728.51;4018729.02;667022.35;4018729.02;667022.35;4003720.43;653728.51;4003720.43
Polygon=759704;4081392.22;759704;4081401.02;759858.63;4081401.02;759858.63;4081392.22;759704;4081392.22
Point=667108.54;4004320.1
Point=694431.66;3982583.02
Point=695070.41;3982630.35
Point=695596.14;3982676.44
Point=695950.94;3982707.76