1. Home
  2. MapEdit Desktop
  3. Starten per URL Parameter

Starten per URL Parameter

Der Aufruf von MapEdit Desktop kann über Parameter gesteuert werden. Das ist dann hilfreich um z.B. von anderen Programmen aus die Anwendung automatisiert zu starten und Informationen (Karte, Position, Sachdaten) anzuzeigen.

Allgemeines Beispiel zum Aufruf per URL über drei mögliche Varianten:

Über die Befehlszeile:

„\\MUM-THIL-NB2\MapEdit\MapEditStarter\MapEdit.exe“ Username=THOMAS.HILLER@MUM.DE~Password=12345

Über die MapEdit.RemoteControl.exe:

mapeditdesktop://Execute?Username=THOMAS.HILLER@MUM.DE&Password=12345

Über die MapEdit.RemoteControl.Listener.exe:

http://localhost:60026/mum.geo.services/RemoteControl.html?Username=THOMAS.HILLER@MUM.DE&Password=12345

Die letzten beiden Beispiele verwenden die Zusatzprogramme MapEdit.RemoteControl.exe oder MapEdit.RemoteControl.Listener.exe. Hierzu gibt es ein extra Artikel der die Unterschiede und Möglichkeiten beschreibt.

Basis Parameter

Nach dem ? darf kein Leerzeichen und nach dem “ (erstes Beispiel oben Befehlszeile) muss eines vorhanden sein.

Wird MapEdit Desktop nicht über einen Browser aufgerufen, sondern über ein Programm (z.B. AutoCAD), dann müssen diese Parameter statt mit & durch ~ getrennt werden.

Username und Password

Der Benutzername ist die Groß/Kleinschreibung nicht relevant, allerdings muss beim Passwort und allen anderen Parametern diese beachtet werden.

Beispiele:

Username=Thomas.Hiller@mum.de&Password=Geheim%21

Username=THOMAS.HILLER@MuM.de&Password=NULL

Alle Werte hinter einem Parameter und dessen „=“ müssen URL Endcoded sein. Dies gilt generell für alle Parameter. Dh. wenn als Wert z.B. ein Leerzeichen oder ein & und ~ übergeben werden sollen, müssen diese als URL codieren. Siehe auch Beispiele bei Filter.

Wird kein Kennwort vergeben, dann muss in der URL bei Password NULL angeben werden. Der Benutzer muss also sein Passwort eingeben und anschließend wird MapEdit mit allen anderen Parameterwerten gestartet.

Project (optional)

Es kann zudem der Projektname übergeben werden.

Username=THOMAS.HILLER@MUM.DE&Password=Geheim%21&Project=GIS

Sprache (optional)

Es kann per URL auch die Sprache eingestellt werden.

  • Language=en für English
  • Language=de für Deutsch
  • Language=fr für Francaise
  • Language=it für Italiano

Beispiel:

mapeditdesktop://Execute?Username=THOMAS.HILLER@MUM.DE&Password=12345&Project=GIS&Language=de

Tooltips (optional)

Mit diesem Parameter kann man die Tooltipps automatisch ein / auschalten.

Tooltips=On bzw Tooltips=Off

Beispiele:

Username=THOMAS.HILLER@MUM.DE&Password=Geheim%21&Project=GIS&Tooltips=On

Command=Highlight&ConnectionName=STROM&TableName=EL_POINT&Key=101&ZoomLevel=18&Tooltips=Off

ActiveDirectory (optional)

Damit wird geschaltet ob Active Directory dh. die Windows Benutzerverwaltung und Authentifizierung benutzt wird. (siehe auch Starten von MapEdit)

Beispiel: ActiveDirectory=1

In der MapEdit.ini kann dieser Parameter auch gesetzt werden. Sofern er dort vorhanden ist, muss dieser als Parameter nicht nochmals gesetzt werden. Denkbar wäre eben nur für parametrisierte Zugriffe diese Option zu nutzen.

Weitere Parameter

Es gibt derzeit fünf verschiedene Kommandos (command) welche unterschiedliche Funktionen bereitstellen. Diese haben jeweils unterschiedliche Parameter, können bzw. müssen mit den Basis Parametern kombiniert werden:

  • Highlight
  • OpenDialog
  • Switchlayer
  • Zoom
  • Custom

Man kann nicht mehrere Kommandos innerhalb des gleichen Aufrufs angeben. Also man kann nicht z.B. OpenDialog und SwitchLayer miteinander kombinieren.

Command=Highlight

Um nach dem Start ein bestimmtes Objekt in der Karte zu markieren kann das Kommando Highlight verwendet werden. Hierbei müssen auch noch die anderen Parameter ConnectionName, TableName, Key und ZoomLevel konfiguriert werden.

Beispiel: Command=Highlight&ConnectionName=STROM&TableName=EL_POINT&Key=101

ConnectionName

Hier wird der Name der Datenbankverbindung angegeben. Diese muss innerhalb des Projektes vorhanden sein.

TableName

Hier wird der Name der Tabelle/View/Synonym angegeben. Diese muss in der definierten Datenbankverbindung vorhanden sein.

Key

Der Key ist ein nummerischer Wert welcher sich auf die Spalte FID der Tabelle bezieht. Wenn kein KeyColumnName als Parameter gesetzt ist, wird erwartet das die Tabelle/View eine Spalte FID hat.

Beispiel: Key=101

KeyColumnName (optional)

Per Default ist der KeyColumnName auf FID gesetzt und muss nicht angegeben werden. Siehe auch Parameter Key. Wenn eine andere Schüsselspalte verwendet werden soll muss dieser Parameter und Key verwendet werden.

