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
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
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
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
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
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
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
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
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.
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‘