Build

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:

Build can build parcels in the active record, in a specified extent or in the entire extent of the parcel fabric.

Learn more about building parcels from polygons and lines.

Request parameters

Parameter

Details

gdbVersion

Parameter specifying the name of the geodatabase version (the default is the DEFAULT version).

Syntax

gdbVersion=<version>
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

sessionId=<guid>
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

{"xmin":<X min>,"ymin":<y min>, "xmax": <x max>, "ymax": <y max>, "spatialReference": <wkt of spatial reference>}
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

async=true|false
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

record=<guid>
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.

NoteNote:
The sessionId parameters must be the same for starting the edit session, performing the edit operation and stopping the edit session.

Steps:
  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={b1559398-83e6-46ba-99f4-45e6c8012e14}
    

  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={b1559398-83e6-46ba-99f4-45e6c8012e14}
    

  3. 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}
    
  4. If edits are complete, stop the edit session.
  5. 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
}