StandardKopplung
Einführung
Dieses Dokument beschreibt wie Fremdprogramme mit GMSC Kommunal gekoppelt werden können, d.h. wie Fremdprogramme GMSC Kommunal steuern können.
Start des GMSC Kommunal-Clients
Der GMSC Kommunal-Client wird mittels Java-Webstart gestartet. Das kann über die Kommandozeile mit Hilfe des Programms „javaws“ gemacht werden, welches bei jeder Java-Installation dabei ist. Alternativ kann die Start-URL auch im Web-Browser eingegeben werden. Der Start bei javaws sieht wie folgt aus:
(ab Version 2018: hnlp://gmsckserver:18091/gmsck.hnlp?username=xxx&password=xxx&workspace=Mappenname&bookmark=Arbeitssitzungsname)
Die URL-Parameter sind optional, d.h. mit http://gmsckserver.de:8081/gmsck/gmsck.jnlp bzw. hnlp://gmsckserver:18091/gmsck.hnlp erhält man die normale GMSC Kommunal -Anmeldung.
Folgende URL-Parameter können angegeben werden:
username | Nutzername |
password | Passwort |
workspace | Name der Mappe |
bookmark | Name der Arbeitssitzung |
showExplorer | True oder false – Explorer anzeigen oder nicht |
showSearchCenter | True oder false – Suchcenter anzeigen oder nicht |
showMap | True oder false – Karte anzeigen oder nicht |
showOverviewMap | True oder false – Übersichtskarte anzeigen oder nicht, ab Version 2014.1 |
remoteControlPort | Gibt den Port an, auf dem diese Kopplungsschnittstelle bedient werden kann, Standard ist 18092 |
Zur Prüfung, ob der Client läuft, kann die URL http://localhost:18092/remote (ab Version 2018: http://localhost:18091/remote) aufgerufen werden. Wenn ein Verbindungsaufbau möglich ist, dann läuft GMSC Kommunal.
Ab Version 10.6.1 steht ausserdem ein Hilfsprogramm zur Verfügung, welches Fremdprogramme aufrufen können, um GMSC Kommunal zu starten. Dieses Programm prüft ob der Client schon läuft, falls nicht, wird der Client gestartet und solange gewartet bis GMSC Kommunal vollständig gestartet ist. Dieses Programm kann wie folgt aufgerufen werden:
javaw –jar <GMSC Kommunal Verzeichnis>\Tools\GMKStarter.jar <GMSC Kommunal Client URL>
Voraussetzung ist, dass sich die Datei GMKStarter.jar in einem für die Client-Rechner zugänglichen Verzeichnis befindet. Bei der Installation vom GMSC Kommunal wird die Datei unter <GMSC Kommunal Installations Verzeichnis>\Tools abgelegt, also z.B. unter c:\Program Files\Intergraph\GeoMedia Kommunal\Tools\.
Steuerung des GMSC Kommunal Clients
Der Client kann über eine HTTP-Schnittstelle gesteuert werden, d.h. durch den Aufruf einer URL. Die URL folgt grundsätzlich folgendem Schema:
http://localhost:18092/remote?command=<command>&<parameter>=...
Folgende Kommandos sind möglich:
showElements
Markiert eine Liste von Objekten in der Karte und zoomt ggf. dorthin. Wird nur ein Objekt angegeben und dieses Objekt exisitiert noch nicht, so kann das Objekt digitalisiert werden. Dazu muss der Nutzer in der Kartentoolbar auf den Reiter „Werkzeuge“ gehen und dort den letzten Button (Objekt digitalisieren) klicken. Die ID des neuen Objektes wird nach dem Digitalisieren automatisch übernommen.
URL-Parameter | Wert | Beschreibung |
---|---|---|
command | showElements | |
theme | FL, BP etc. | Das Themenkürzel der Objekte, die angezeigt werden sollen |
ids | ID1,ID2,... | Komma getrennte Liste der Objekt-IDs |
zoom | true, false | Gibt neben der Markierung an ob auch zu den Objekten gezoomt werden soll. |
markMode | REPLACE, ADD, SUBSTRACT | Gibt an ob die bestehende Markierung ersetzt, erweitert oder verringert werden soll. Standardverhalten ist REPLACE |
createIfNotExists | true, false | Falls true, wird automatisch in den Digitalisiermodus gewechselt, wenn das Objekt nicht vorhanden ist.
(Seit Version 10.6.1) |
Beispiel:
http://localhost:18092/remote?command=showElements&theme=FL&ids=FL2001,FL2002&zoom=true&markMode=ADD
insertElement
Mit diesem Kommando kann man einen neues Objekt in GMSC-K anlegen. Dabei wird GMSC-K automatisch in den Konstruktionsmodus versetzt und die Kartegröße maximiert. Die übergebene ID und die Datenfelder werden dem Objekt zugewiesen.
URL-Parameter | Wert | Beschreibung |
---|---|---|
Command | insertElement | |
Theme | FL, BP etc. | Das Themenkürzel der Objekte, die angezeigt werden sollen |
Id | ID1 | Wert des ID-Feldes des neuen Objektes |
Feldname1 | Wert1 | |
Feldname2 | Wert2 | |
... | ... | Eine offene Parameterliste der Felder, die geändert werden sollen (mit ihrem neuen Wert). Der Feldname entspricht dem Feldnamen der Tabelle in GMSC-K, z.B. KEY01 |
Beispiel: http://localhost:18092/remote?command=insertElement&theme=FL&id=FL2001&KEY01=Wert&KEY02=Wert
unmarkAllElements
Löscht alle Markierungen in der Karte.
URL-Parameter | Wert | Beschreibung |
---|---|---|
Command | unmarkAllElements |
Beispiel: http://localhost:18092/remote?command=unmarkAllElements
deleteElements
Löscht die gegebenen Objekte.
URL-Parameter | Wert | Beschreibung |
---|---|---|
command | deleteElements | |
theme | FL, BP etc. | Das Themenkürzel der Objekte, die gelöscht werden sollen |
ids | ID1,ID2,... | Komma getrennte Liste der Objekt-IDs |
Beispiel: http://localhost:18092/remote?command=deleteElements&theme=FL&ids=FL2001,FL2002
updateElement
Setzt Werte am gegebenen Objekt.
command updateElementURL-Parameter | Wert | Beschreibung |
---|---|---|
command | updateElement | |
theme | FL, BP etc. | Themenkürzel der Objekte, die geändert werden sollen. |
id | ID1 | Objekt-ID des zu ändernden Objektes |
Feldname1 | Wert1 | |
Feldname2 | Wert2 | |
... | ... | Eine offene Parameterliste der Felder, die geändert werden sollen (mit ihrem neuen Wert). Der Feldname entspricht dem Feldnamen der Tabelle in GMSC-K, z.B. KEY01 |
Beispiel: http://localhost:18092/remote?command=updateElement&theme=FL&id=FL2001&KEY01=Wert&KEY02=Wert
zoomToCoordinate
Mit diesem Kommando kann man unter Angabe eines Maßstabes zu eine bestimmten Koordinate zoomen.
URL-Parameter | Wert | Beschreibung |
---|---|---|
action | zoomToCoordinate | |
x | 500.00 | Rechtswert |
y | 500.00 | Hochwert |
scale | 2000 | Maßstab |
Beispiel: http://localhost:18092/invoke?action=zoomToCoordinate&x=2349.01&y=34788.9&scale=2000
ping
Mit diesem Kommando kann geprüft werden, ob der GMSC-K-Client gestartet ist. Wenn er noch nicht gestartet ist, schlägt der Verbindungsaufbau grundsätzlich fehl, ansonsten liefert das Kommando 'true' als Antwort.
URL-Parameter | Wert | Beschreibung |
---|---|---|
action | ping |
Beispiel: http://localhost:18092/invoke?action=ping
Standardkopplung einrichten
GMSC Kommunal verfügt über eine Standardkopplung zu Fremdprogrammen, bei der die Kopplung über den Austausch von Textdateien arbeitet. Dabei schreiben sowohl GMSC Kommunal als auch das Fremdprogramm Objektschlüssel in eine Datei, und die jeweilige Gegenseite bringt die zugehörigen Objekte zu Anzeige.
Um diese Kopplung einzurichten öffnet man im GMSC Kommunal den Adminer und öffnet dort das Kontextmenü des Punktes „Kopplungen“. Dort wählt man „Neu->Datensatz“. Im Editor rechts trägt man folgendes ein:
- Bezeichnung: ein Name
- Typ: „Standard“
- Programmaufruf: ggf. ein ausführbares Programm inkl. Parameter, mit welchem das Fremdprogramm gesteuert werden kann
- GIS -> Programm-Datei: Ein Datei auf dem Client-Rechner, in welche GMSC Kommunal die Objektschlüssel schreibt, welche im Fremdprogramm angezeigt werden sollen, z.B. c:\temp\gis2app.txt
- Programm-Datei -> GIS: Ein Datei auf dem Client-Rechner, in welche das Fremdprogramm die Objektschlüssel schreibt, welche in der Karte angezeigt werden sollen, z.B. c:\temp\app2gis.txt
In den Pfadangaben der Dateien werden folgende Platzhalter unterstützt:
- %APPDATA% -> Windows-APPDATA-Ordner
- %user.home% -> Windows-Nutzer-Ordner
- %user.name% -> Windows-Nutzername
- %user.profile% -> Windows-USERPROFILE-Ordner
- %userId% -> GMSC-K-Nutzername
- %sessionid% -> Citrix-Session-ID
- %TEMP% -> Windows-Temp-Ordner
GMSC Kommunal prüft ständig, ob sich die Textdatei „Programm-Datei -> GIS“ geändert hat und wenn das der Fall ist, wird zu den Objekten gezoomt.
Anschließend wählt man im Explorerbaum eines Projektes eine Sicht aus, die gekoppelt werden soll und zieht sie per Drag&Drop auf den Editor der Kopplung. Es öffnet sich ein neuer Editor „Sichtenzuordnung“, in dem man folgendes einträgt:
- Keyfeldname: Das Feld der Objektklasse, in welchem der Objektschlüssel steht, auf dessen Basis die Kopplung mit dem Fremdprogramm stattfindet, z.B. der Flurstücksschlüssel.
- Themen: Hier trägt man ein Themenkürzel ein, welches innerhalb der Kopplung als Objekttypkennzeichen verwendet wird, z.B. „FS“ oder „Flurstuecke“.
Damit ist das Einrichten der Kopplung beendet. Man kann nun aus GMSC Kommunal heraus in der Fremdprogramm verzweigen, in dem man ein Objekt in der Karte oder Tabelle auswählt und dann „Datensatz öffnen“ wählt. Hier hat man dann die Auswahl, ob man die GMSC Kommunal-interne Datensatzanzeige oder das Fremdprogramm verwenden möchte.
Das Format der Austauschdateien sieht wie folgt aus:
<Themenkürzel>
Objektschlüssel_1
…
Objektschlüssel_n
Also eine Kopfzeile mit dem Themenkürzel und dann durch Zeilenumbruch getrennt eine Liste von Objektschlüsseln.
Spezielle Kopplungen
Neben der Standard-Kopplung gibt es derzeit spezielle Kopplungen zu folgenden Anwendungen:
- BEC
- adKomm (KOB)
- AFH
- WebFlur
- TeraWin
- TeraFri
- Kolibri
Die Einrichtung dieser Kopplungen erfolgt analog dem oben beschrieben Schema.