gView.Cmd MxlUtil¶
Dieses Werkzeug stellt einige Methoden zur Verfügung, um wiederkehrende Aufgaben im Umfeld mit Map-Projektdateien (MXL) zu automatisieren:
PublishService: Eine Karte im gView MapServer veröffentlichen.
MxlDataset: Anzeigen und Anpassen von Verbindungseigenschaften einer MXL-Datei.
MxlToFdb: Kopieren aller Vektordaten eines Kartenprojekts in eine gView Feature Database. Das gView FDB-Format garantiert eine hohe Performance. Die Datenbank wird hier in SQL Server, PostGre oder Sqlite angelegt. Dieses Werkzeug kann verwendet werden, um Kartenprojekte offline verfügbar zu machen (alle Daten in einer Sqlite-Datenbank).
Bemerkung
Die folgenden Befehle werden im interaktiven Modus gezeigt. Dazu muss gView.Cmd.exe -i
aufgerufen werden. Ohne den interaktiven Modus müsste jedem hier gezeigten Befehl noch
gView.Cmd.exe --command
vorangestellt werden.
Der allgemeine Aufruf für dieses Werkzeug lautet:
Command:>MxlUtil -u <utiltiy-name> [parameters]
Als utility-name
kann eines der hier vorgestellten Optionen verwendet werden.
PublishService¶
Zum Publizieren von Kartendiensten können folgende Parameter übergeben werden:
Command:>MxlUtil -u publishservice
PublishService
--------------
Publish Mxl as gView Map Service
Required arguments:
-mxl <mxl-file>
-server <gview-server-url>
-service <servicename incl. folder ... folder/servicename>
Optional arguments:
-client <clientname>
-secret <clientsecret>
-mxl
: Pfad zum XML File-server
: Url der gView Instanz, über die der Dienst publiziert werden sollte-service
: Name des Services:{Verzeichnis}
/{Dienstname}
Beispiel:
Command:>MxlUtil -u publishservice -mxl c:\my-map.mxl -server https://localhost -service produktiv/my-service
Über die optionalen Parameter kann ein Client übergeben werden, über den der Dienst publiziert
werden sollte. In der Regel sollte man nicht jedem Benutzer erlauben, Dienste zu publizieren. Um das zu
steuern, kann der Administrator/Manager des gView MapServer Clients anlegen (in der Manager
Weboberfläche unter Security
). Für diese Clients können auf Service- und Verzeichnisebene Rechte
vergeben werden (Schloss-Symbol). Clients, die dort das Recht publish
für ein Verzeichnis bekommen,
dürfen Dienste publizieren.
Bemerkung
Werden für ein Verzeichnis keine Rechte eingestellt, werden jedem Anwender alle Rechte zugeteilt.
Command:>MxlUtil -u publishservice -mxl c:\my-map.mxl -server https://localhost -service produktiv/my-service -client publisher -secret pa3sw0rd
Bemerkung
Über die Kommandozeile kann nur ein gültiger Client angegeben werden. Hier kann nicht der Administrator übergeben werden. Möchte man über die Kommandozeile sicher Dienste publizieren, muss ein Client angelegt werden!
MxlDatasets¶
Hier können die Verbindungsparameter der Datasets innerhalb einer MXL-Datei angezeigt oder verändert werden. Ein Anwendungsfall kann sein, wenn Karten mit Verbindungen zu einer (lokalen) Testdatenbank entwickelt werden. Vor dem (automatisierten) Veröffentlichen können hier die Verbindungseigenschaften auf eine produktive Datenbank umgeschrieben werden.
Aufruf:
Command:>MxlUtil -u mxldatasets
Required arguments:
-mxl <mxl-file>
-cmd <info|modify-cs|modify-connectionstring>
Optional arguments:
-out-xml <name/path of the out xml>
Commands:
info
----
Shows all dataset connections and connection string parameters in the mxl file.
modify-cs|modify-connectionstring
---------------------------------
Changes the value of an parameter in a connection in the mxl file.
Required arguments:
-parameter|-parameter-name <name of the parameter>
-new-value|-new-parameter-value <set this value for the parameter>
Optional arguments:
-dsindex|-dataset-index <the index of the dataset you want change the parameter> default = -1 => all datasets
-mxl
: Pfad zum MXL-File-cmd
: Weitere Spezifikation des Commands, das für die Dataset-Verbindungen ausgeführt werden soll.
Optional:
-mxl-out
: Pfad zu einem MXL, das erstellt werden sollte (nur beimodify-connectionstring
). Wird kein Output XML angegeben, wird die ursprüngliche Datei überschrieben.
Command - Info
Dieses Kommando ist der Standard. Wird dieses oder kein Kommando übergeben, werden die Verbindungsparameter der einzelnen Datasets angezeigt:
Command:>MxlUtil -u mxldatasets -mxl C:\gview5\mxl\my-map.mxl
Dataset 0
==============================================================================
Type: gView.DataSources.MSSqlSpatial.DataSources.Sde.SdeDataset
ConnectionString:
------------------------------------------------------------------------------
Server=testdbserver
Database=gisdb
User Id=DB_READ
Password=*************
In der Auflistung der Datasets bekommt jedes Dataset eine Nummer (hier 0
). Möchte man später nur einen Parameter für ein bestimmtes
Dataset ändern, muss dies mit dem Parameter -dsindex
(siehe unten) angeführt werden.
Command - modify-cs|modify-connectionstring
Mit diesem Kommando können einzelne Connection Parameter geändert werden. Zusätzlich zu den oben angeführten Parametern müssen dazu noch folgende Parameter übergeben werden:
-parameter|-parameter-name
: Der Name des Parameters (z.B.server
), der geändert werden soll.-new-value|-new-parameter-value
: Der neue Wert für den Parameter.
Sollten mehrere Parameter geändert werden, müssen die Parameter in der Kommandozeile wiederholt werden.
Optional:
-dsindex|-dataset-index
: Sollte nur ein spezielles Dataset geändert werden, kann hier die Indexnummer des Datasets angegeben werden. Die Indexnummer kann aus dem oben gezeigteninfo
Kommando entnommen werden. Wird der Parameter nicht angegeben, werden die Parameter für alle Datasets geändert.
Beispiel:
Command:>MxlUtil -u mxldatasets -mxl C:\gview5\mxl\my-map.mxl -cmd modify-cs -parameter Server -new-value proddbserver -parameter password -new-value ProdPa3sw0rd -out-mxl C:\gview5\mxl\my-map-produktiv.mxl
Bemerkung
Die Verbindungsparameter werden sowohl beim Öffnen als auch beim Überschreiben überprüft. Ist mit den gegebenen Parametern keine Verbindung möglich, bricht das Programm ab. Ist eine MXL beschädigt und es kann mit den Verbindungsparametern keine Verbindung aufgebaut werden, kann dieses Werkzeug nicht verwendet werden. In diesem Fall muss das MXL-File über einen Texteditor repariert werden.
MxlToFdb¶
Kopieren aller Vektordaten eines Kartenprojektes in eine gView Feature Database. gView FDB ist ein Format, für das von gView eine hohe Performance garantiert wird. Die Datenbanken werden hier in SQL Server, PostGre oder Sqlite angelegt. Dieses Werkzeug kann verwendet werden, um Kartenprojekte offline zur Verfügung zu stellen (alle Daten in einer Sqlite Datenbank)
Command:>MxlUtil -u mxltofdb
MxlToFdb
--------
Copies all vector data in an MXL file to an FeatureDatabase (fdb) [SqlServer, PostGres or Sqlite).
The result is a new MXL file with the same symbology in changed connections to the new FeatureDatabase.
Example: Use this utitiity to make an existing database driven MXL to an 'offline' file driven (Sqlite)
MXL.
Required arguments:
-mxl <mxl-file>
-target-connectionstring <target fdb connection string>
-target-guid <guid or sqlserver|postgres|sqlite>
Optional arguments:
-out-xml <name/path of the out xml>
-dont-copy-features-from <a comma seperated list of layernames, where only an empty Db-Table-Schema is created>
-mxl
: Pfad zum XML-File-target-connectionstring
: Connection String zur Ziel-Feature-Database-target-guid
: GUID des Ziel-Datenbank-Plugins oder einfachsqlserver|postgres|sqlite
Optional:
-mxl-out
: Pfad zu einer MXL, die erstellt werden sollte. Wird kein Output-XML angegeben, wird die ursprüngliche Datei überschrieben.--dont-copy-features-from
: Eine Liste von Layern, die nicht kopiert werden sollten. Das Tool wird hauptsächlich dazu verwendet, bestehende Karten offline fähig zu machen, indem die Daten in eine SQLite-Datenbank geschrieben werden. Wenn (große) Datensätze einer Karte offline nicht zwingend notwendig sind, können sie hier angegeben werden. In der Zieldatenbank wird zwar das Schema dieser Tabellen angelegt, jedoch werden keine Daten kopiert.
Beispiel:
Command:>MxlUtil -u mxltofdb -mxl C:\gview5\mxl\my-map.mxl -target-connectionstring: c:\offline.fdb -target-guid sqlite -out-mxl C:\gview5\mxl\my-map-offline.mxl -dont-copy-features-from bigdata-layer1,bigdata-layer2