In ArcGIS Pro, a least-squares adjustment can be run on a parcel fabric in the following scenarios:

- Use the Analyze Parcels By Least Squares Adjustment tool to run a consistency check on newly added data to identify potential mistakes or outlier measurements.
- Use the Analyze Parcels By Least Squares Adjustment tool to run a weighted least-squares adjustment to evaluate how newly added data affects the spatial accuracy of the parcel fabric.
- Use the Apply Parcel Least Squares Adjustment tool to apply the results of a weighted least-squares adjustment to update and improve the accuracy of parcel fabric points.

See a workflow for running a least-squares adjustment on the parcel fabric.

The parcel fabric is a redundant measurement network. Parcel lines connect parcel corner points to form a measurement network. Lines connect at common points and have dimensions, which define geometric distance and angle relationships with other points.

In the parcel fabric, the adjustment uses dimensions on redundant parcel lines to estimate best-fit coordinates (x,y,z) for parcel fabric points. The adjustment uses network redundancy to identify lines with potential dimension errors and lines with dimensions that do not fit with the rest of the network (outliers).

To summarize, a least-squares adjustment works on a parcel fabric as follows:

- The adjustment uses direction and distance dimensions on both current and historic parcel boundary lines.
- Points connected to boundary or connection lines are also used as measurements in the adjustment.
- Line dimensions and point coordinates can be weighted in the adjustment. Coordinates and dimensions with higher accuracy are given higher weights; that is, they are given less allowance for change. They will have a greater influence on the outcome of the overall adjustment results by staying closer to their original position or dimension.

## Adjustment types

Different types of adjustments can be run on the parcel fabric depending on whether you are evaluating or improving spatial accuracy.

- Free network adjustment—The measurement network is not constrained by control points, and measurements are checked for mistakes.
- Weighted/Constrained adjustment—Two or more control points are included in the adjustment to constrain the measurement network and compute updated coordinates of free points.

### Consistency check using a free network adjustment

A consistency check runs a free network adjustment on the input parcels to ensure that parcel lines do not contain mistakes in their dimensions. For example, a consistency check can be run after new parcels have been manually entered from a new record.

A consistency check evaluates the dimensions of the input lines, and dimensions that do not fit with the solution are identified as outliers or possible blunders.

### Weighted least-squares adjustment

A weighted least-squares adjustment is a constrained adjustment that uses control points and line dimensions to estimate updated, more spatially accurate coordinates for parcel fabric points. A weighted least-squares adjustment can be run to evaluate and improve the overall spatial accuracy of the parcel fabric. Control points are points with known x,y,z coordinates. Control points constrain the adjustment and are used to compute updated coordinates for free (unconstrained) points.

In a weighted least-squares adjustment, line dimensions and control points can be weighted based on their accuracies. Control point accuracies are known and weights can range from completely constrained (highest accuracy and x,y,z does not change) to lower weights (lower accuracies) that allow more movement. Dimension accuracies are generally based on the legal parcel record. Parcel dimension from more recent parcel records generally have higher accuracies and thus higher weights in the least-squares adjustment. Lines and control points with higher weights have a greater influence on the outcome of the least-squares adjustment.

A weighted least-squares adjustment also can be used to update the coordinates of lower-weighted control points and identify areas in the parcel network where more control is needed.

## DynAdjust least-squares adjustment engine

The parcel fabric uses the DynAdjust least-squares adjustment engine. DynAdjust is a least-squares application that adjusts coordinates of both small and large geodetic networks. DynAdjust uses a phased adjustment approach in which large networks are adjusted in sequential blocks. The DynAdjust engine can scale to adjust small engineering surveys to large, national geodetic networks.

Some of the capabilities of the DynAdjust least-squares adjustment engine include the following:

- Adjustment of coordinates in three dimensions (x,y,z)
- Support of multiple measurement types, for example, horizontal angles and geodetic azimuths
- Constrained adjustments (adjustments using known, weighted control points)
- Minimally constrained or free network adjustments
- Estimation of precision of adjusted coordinates
- Statistical analyses of adjustment results

Learn more about the DynAdjust least-squares adjustment engine

## Parcel fabric dimension processing in the DynAdjust engine

Use the Analyze Parcels By Least Squares Adjustment tool to run a weighted least-squares adjustment on parcels. In a least-squares adjustment, parcel data is input to the DynAdjust least-squares engine, adjusted using least-squares adjustment, and output to adjustment analysis layers. If the results in the adjustment analysis layers are acceptable, you can run the Apply Parcel Least Squares Adjustment tool to apply the adjustment results to the parcel fabric.

### Parcel lines and connection lines

Parcel line and connection line dimensions are typically input as distances and direction sets to the DynAdjust least-squares engine. Lines that have been configured as geodetic lines are input to the engine as ellipsoid arc distances and geodetic azimuths.

