Weitere Informationen
Diese Beschreibung ist in Bearbeitung und gilt nur Versionen höher 25.2.120
Was passiert bei Karten hinzufügen/aktualisieren
- Das Programm liest welche Ebenen die Karte(n) verwendet
- Welche Datenbankverbindung eine Ebene verwendet
- Welche Tabelle/View die Ebene verwendet.
- Welche Spalten die Ebene verwendet.
- Für Ebenen die Tabellen verwenden werden Trigger angelegt.
- Für Ebenen die Views verwenden werden keine Trigger angelegt da man keine Trigger auf Views anlegen kann.
Was passiert beim Ausführen
Für alle Datenbanken, aller bei der Ausführung gewählten Karte(n), werden XML Dateien erzeugt. Diese XML Dateien enthalten die Koordinaten der geänderten Datensätze.
Auch für Karten die nicht an der Ausführung beteiligt sind aber eine dieser Datenbanken benutzen werden XML Dateien erzeugt. Die Dateien befinden sich Auf Ihrem MapEdit Server im VerzeichnisC:\inetpub\wwwroot\MumGeoData\TileUpdater\Invalidate
Danach werden aus dem Änderungsprotokoll (Tabelle ME_TILEUPDATE_LOG) aller beteiligten Datenbanken die bearbeiten Datensätze entfernt.
Dann werden alle XML Dateien der gewählten Karten an den Tile Server gesendet, dieser Rendert damit die betroffenen Kacheln neu. In Schritt 1 erzeugte XML Dateien von nicht gewählten Karten werden nicht zum Tile Server gesendet. Dies geschieht erst zum Zeitpunkt wenn diese Karte(n) ausgeführt werden.
Das Aktualisieren der Kacheln wird vom Tile Server durchgeführt nicht vom Tile Updater! Mit dem "Tile Server Manager" kann beobachtet werden, wann der Tile Server die Kacheln aktualisiert. D.h. nur weil nach der Tile Updater durchgelaufen ist und die UI wieder aktiv ist, bedeutet das nicht, dass alle Kacheln bereits neu gerendert wurden. Die Kacheln sind erst fertig gerendert, wenn der Tile Server diese fehlerfrei verarbeitet hat.
Das Register "Kartenebenen"
Diese Übersicht zeigt für jede Datenbank, welche Tabellen und Spalten von welchen Kartenebenen und Karten verwendet werden.
Wenn Sie einen Datensatz umändern dann wird diese Änderung nur als solche erkannt wenn die Tabelle und Spalte in dieser Liste für die Karte aufgeführt ist und sich der Wert auch tatsächlich geändert hat. Eine Änderung auf den gleichen Wert ist keine Änderungen!
Beachten Sie das Änderungen an Views welche die Methode "NoTrigger" haben nicht im Änderungsprotokoll angezeigt werden. Solche Änderungen können erst beim Zeitpunkt des Ausführens ermittelt werden und sind nur in der XML Datei sichtbar.
Bei "Letzte Dauer" sehen Sie wie lange das lesen der Datensätze gedauert hat. Dies erscheint nur bei Views welche die Methode "NoTrigger" haben.
Bei "Base Tables" sehen Sie bei Views welche Tabellen an dem View beteiligt sind. Tabellen die mit einem Stern gekennzeichnet sind reine Attribut Tabellen die keine Geometrie haben.
In der Tabelle sehen Sie viele "..." Knöpfe.
Diese Knöpfe diesen nicht zur Konfiguration sondern diese öffnen die Datenstruktur Definition der jeweiligen Tabelle.
Dort können im Register Daten auch Datensätze Testweise geändert werden.
Wenn bei "Base Tables" mehrere Tabellen stehen wird die erste Tabelle der Liste geöffnet.
Das Register "Änderungsprotokoll"
Hier wird der Inhalt der Tabelle ME_TILEUPDATE_LOG angezeigt.
D.h. Hier können Sie sehen welche Datensätze sich geändert haben. Im oberen Bereich sehen Sie eine Zusammenfassung der Änderungen je Datenbank und Tabelle. Wenn Sie links '[ALL]" wählen sehen Sie alle Änderungen aller Datenbankverbindungen.
Hier werden nur Änderungen angezeigt die mittels Triggern protokolliert wurde.
Datensatzänderungen von Views/Tabellen welche die Methode "NoTrigger" haben werden hier nicht angezeigt!
In der Spalte KEY steht die FID oder Primär Schlüsselspalte. Es kann sein das bei Views bei KEY -1 steht. Die kann vorkommen wenn der View keine FID/ID Spalte hat. Die spielt bei Views weiter keine Rolle da die Spalte im Fall von Views nur zur Information vorhanden ist.
Im Unterregister "Error Log" werden ggf fehlgeschlagene Triggerausführungen aus der Tabelle ME_TILEUPDATE_TRG_ERR angezeigt.
Die Tabelle beinhaltet maximal die 2000 Fehler, die jeweils Letzen Fehler werden hierbei überschrieben.
Hier aufgeführte Fehler deuten ggf auch auf eine Misskonfiguration der Relations Trigger hin.
Das Register "Statistik"
Hier sehen Sie für jede Datenbank wie viel Zeit der Tile Updater zum Ausführen gebraucht hat.
Dies Zeit enthält NICHT die Dauer die das Render der Kacheln benötigt hat.
Außerdem sehen Sie dort wie viele Datensätze geändert wurden.
Für spezifizierte Tabellen keine Trigger verwenden
Wenn es an einer Tabelle sehr sehr sehr viele Änderungen gibt kann die Methode "NoTrigger" in Sonderfällen Vorteile haben, auch wenn diese langsamer ist.
Durch "NoTrigger" wird die LOG Tabelle nicht gefüllt und die Änderungen erst zur Ausführungszeit des Tile Updaters ermittelt.
Log leeren
Löscht den Inhalt der Tabelle "ME_TILEUPDATE_LOG".
Durch das löschen werden die gelöschten Änderungen dann natürlich nicht ausgeführt und die betroffen Kacheln nicht erneuert.
Test SQL Scripte
Um das Programm mehrfach zu testen können Sie mit Test Script Änderungen via SQL simulieren.
Beispiel:
update BUS_ROUTE set ROUTE_COLOR='Test124' where FID=2543826; -- Setzen
update BUS_ROUTE set ROUTE_COLOR='Test123' where FID=2543826; -- Zurück setzen
update bus_stop set orientation = 99; -- Setzen
update bus_stop set orientation = 98; -- Zurueck setzen
Diese SQL ändern jeweils ein Feld um und setzen es dann wieder zurück. Dadurch werden die Trigger ausgelöst und die Änderungen in die LOG Tabelle geschrieben.
Vergessen Sie nicht das zurück setzen der Werte, ansonsten wird der Trigger beim nochmaligen Ausführen nicht ausgelöst das dann keine Änderung passiert.
Den Knopf zum aufsetzen der SQLs finden Sie hier. Rechts daneben befindet sich ein Knopf zum ausführen.
Die aufgesetzten Scripts können optional auch mit dem Ausführen des Tile Updaters ausgeführt werden.
Werkzeuge -> Kacheln Rendern wiederholen
Hiermit können Render Vorgänge wiederholt werden.
Die kann z.B. hilfreich sein wenn der Tile Server mitten im Render herunter gefahren wurde u.a.
Ein wiederholen ist nur möglich solange die XML Dateien noch vorhanden sind.
D.h. wenn die Option "Xmls nach x Tagen löschen" zu klein eingestellt ist sind diese ggf nicht mehr vorhanden.
Werkzeuge -> Kacheln löschen
Löscht alle Kacheln ausgewählter Karten.
Werkzeuge -> Datenbanken ohne Trigger
Wenn Sie für bestimmte Datenbanken keine Trigger verwenden wollen, z.B. weil dies Ihr Datenbank Admin nicht erlaubt, können Sie hier diese festlegen.
Die muss vor dem Hinzufügen der Karte geschehen welche die Datenbank(en) verwendet.
Werkzeuge -> Karte hinzufügen (Full Re-Render Mode)
Fügt Karten hinzu im Modus "Full Re-Render" hinzu.
Karten mit diesem Modus werden beim ausführen immer komplett neu gerendert.
Es werden dann keine Trigger etc angelegt.
Somit kann man die Zeitplanung des Tile Updaters auch für Karten benutzten die man einfach nur komplett neu rendern will.
Werkzeuge -> Alle TileUpdater Trigger entfernen Ver 25.2 und höher
Entfernt alle Tile Updater Trigger/Funktionen. Der TileUpdater wird damit jedoch nicht mehr funktionieren!
Nach dem löschen wird das Programm autonmatisch neu gestartet.
Durch "Karte aktualisieren" können die erforderlichen Trigger und Funktionen wieder angelegt werden.
Werkzeuge -> Alle TileUpdater Trigger entfernen Ver 25.1 und kleiner
Entfernt Tile Updater Trigger die durch alte Tile Updater Versionen entstanden sind.
Werkzeuge -> TileUpdater Token der MapEdit.Executor.ini hinzufügen
siehe Kapitel Konfiguration und Ausführen
Werkzeuge -> Konfiguration exportieren
Exportiert die im Register "Karten Ebenen" gemachten Einstellungen die dort für jede Datenbank gemacht wurden wie Relations Trigger Einstellungen, Tabellen ohne Trigger und Skripte.
Dies kann dazu genutzt werden Einstellungen für Kunden vorzubereiten oder um Einstellungen von einem Rechner auf einen anderen zu übertragen.
Einstellungen des Registers "Karten" werden nicht exportiert.
Werkzeuge -> Konfiguration importieren
Importiert die exportierten Einstellungen.
Hier kann gewählt werden für welche Datenbanken die Konfiguration importiert werden soll.
Vorhandene Einstellungen werden ggf überschrieben!
Nach dem Import wird der AppBuilder neu gestartet.
Danach muss der Anwender zwingenden alle Karten aktualisieren damit die Einstellungen gereifen.
Werkzeuge -> Dateien für MuM Hotline erzeugen
Erzeugt eine ZIP Datei mit den aktuellen Einstellungen für die Hotline/Entwicklung
Werkzeuge -> Weitere Einstellungen
- Wieviel Tage die XML beibehalten werden sollen. Je länger der Zeitraum ist desto länger haben Sie die Möglichkeit ein Rendern zu wiederholen.
Das Löschen findet erst beim nächsten Ausführen des TileUpdaters statt. Der Tile Updater löscht dann alle Dateien, die zu diesem Zeitpunkt älter als X Tage sind. Wenn der Tile Updater nicht ausgeführt wird, werden die Dateien nicht gelöscht!
- Log Fids in XML
In den Invalidate XML Dateien sind die Informationen an welchen Stellen Geometrien geändert wurden. Bei Linie und Flächen Geometrien steht hier jeweils POLYGON und die Bounding Box (Min-Max Geometrie) des Features.
Wird der Schalter "Log Fids in XML" aktiviert dann werden weitere Informationen wie die FID als Kommentare in die XML geschrieben. Diese Informationen haben für das Programm keine Bedeutung und sind nur zur Fehleranalyse sinnvoll.
- Der Kommentar "old" ist die Geometrie Boundingbox vor der Änderung, also ein gelöschter Bereich.
- Der Kommentar "new" ist einen Geometrie Boundingbox nach der Änderung.
- Kein Kommentar bedeutet das die Boundingbox vor und nach der Änderung gleich ist. Das kann bedeuten das sich an der Geometrie des Features an der Stelle nichts geändert hat. Oder das sich die Geometrie nur innerhalb der Boundingbox geändert hat. Bedenken Sie das auch wenn sich nichts an der Geometrie ändert aber ein Attribut eines Features geändert wurde diese eine Auswirkung auf die Grafik haben kann. Beispiel ein Attribut bestimmt die Farbe eines Symbols.
Sie sollte diese Option immer nur im Fehlerfall und nur temporär einschalten um Fehler zu analysieren.
Wenn diese Option aktiviert wird dann werden die Dateien grösser und brauchen mehr Zeit zur Abarbeitung. Desweiteren werden gleiche Geometriebereiche dann NICHT automatisch zusammengefasst, da ansonsten im XML nicht optisch gesehen werden kann woher die einzelnen Daten stammen.
Beispiel:
#ConnectionName=LASVEGAS
#TableName=BUS_STOP
Map=LasVegas_MapServer
SRID=26911
#133643
Point=666574.98;4007056.01
#133643
Point=666574.98;4007056.01
#133644
Point=666565.34;4006849.3
#133644
Point=666565.34;4006849.3
#TableName=BUS_ROUTE
#2543821 old
Polygon=657877.38;3987864.91;657877.38;4012872.94;659071.46;4012872.94;659071.46;3987864.91;657877.38;3987864.91
#2543821 new
Polygon=657877.38;3987864.91;657877.38;4012872.94;659071.46;4012872.94;659071.46;3987864.91;657877.38;3987864.91
#End