Bulk Editing
If a large number of features are to be edited, the Service API is not very useful for classic editing. Therefore WebOffice 10.9 R4 offers a service API for bulk editing using URL parameters, whereby only one single feature class can be processed with one call, which is defined via the parameter editlayerid. The features to be edited must also be addressed via the same key field, which is defined via the parameter editkeyfield.
Bulk editing consists of two steps. First, all editkeyvalue parameters are checked for whether they are already stored in the Feature Class or not. These values may not be present for creation, but they must be present for deleting and updating. If skip_checks=false is set, the editing process will be interrupted at this point if there are any problems. This step can be skipped by entering the parameter skip_checks=true, so that the other possible editing actions can be carried out. This prevents the entire call from being terminated with an error and no data being changed as soon as an inconsistency is detected in the call.
In a second step, the actual change of the data takes place.
A big advantage of using this editing functionality is that, in contrast to the classic editing functionality, in case it is not possible to edit individual features, the failed features are listed individually in the log file. In addition, it is also possible to make the possible changes using skip_checks=true, even if other changes fail.
The following are the HTTP query string parameters that can be used to control the behavior of the WebOffice 10.9 R4 bulk editing module, where the parameters can be assigned several times with _XX and each editing action can be identified by parameters of the same number (e. g._01).
Parameter |
description |
---|---|
project |
Defines the project in which bulk editing is to be carried out. |
skip_checks |
If this parameter is set to false, the editing process will be interrupted at this point if there are any problems. This step can be skipped by setting the parameter to true, so that the other possible editing actions can be carried out very well. |
editlayerid |
The editing layers are identified by the ID that is configured in the attributes of the external layer ID (query). |
editkeyfield |
The parameter editkeyfield must contain the field name to search for the name of the feature to be edited. The features to be edited must all be addressed using the same key field. |
edit action_XX |
Defines the editing action to be used. Valid values for this parameter are: •create •edit •delete |
editkeyvalue_XX |
This parameter is only valid for the editing actions Edit. The value editkeyvalue must be unique and must not appear more than once (for example, via an object ID to address the object uniquely). |
editfields_XX |
List of editing fields to which the respective values under editvalues are to be passed. By default, the list is limited by ;, e.g. TYPE;NAME;REMARK;DISTANCE |
editvalues_XX |
List of editing values to be passed to the fields at editkeyvalue. The number of elements in the list must be the same as the number of elements in the list of editfields, e. g.: My Input Type; My Name; My Comment; 100.87 |
geometry_XX |
This parameter can be used to set the vertices (X, Y) of objects. This parameter is only valid for the editing actions Create. When creating points, only one coordinate pair is set. When creating lines and polygons, more coordinate pairs must be set separated by ;. The respective coordinates in a pair are separated by %20 or . |
edittableid |
The editing tables are identified by the ID that is configured in the attributes of the external table ID (query). |
Example for a bulk editing call on a point feature class:
The Bulk Editing of published ArcGIS tables is also possible.
Example calls:
- Adding data to a table: https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editaction_1=create&editfields_1=<FIELD>&editvalues_1=<VALUE>&editaction_2=create&editfields_2=<FIELD>&editvalues_2=<VALUE>
- Editing a value in multiple rows in a table: https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction_1=edit&editkeyvalue_1=<KEYVALUE>&editfields_1=<FIELD>&editvalues_1=<VALUE>&editaction_2=edit&editkeyvalue_2=<KEYVALUE>&editfields_2=<FIELD>&editvalues_2=<VALUE>
- Editing values in multiple rows in a table: https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction_1=edit&editkeyvalue_1=<KEYVALUE>&editfields_1=<FIELD_1>;<FIELD_2>&editvalues_1=<VALUE_1>;<VALUE_2>&editaction_2=edit&editkeyvalue_2=<KEYVALUE>&editfields_2=<FIELD_1>;<FIELD_2>&editvalues_2=<VALUE_1>;<VALUE_2>
- Deleting records in a table: https://<HOST>/<WebOffice-Applikation>/synservice?project=<WO_PROJECT>&edittableid=<EDIT_TABLE>&editkeyfield=<KEYFIELD>&editaction_1=delete&editkeyvalue_1=<KEYVALUE>&editaction_2=delete&editkeyvalue_2=<KEYVALUE |