A direction set is composed of an origin point (the from point), a backsight line (reference line), and one or more foresight lines.

Distances and direction sets are processed in the least-squares adjustment as follows:

- The angles formed by the direction set are the measurements that are input to the least-squares engine. The angles are derived from the COGO direction value of the backsight line and each of the foresight lines.
- In the image above, point 3762 is the origin point of the direction set. The backsight or reference direction is the line from point 3762 to point 3186. The foresight direction is the line from point 3762 to 3763.
- In the least-squares adjustment, the angles are adjusted and applied to the foresight directions to obtain adjusted foresight directions for the lines. The least-squares adjustment returns adjusted directions and distances for the foresight lines of the direction set.
- If the directions on the backsight or foresight lines are in the opposite direction, they are reversed in the direction set.
- When a point in the parcel fabric has multiple lines connecting to it and those lines belong to separate (adjacent or overlapping) records, a separate direction set is formed for each set of lines in each record. Grouping the direction sets' lines by the record they belong to accounts for the possibility of different bases of bearings (rotations) being used for different records.
- Least-squares adjustment inputs and results are stored in the AdjustmentLines feature class as follows:
- The origin point of a direction set is stored in the Point 1 Name field. The end point of the backsight line is stored in the Point 2 Name field. The end point of the foresight line is stored in the Point 3 Name field.
- For distances, the from point is stored in the Point 1 Name field and the to point is stored in the Point 2 Name field. There will be a Null value in the Point 3 Name field.
- The direction set angle or distance of the foresight line is stored in the Measurement field. The Measurement Type field uses a subtype that indicates whether the measurement is an angle or a distance.
- The adjusted COGO direction or adjusted distance of the foresight line is stored in the Adjusted Measurement field.
- The difference between the adjusted foresight dimension and the original dimension is stored in the Measurement Correction field.

#### Geodetic azimuths and ellipsoid arc distances in the least-squares adjustment

Parcel lines and connection lines can be configured as different types of ellipsoid-based lines. Ellipsoid-based lines are processed in the least-squares engine based on their coded-domain value in the AzimuthType field. The AzimuthType field uses the PF_AzimuthType domain:

The lines are processed as follows:

- Coded-domain value 3 indicates that the value in the Direction field is forward geodetic, and the value is input into the DynAdjust least-squares engine as a geodetic azimuth measurement type.
- Coded domain values 2, 4, and 5 indicate that the value in the Direction field will be used to compute the equivalent geodetic azimuth. The computed geodetic azimuth is input into the least-squares engine as a geodetic azimuth measurement type.
- Coded-domain value 1 indicates that the value in the Direction is not geodetic and will be processed as part of a direction set.
- Coded-domain values 2, 3, 4, and 5 indicate that the value in the Distance field will be input into the least-squares engine as an ellipsoid arc distance measurement type.

The ellipsoid arc distance value in the Distance field can be scaled before it is input into the least-squares adjustment engine. An ellipsoid arc distance is scaled when the value is at an elevation and needs to be reduced to the ellipsoid surface. If the Is COGO Ground field is True, the ellipsoid arc distance value is multiplied by the scale factor value in the Scale field before it is input into the least-squares engine as an ellipsoid arc distance measurement type.

The value in the Scale field is not a combined scale factor; it is a factor that relates to elevation corrections. The formula for scaling the ellipsoid arc distance value is as follows:

ellipsoid arc distance on the ellipsoid = scale factor * ellipsoid arc distance at elevation

Ellipsoid arc distances are the only measurement type that can be scaled in this way prior to input into the least-squares adjustment engine. Standard distance measurements are scaled by converting to a slope distance, as described in the Parcel fabric z-attribute processing in the DynAdjust engine section below.

### Parcel points

Parcel points are input as the following point types to the DynAdjust least-squares engine:

- Free—These are regular parcel points. The point shape geometry is updated when the results of the least-squares adjustment are applied to the parcel fabric.
- Weighted—The coordinates of free points can be weighted by assigning an accuracy value in the XY Accuracy field.
- Constrained—The coordinates stay fixed and are not updated when the results of the least-squares adjustment are applied to the parcel fabric.

#### Free points

A parcel fabric point is free when its Adjustment Constraint field is set to XY free, Z Constrained. This is the default.

Free point coordinates are recalculated by the least-squares adjustment to get best, adjusted estimates of their locations. Vectors are created for free points that were adjusted and are stored in the AdjustmentVectors feature class. Vectors represent the shift from the original coordinate locations of the point to the adjusted coordinate locations. When the results of the least-squares adjustment are applied to the parcel fabric, vectors are applied to free points to update their coordinate locations and shape geometries. The shape geometries of parcel lines and polygons connected to these points are also updated.

##### Note:

If the Fixed Shape field of a point is set to Yes, the point shape will not update when the results of the least-squares adjustment are applied to the parcel fabric.

