- URL:https://<parcelfabricservice-url>/duplicateParcels
- Required Capability:ArcGIS Advanced Editing
- Version Introduced:10.8
Description
The duplicateParcels operation duplicates parcels to a specified parcel type and subtype. A record is required to duplicate parcels.
If the parcel type supports the storage of strata parcels, parcels can be duplicated multiple times vertically to create strata parcels. Strata parcels represent floors both above and below the ground and are also known as condominiums, units, apartments, flats, basements, and vertical parcels.
After duplicating parcels, build the parcel fabric so that record polygon and parcel count reflects the newly added parcels.
Request parameters
Parameter | Details |
---|---|
gdbVersion | The name of the geodatabase version (the default is the DEFAULT version). Syntax
|
sessionId | The token (GUID) used to lock the version. If the calling client has previously started a service session (editing) and holds an exclusive lock on the specified version, the request will fail if the sessionId value is not provided. If the specified version is currently locked by another session, the request will fail if the sessionId value is not provided or does not match the sessionId value that holds the exclusive lock. Syntax
|
parcels (Required) | The parcels that will be duplicated. Syntax
|
targetParcelType (Required) | The target parcel type. Syntax
|
targetParcelSubtype (Required) | The target parcel subtype. Syntax
|
record (Required) | The unique identifier (GUID) of the record. The duplicated parcels will be associated with the specified record. Syntax
|
repeatCount (Optional) | The number of times the specified parcels will be duplicated. This parameter is generally used to duplicate parcels vertically to create strata parcels. Syntax
|
updateField (Optional) | The field that will be updated incrementally. If the parcel type supports the storage of strata parcels, the FloorOrder field can be specified as the updateField value. The FloorOrder field is updated with the floor number when duplicating parcels vertically. The floor number will start with the numeric value specified for the startValue parameter. Syntax
|
startValue | The starting floor or level when duplicating parcels to create strata parcels. The start value is populated in the FloorOrder fields of the first parcels duplicated. Syntax
|
incrementValue | The interval at which the value in the FloorOrder field will increase. For example, if the increment value is 2, the value in the FloorOrder field will increase by two for each duplicated set of parcels. Syntax
|
async | Specifies whether the request will be processed asynchronously. If true, the request will be processed as an asynchronous job and a URL that points to a location displaying the status of the job will be returned. The default is false. This parameter is optional. Values: true | false Syntax
|
f | Specifies the output format of the response. The default response format is html. Values: html | json |
Example usage
This example shows the steps for duplicating a parcel to create two floors of strata parcels using the duplicateParcels operation.
Note:
The sessionId parameter value must be the same for starting the edit session, performing the edit operation, and stopping the edit session.- Start a service session on the version.
Request URL and parameters:
https://machine.domain.com/webadaptor/rest/services/CountyFabric/VersionManagementServer/versions/E4DAED9D-C859-489B-9053-767A45F1D97C/startReading f=json sessionId={bba242fc-e671-4aa2-83d4-1c013347fa4f}
- Start an edit session on the version.
Request URL and parameters:
https://machine.domain.com/webadaptor/rest/services/CountyFabric/VersionManagementServer/versions/E4DAED9D-C859-489B-9053-767A45F1D97C/startEditing f=json sessionId={bba242fc-e671-4aa2-83d4-1c013347fa4f}
- Duplicate a parcel in the tax parcel type to create two additional floors of strata parcels. Increment the floor level by one for each parcel duplicated.
Request URL and parameters:
https://machine.domain.com/webadaptor/rest/services/CountyFabric/ParcelFabricServer/duplicateParcels f=json gdbVersion=admin.Version1 sessionId={bba242fc-e671-4aa2-83d4-1c013347fa4f} parcels=[{"id":"{5B9C7139-FBE0-4B43-B9BB-092EB98635E6}","layerId":"13"}] targetParcelType=10 targetParcelSubtype=0 record={78BEE123-4A76-4B6C-9B12-C30786E46B48} repeatCount=2 updateField=floororder startValue=1 incrementValue=1 async=false
- If edits are complete, stop the edit session.
- Stop and release the service session.
JSON Response syntax
The following response is returned when async is false:
{
"exceededTransferLimit: <true | false>,
"moment": <datetime>,
"error": { // only if success is false
"extendedCode": <HRESULT>,
"message": <error message>,
"details": [<detail>]
},
"serviceEdits": { // only if transfer limit is not exceeded
"editedFeatures": {
"updates": {
"attributes": {...},
"geometry": {...}
},
{
"spatialReference": {<spatial reference>}
},
"id": <layerID>
}
"editedFeatures": {
"adds": {
"attributes": {...},
"geometry": {...}
},
{
"spatialReference": {<spatial reference>}
},
"id": <layerID>
},
"success": <true | false>
}
}
The following response is returned when async is true:
{
"statusUrl": <url>
}