Skip To Content
ArcGIS Developer
Dashboard

Transfer parcel

Description

The transferParcel operation transfers a piece of land (single parcel) between source parcels and target parcels.

A piece of land (single parcel) can be transferred in the following supported workflows:

  • A piece of land (one parcel) is transferred from a single source parcel to a single target parcel, for example, an annexation.
  • A piece of land (one parcel) is transferred from multiple source parcels to a single target parcel, for example, road dedication (widening).
  • A piece of land (one parcel) is transferred from a single source parcel to multiple target parcels, for example, road vacation.
  • A piece of land (one parcel) is transferred to a single target parcel. There is no source parcel, for example, annexation of unincorporated land.

Learn more about transferring a parcel

Request parameters

ParameterDetails
gdbVersion

The name of the geodatabase version (the default is the DEFAULT version).

Syntax

gdbVersion=<version>
sessionId

The token (GUID) used to lock the version. If the calling client is editing a named version, the sessionId value is required. 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. If the client is editing the default version, the sessionId value is not required.

Syntax

sessionId=<guid>

transferParcelFeature

(Required)

The parcel that will be transferred. Only one parcel can be specified as the transfer parcel.

Syntax

transferparcelFeature={"id":"<guid>","layerId":"<layerID>"}

sourceParcelFeatures

(Optional)

The source parcels from which land will be transferred. These parcels will be clipped and will become smaller.

  • There can be zero to many source parcels specified.
  • If multiple source parcels are specified, they must be in the same parcel type. They can, however, be in a different parcel type from the transfer parcel and the target parcels.
  • Source parcels must at least partially overlap the area of the transfer parcel.

Syntax

sourceParcelFeatures=[{"id":"<guid>","layerId":"<layerID>"},{...}]

targetParcelFeatures

(Required)

The target parcels to which land will be transferred. These parcels will be merged with the transfer parcel and will become larger.

  • If multiple target parcels are specified, they must be in the same parcel type. They can, however, be in a different parcel type from the transfer parcel and the source parcels.
  • If multiple source parcels have been specified, only one target parcel can be specified.

Syntax

targetParcelFeatures=[{"id":"<guid>","layerId":"<layerID>"},{...}]
record

(Required)

The unique identifier (GUID) of the record being used for the transfer.

Syntax

record=<guid>
defaultAreaUnit

(Required)

The units in which area will be stored. The parameter value is a domain code from the PF_AreaUnits parcel fabric domain.

Syntax

defaultAreaUnit=<long>

Example using square feet:

defaultAreaUnit=109405

Example using square meters:

defaultAreaUnit=109404
async

Specifies whether 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. See the topic regarding asynchronous usage for more information. The default is false.

Values: true | false

Syntax

async=true|false
f

The response format. The default response format is html.

Values: html | json

Example usage

This example shows the steps for transferring a parcel in a right-of-way dedication. In this type of transfer, a piece of land is transferred from multiple source parcels to a single target parcel.

Note:
The sessionId parameter value must be the same for starting the edit session, performing the edit operation, and stopping the edit session.

  1. 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={c47be202-3682-4ab0-a730-9dd641487ba7}

  2. 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={c47be202-3682-4ab0-a730-9dd641487ba7}

  3. Transfer one parcel of land from multiple source parcels to a single target parcel.

    Request URL and parameters:

    
    https://machine.domain.com/webadaptor/rest/services/CountyFabric/ParcelFabricServer/transferParcel
    f=json
    gdbVersion=admin.Version1
    sessionId={c47be202-3682-4ab0-a730-9dd641487ba7}
    transferParcelFeature={"id":"{D664B654-D8F2-453C-966F-6FA66E1AE2E2}","layerId":"24"}
    sourceParcelFeatures=[{"id":"{8233045B-A337-4087-957A-4F8A4814FF09}","layerId":"15"},{"id":"{EC850938-01F4-48C6-B7DB-16EFB0B544BC}","layerId":"15"},
    {"id":"{BCF8B086-B5DB-472A-89AA-6A3AF54C75BD}","layerId":"15"}]
    targetParcelFeatures=[{"id":"{449572F3-C2E1-405D-B642-4CFA90C10C46}","layerId":"21"}]
    record={89E0F2EE-9788-4008-9CD4-1F02ABDCD49F}
    defaultAreaUnit=109405
    async=false
  4. If edits are complete, stop the edit session.
  5. Stop and release the service session.

JSON Response syntax

The following response is returned when async is false:


{
  "moment": <datetime>,
		"exceededTransferLimit: <true | false>,
  "serviceEdits": [{  // only if transfer limit is not exceeded
    "editedFeatures": {
						"spatialReference": {}
						"updates": [
							[{ "attributes": {}
										"geometry": {}
								}]]
							"adds":[
							{ "attributes": {}
									"geometry": {}
							]}]
				"success": <true | false>,
    "error": {  // only if success is false
      "extendedCode": <HRESULT>,
      "message": <error message>,
      "details": [<detail>]
}

The following response is returned when async is true:


{
		"statusUrl": <url>
}

JSON Response example

The following is a response example when async is false:


{
 "moment": 1654559299910,
 "exceededTransferLimit": false,
 "serviceEdits": [
  {
   "id": 1,
   "editedFeatures": {
    "spatialReference": {
     "wkid": 102740,
     "latestWkid": 2278,
     "xyTolerance": 0.00328083333333333,
     "zTolerance": 0.001,
     "mTolerance": 0.001,
     "falseX": -126725700,
     "falseY": -77828800,
     "xyUnits": 3048.00609601219,
     "falseZ": -100000,
     "zUnits": 10000,
     "falseM": -100000,
     "mUnits": 10000
    },
    "updates": [
     [
      {
       "attributes": {
        "OBJECTID": 124012,
        "Name": "Dedication",
        "RecordType": 1,
        "RecordedDate": null,
        "GlobalID": "{89E0F2EE-9788-4008-9CD4-1F02ABDCD49F}",
        "created_user": "admin",
        "create_date": 1654557071000,
        "last_edited_user": "admin",
        "last_edited_date": 1654557737000,
        "COGOAccuracy": null,
        "ParcelCount": 1,
        "Description": null,
        "Surveyor": null,
        "Company": null,
        "SurveyDate": null,
        "TrueMidBrg": null,
        "RetiredParcelCount": 0,
        "Shape__Area": 4920.73876999236654,
        "Shape__Length": 686.105105373444644
       },
       "geometry": {
        "hasZ": true,
        "rings": [
         [
          [
           3159336.396402508,
           13845788.2751287222,
           0
          ],
          [
           3159321.412508592,
           13845787.579592064,
           0
          ],
          [
           3159308.58018517494,
           13846115.4299862236,
           0
          ],
          [
           3159323.56834417582,
           13846116.0277540535,
           0
          ],
          [
           3159336.396402508,
           13845788.2751287222,
           0
          ]
         ]
        ]
       }
      },
			{...}
"success": true
}