#### Weighted points

To set a point as a weighted point in the least-squares adjustment, set the Adjustment Constraint attribute to XY free, Z Constrained and add an a priori accuracy estimate to the XY Accuracy field. Weighted points have a greater influence that free points on the outcome of a least-squares adjustment.

When the least-squares adjustment recalculates point coordinates for weighted points, their a priori accuracy estimates will influence the outcome of the adjustment. Weighted points with higher accuracies are expected to adjust less (shorter adjustment vectors) than weighted points with lower accuracies

When applying the results of a least-squares adjustment to the parcel fabric, weighted points adjust based on their given standard deviations (accuracies) and on the influence of line dimensions connected to the point. Weighted points with higher accuracies are expected to adjust less (move less) than weighted points with lower accuracies.

The coordinate values stored in the X and Y fields of weighted points are converted to geodetic latitude and geodetic longitude measurements and input to the DynAdjust least-squares engine. The adjusted geodetic latitude and geodetic longitude measurements are stored in the AdjustmentLines feature class. Weighted points can be flagged as outliers if their adjusted coordinates do not fit with the adjusted solution of the selected network.

##### Note:

A higher value in the XY Accuracy field of a weighted point gives it a greater allowable range to move, and its coordinates will therefore have a lower influence on the final adjusted coordinates in the solution. A lower value in the XY Accuracy field will have more influence on the final adjusted coordinates of the solution. This means that a higher value in the XY Accuracy field is correlated with a lower weight in the adjustment network, and conversely, a lower value in the XY Accuracy field is correlated with a higher weight. The expected range for values in the XY Accuracy field is 0.005 meters to 10 meters (0.015 feet to 30 feet).The attributed coordinate values of weighted points are processed in the least-squares adjustment as follows:

- If there are no coordinates (Null) in the X and Y fields of a weighted point, the least-squares analysis uses the shape geometry of the point.
- When the results of a least-squares adjustment are applied to the parcel fabric, coordinate values stored in the X, Y, and Z fields of the weighted point do not change. The adjustment derives an updated spatial location for the point (based on its weight). The adjusted coordinates are stored in the Adjusted X, Adjusted Y, and Adjusted Z fields in the AdjustmentPoints feature class.
- Vectors are created for weighted points that moved and are stored in the AdjustmentVectors feature class.

#### Constrained points

To set a point as constrained in the least-squares adjustment, set the Adjustment Constraint attribute to XYZ Constrained. Constrained point coordinates stay fixed (do not move) in a least-squares adjustment. The accuracy of constrained point coordinates is 5 millimeters and overrides any accuracy values entered in the XY Accuracy field. Constrained point coordinates have the highest possible influence on the outcome of a least-squares adjustment.

Constrained points are input and processed in the least-squares adjustment as follows:

- If there are no coordinates (Null) in the X and Y fields of a constrained point, the least-squares adjustment uses the shape geometry of the point.
- Constrained points are fixed and do not move. However, if the shape geometry of a constrained point is different from the coordinate values in the X, Y, and Z fields, they are updated to match the attributed coordinates when the results of a least-squares adjustment are applied to a parcel fabric.

## Parcel fabric z-attribute processing in the DynAdjust engine

Dimensions in parcel record documents are usually represented at ground level and are independent of any map projection. Distances are horizontal lines at average elevations between points and the actual elevations at points are not taken into account. Dimensions on parcel record documents are stored in the COGO attribute fields of the parcel fabric line feature class.

### Slope distances

The DynAdjust engine uses slope distances between points. The elevations at points are taken into account resulting in sloped lines rather than horizontal lines. Distance dimensions of parcel fabric lines are converted to their equivalent slope distances when the parcel lines are input into the DynAdjust engine.

Slope distances are calculated on the fly using the elevation values stored in the Z attribute field on the parcel fabric Points feature class. If the z-attribute value of a point is null, the point is assumed to be at 0 elevation (sea level). The original COGO dimensions of the input lines are not altered.

After running the Analyze Parcels By Least Squares Adjustment tool to perform a weighted least-squares adjustment, the computed slope distances of the parcel lines are populated in the Measurement field of the Adjustment Lines analysis layer. To view the Measurement field, expand the Analysis group in the Contents pane and open the attribute table of the Distance sublayer under Adjustment Lines.

The slope distance is always longer than the original horizontal distance of the parcel line.

### Z-attributes

It is not necessary to populate point elevations in the Z attribute field to get good results from the least-squares adjustment. However, adjustment results are improved with point elevations, especially when points are on the ends of long lines.

When assigning elevations to points, the elevations do not need to be highly accurate. Elevations can be interpolated from contours, obtained from spot heights on topographic basemaps or from a world elevation service.

The DynAdjust engine only uses elevation values stored in the Z attribute field of points. The point geometry is not used.