Editieren in Service API
Mehrere Parameter, die aus dem URL Call Interface bekannt sind, werden unterstützt:
•editaction
•editlayerid
•editkeyfield
•editkeyvalue
•editfields
•editvalues
•editreturnkey
•edittableid
Es gibt einen spezifischen Parameter für die Editieraufrufe über die synservice-Schnittstelle:
geometry: Übergibt 1 bis n Stützpunkte. Die x und y Koordinaten werden mit %20 oder einem Leerzeichen verbunden, die einzelnen Stützpunkte über ; getrennt.
Beispiel:
geometry=xcoordinate1%20ycoordinate1;xcoordinate2%20ycoordinate2 oder
geometry=xcoordinate1 ycoordinate1;xcoordinate2 ycoordinate2
|
Für die Editierfunktionalität muss zumindest ein gültiger Editier-Layer konfiguriert sein, dem eine externe Aufrufkennung vergeben wurde und der mindestens ein konfiguriertes Editierfeld besitzt, welches nicht NULL sein darf und nur einzigartige Werte beinhalten darf. |
Folgende Editieraktionen (editaction) mit folgenden Parametern (Werte sind verpflichtend) werden unterstützt:
create:
editlayerid, editkeyfield, editkeyvalue (Wert darf noch nicht existieren) und geometry
(für Punkt-Feature-Classes: einzelne Koordinaten x y z.B. 130223.1175059952 406423.082733813,
für Linien- und Polygon-Feature-Classes: mehrere Koordinaten die mit ; getrennt sind, z.B. 130223.1175059952 406423.082733813;130144.76738609111 406399.82254196645;130160.68225419664 406448.7913669065;130276.98321342925 406394.9256594724)
edit:
editlayerid, editkeyfield, editkeyvalue (Wert muss existieren) und (neue) geometry
(für Punkt-Feature-Classes: einzelne Koordinaten x y z.B. 130223.1175059952 406423.082733813,
für Linien- und Polygon-Feature-Classes: mehrere Koordinaten die mit ; getrennt sind, z.B. 130223.1175059952 406423.082733813;130144.76738609111 406399.82254196645;130160.68225419664 406448.7913669065;130276.98321342925 406394.9256594724)
delete:
editlayerid, editkeyfield und editkeykeyvalue (Wert muss existieren)
Die Parameter editfields und editvalues können zusätzlich für die Editieraktionen create und edit verwendet werden. Mit Hilfe dieser Parameter können zusätzliche Attribute erstellt und bearbeitet werden. editfields beinhaltet eine Liste der Editierfelder, editvalues beinhaltet die dazugehörigen Werte (getrennt durch ;).
Wenn Sie leere Werte editieren wollen, verwenden Sie entweder den Wert nullvallue oder syndbvoid. Beide Werte sind case-insensitiv.
Beispielaufrufe:
Erstellen eines Objekts mit Attributen:
http://<HOST>/<WebOffice-Anwendung>/synservice?project=World&editlayerid=points&editaction=create&editkeyfield=Punkt_Name&editkeyvalue=TP01&editfields=Punkt_Beschreibung;Punkt_Notiz&editvalues=Testpunkt01;Hinweis&geometry=1%201
Wenn in editfields ein Feld übergeben wird, das auch als editkeyfield definiert ist, so wird der zugehörige Wert in editvalues ignoriert.
Ändern von Attributen mit leeren Werten:
http://<HOST>/<WebOffice-Anwendung>/synservice?project=World&editaction=edit&editlayerid=edit_points_red&editkeyfield=ID&editkeyvalue=099&editfields=Name;Description&editvalues=1;syndbvoid
http://<HOST>/<WebOffice-Anwendung>/synservice?project=World&editaction=edit&editlayerid=edit_points_red&editkeyfield=ID&editkeyvalue=099&editfields=Name;Description&editvalues=1;nullvallue
Ebenso kann auch der Parameter editreturnkey für die Editieraktionen create und edit verwendet werden. Dieser Parameter spezifiziert das in der Antwort zurückgegebene Feld der Feldkopplung, die innerhalb der Referenzlayer-Liste (topologische Objektzuordnung) ankonfiguriert wurde. Es kann auch eine Liste mit mehreren Schlüsseln definiert werden, wobei die entsprechenden Werte mit Strichpunkt ; getrennt angegeben werden müssen. Dadurch wird die topologische Objektzuordnung auch über die Service API (synservice) ermöglicht.
Beispielaufruf:
Die Beispiel-Editieraufrufe können über die preview.jsp getestet werden (https://myserver.domain.com/<WebOffice web application>/client_preview/preview.jsp).
Beispielanfrage für einen Editieraufruf (Erstellen eines Polygon-Features):
../synservice?project=PROJECT&editlayerid=EXTERNALID&editaction=create&geometry=129551.87819025521 406645.0614849188;129503.31554524362 406623.74129930394;129516.3445475638 406581.1009280743;129570.8294663573 406610.71229698375&editkeyfield=FIELDNAME&editkeyvalue=NEWID
Das Editieren von publizierten ArcGIS-Tabellen ist ebenso möglich.
Beispielaufrufe:
Hinzufügen eines Eintrags in eine Tabelle:
https://<HOST>/<WebOffice-Anwendung>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editaction=create&editfields=<FIELD>&editvalues=<VALUE>
Ändern eines Attributs in einer Tabelle:
https://<HOST>/<WebOffice-Anwendung>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction=edit&editkeyvalue=<KEYVALUE>&editfields=<FIELD>&editvalues=<VALUE>
Ändern mehrerer Attribute in einer Tabelle:
https://<HOST>/<WebOffice-Anwendung>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction=edit&editkeyvalue=<KEYVALUE>&editfields=<FIELD_1>;<FIELD_2>&editvalues=<VALUE_1>;<VALUE_2>
Löschen eines Eintrags in einer Tabelle:
https://<HOST>/<WebOffice-Anwendung>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction=delete&editkeyvalue=<KEYVALUE>