Beispiel: KeyColumnName=SAP_ID&Key=12345

Filter (optional)

Wird dieser Parameter verwendet und kein nummerischer Wert als Filter übergeben, müssen diese encodiert sein.

Beispiel: Filter=FID%3D101

Beispiel von oben anstatt Key mit Filter: Command=Highlight&ConnectionName=STROM&TableName=EL_POINT&Filter=FID%3D101

„%3D“ steht für das Gleichzeichen (URL encoding) und FID%3D101 bedeutet FID=101

Leerzeichen, & und ~ die mal als Wert übergeben werden, muss man als URL codieren.

Falls nicht bekannt, hierzu gibt es eine Webseite welche die Zeichen automatisch umwandelt bzw. codiert anzeigt.
https://www.urlencoder.org/

Weitere Beispiele:

&Filter=FLURSTUECKSKENNZEICHEN IN (‚096617___020920006__‘,’096617___020920007__‘,’096617___020920008__‘)

&Filter=FLURSTUECKSKENNZEICHEN%3D’096617___020920006__‘ OR FLURSTUECKSKENNZEICHEN%3D’096617___020920008__‘

OpenDialog (optional)

Beim Kommando Highlight kann man optional auch noch ein Formular öffnen lassen.

Beispiel: OpenDialog=STROM.EL_LINK_BOX.AUSKUNFT

Nicht zu verwechseln mit dem Kommando OpenDialog. Dies hier ist ein Parameter welchen man beim Kommando Highlight verwenden kann.

ZoomLevel (optional)

Beispiel: Command=Highlight&ConnectionName=STROM&TableName=EL_POINT&Filter=FID%3D101&ZoomLevel=18

Wenn nicht angegeben nimmt es den Default Zoom Level des Projektes bzw. der Einstellungen (Settings) in den Optionen des Projektes.

SwitchLayer On/Off (optional)

Beispiel: SwitchLayersOn=Basis/Luftbilder und/oder SwitchLayersOff= Basis/OpenStreetmap

Die Syntax zum setzen der Layer/Kartenamen ist wie beim Kommando SwitchLayer. (siehe unten)

Command=OpenDialog

Ähnlich wie beim Highlight und Zoom Parameter kann man auch steuern das gleich ein Formular / Dialog geöffnet wird. Hierbei müssen auch noch die anderen Parameter DialogName und Key konfiguriert werden.

Beispiel: Command=OpenDialog&DialogName=STROM.EL_LINK_BOX.AUSKUNFT&Key=101

Hierbei muss zwischen Tabelle und Formularname ein . gesetzt sein. Wenn es für die Tabelle mehrere unterschiedliche Formulare gibt, muss der Formularname noch angegeben werden. (hier im Beispiel AUSKUNFT)

Sowie die Tabelle bzw. das Formular muss natürlich in der Datenbankverbindung vorhanden sein.

In dem Beispiel oben wird dann direkt auf das Objekt mit der FID 101 im Formular gefiltert.

Beispiel als URL mit der RemoteControl Variante um ein bestimmtes Flurstück und dessen Formular aufzurufen:

http://localhost:60026/Mum.Geo.Services/RemoteControl.html?Command=OpenDialog&DialogName=ALKIS.AX_Flurstueck&Filter=FLURSTUECKSKENNZEICHEN%3D’096617___020920006__‘

Command=SwitchLayer

Mit diesem Parameter kann man Layer=Karten beim Aufruf direkt ein/ausschalten.

Beispiel: Username=Feuerwehr&Password=feuer&Project=GIS&Command=SwitchLayer&Off=Basis/Luftbilder|Basis/Vermessungskarte&On=Basis/OpenStreetMap|Thema/Feuerwehrplan

Hinter Parameter SwitchLayer gibt es die Werte Off bzw. On und hinter diesen müssen die aus/einzuschaltenden Layer angeben werden. Es kann auch nur einer von beiden genutzt werden. Der Layername entspricht dem angezeigtem Text in der Kartenverwaltung des Projektes.

Mehrere Layer/Karten müssen mit dem Pipe Zeichen getrennt werden.

Wenn der Layer in einem Unterorder liegt dann müssen alle Zweige der Gruppen innerhalb der Kartenverwaltung durch ein / getrennt angegeben werden.

Command=Zoom

Mit diesem Kommando kann man den zu einer definierten Koordinate/Position in der Karte navigieren. Entweder über Zoomfaktor + Koordinate oder ein Rechteck. Hierbei sind die Parameter Scale, x, y, xmin,xmax,ymin,ymax und ShowPin (optional bei Position) zulässig.

Beispiel Position: Command=Zoom&Scale=16&x=3434450&y=5794724

Mit der Option ShowPin (Marker): Command=Zoom&ShowPin=True&Scale=16&x=3434450&y=5794724

Beispiel mit einem rechteckigen Bereich: Command=Zoom&xmin=3434000&ymin=5794000&xmax=3435000&ymax=5795000

Command=Custom

Mit diesem Kommando können Anwendungsentwickler eigene Parameter in Ihren API Plugins oder Scripts programmieren. Dabei muss der Parameter CustomCommand gesetzt werden und wie bei den anderen Parametern oben beschrieben auch die key=value Werte übergeben werden.

Beispiel: Command=Custom&CustomCommand=MeinBefehlsName&Parameter1=4711&Parameter2=’Stuttgart‘

Updated on Juni 25, 2020