Build
- URL:https://<parcelfabricservice-url>/build
- Required Capability:ArcGIS Parcel Fabric
- Version Introduced:10.8
Description
Build creates parcels from polygons or lines by creating missing parcel features. When building parcels from lines, polygons and points are created. When building parcels from polygons, lines and points are created. Additionally, the following data is updated:
- Parcel features are all associated to their appropriate records, and record polygons are updated.
- If the newly built parcels replace existing parcels, existing parcels are retired as historic and parcel lineage is maintained.
- The Parcel Count field on the Records feature class is updated with the number of parcels associated to each record.
- If the COGO Accuracy field on the Records feature class has an accuracy value, it will be transferred to the COGO Accuracy field of all the lines associated to the record.
Build can build parcels in the active record, in a specified extent or in the entire extent of the parcel fabric.
Request parameters
Parameter | Details |
---|---|
gdbVersion | Parameter specifying the name of the geodatabase version (the default is the DEFAULT version). Syntax
|
sessionId | Parameter representing the token (guid) used to lock the version. If the calling client is editing a named version, the session ID is required. If the specified version is currently locked by any other session, the request will fail if the session ID is not provided or does not match the session ID that holds the exclusive lock. If the client is editing the default version, the session ID is not required. Syntax
|
buildExtent | Optional parameter representing the envelope of the extent to build. The default extent is the entire extent of the parcel fabric dataset. If no record or extent is specified, the entire extent of the parcel fabric dataset is built. Syntax
|
async | Optional parameter, true or false. If true, the request is processed as an asynchronous job and a URL is returned that points a location displaying the status of the job. See the topic on asynchronous usage for more information. The default is false. Syntax
|
record | Optional parameter representing the record identifier (guid). If a record guid is provided, only parcels associated to the record are built, regardless of the build extent. Syntax
|
f | Representing the output format of the response. The default response format is html. Values: html | json |
Example usage
This example shows the steps for building parcels in a specified record using the build operation.

- 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={b1559398-83e6-46ba-99f4-45e6c8012e14}
- 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={b1559398-83e6-46ba-99f4-45e6c8012e14}
- Build parcels in a specified record using the build operation.
Request URL and parameters:
https://machine.domain.com/webadaptor/rest/services/CountyFabric/ParcelFabricServer/build f=json gdbVersion=admin.Version1 sessionId={b1559398-83e6-46ba-99f4-45e6c8012e14} async=false record={4767898A-3670-4EE3-B1E2-A89D8930DDBC}
- If edits are complete, stop the edit session.
- Stop and release the service session.
JSON Response syntax
Response when async is false:
{
"exceededTransferLimit": <true | false>,
"moment": <datetime>,
"success": <true | false>,
"error": { // only if success is false
"extendedCode": <HRESULT>,
"message": <error message>,
"details": [<detail>]
}
"serviceEdits": [ // only if transfer limit is not exceeded
{
"id": <layerId>,
"editedFeatures": {
"adds": [<currentFeature1>, <currentFeature2>],
"updates" : [[<originalFeature3>, <currentFeature3>],[<originalFeature4>, <currentFeature4>]],
"deletes" : [<originalFeature5>, <originalFeature6>]
}
}
]
}
Response when async is true
{
"statusUrl": <url>
}
Response to the status URL when pending
{
"moment": <datetime>,
"status": "<esriJobSubmitted>",
"success": <true | false>,
"error": { // only if success is false
"extendedCode": <HRESULT>,
"message": <error message>,
"details": [ <detail> ]
}
}
Response to the status URL when executing
{
"messages": [
"description": <description>,
"type": <esriJobMessageTypeInformative>],
"moment": <datetime>,
"percentComplete": <integer>,
"progressMessage: <progress message>,
"status": <esriJobExecuting>,
"success": <true | false>,
"error": { // only if success is false
"extendedCode": <HRESULT>,
"message": <error message>,
"details": [ <detail> ]
}
]
}
Response to the status URL when completed
{
"exceededTransferLimit=True,
"messages":[
{
"description": <description>,
"type": <esriJobMessageTypeInformative>
}
],
"moment": <datetime>,
"percentComplete": <integer>,
"progressMessage": <progress message>,
"status": <esriJobSucceeded>,
"success": <true | false>,
"error": { // only if success is false
"extendedCode": <HRESULT>,
"message": <error message>,
"details": [ <detail> ]
}
}
JSON Response example
JSON response:
{
"moment": 1569365485953,
"exceededTransferLimit": false
"serviceEdits": [
{
"id": 1,
"editedFeatures": {
"spatialReference": {
"wkt": "PROJCS[\"User_Defined_Transverse_Mercator\",GEOGCS[\"GCS_User_Defined\",DATUM[\"D_User_Defined\",SPHEROID[\"User_Defined_Spheroid\",6378285.48,298.2641653866821]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",262000.0009333333],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",-87.55],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",43.26666666666667],UNIT[\"Foot_US\",0.3048006096012192]]",
"xyTolerance": 0.0032808333333333331,
"zTolerance": 0.001,
"mTolerance": 0.001,
"falseX": -18187000,
"falseY": -48539200,
"xyUnits": 3048.00609601219276,
"falseZ": -100000,
"zUnits": 10000,
"falseM": -100000,
"mUnits": 10000
},
"updates": [
[
{
"attributes": {
"objectid": 1331,
"name": "Doc #2063445",
"recordtype": null,
"recordeddate": 1538611200000,
"cogoaccuracy": 1,
"created_user": "GIS",
"create_date": 1560290226000,
"last_edited_user": "GIS",
"last_edited_date": 1560290226000,
"globalid": "{4767898A-3670-4EE3-B1E2-A89D8930DDBC}",
"description": "Craftsman Condominium No. 2",
"surveyor": "Dennis VanSluys",
"company": "D&H",
"surveydate": 1525305600000,
"truemidbrg": null,
"createdby": "GUNDEKJG",
"modifiedby": "GUNDEKJG",
"modifydate": 1543918261000,
"originalfeatureoid": 270188,
"Shape__Area": 10439.9230835287344,
"Shape__Length": 413.999032878564265
},
"geometry": {
"hasZ": true,
"rings": [
[
[ 156525.355526827276, 173709.828250572085, 0 ],
[ 156525.8830848299, 173589.829474821687, 0 ],
[ 156438.883586913347, 173589.621798068285, 0 ],
[ 156438.356356997043, 173709.620573818684, 0 ],
[ 156525.355526827276, 173709.828250572085, 0 ]
]
]
}
},
{
"attributes": {
"objectid": 1331,
"name": "Doc #2063445",
"recordtype": null,
"recordeddate": 1538611200000,
"cogoaccuracy": 1,
"created_user": "GIS",
"create_date": 1560290226000,
"last_edited_user": "admin",
"last_edited_date": 1569365497000,
"globalid": "{4767898A-3670-4EE3-B1E2-A89D8930DDBC}",
"description": "Craftsman Condominium No. 2",
"surveyor": "Dennis VanSluys",
"company": "D&H",
"surveydate": 1525305600000,
"truemidbrg": null,
"createdby": "GUNDEKJG",
"modifiedby": "GUNDEKJG",
"modifydate": 1543918261000,
"originalfeatureoid": 270188,
"Shape__Area": 10439.9230833723886,
"Shape__Length": 413.999032876170133
},
"geometry": {
"hasZ": true,
"rings": [
[
[ 156525.8830848299, 173589.829474821687, 0 ],
[ 156438.883586913347, 173589.621798068285, 0 ],
[ 156438.356356997043, 173709.620573818684, 0 ],
[ 156525.355526827276, 173709.828250572085, 0 ],
[ 156525.8830848299, 173589.829474821687, 0 ]
]
]
}
}
]
]
}
}
],
"success": true
}