Complex shapes

Available with Location Referencing license.

Routes that form complex shapes, such as self-closing and self-intersecting geometries, are supported throughout ArcGIS Pipeline Referencing.

Supported complex shape types include the following:

  • Loops
  • Lollipops
  • Alpha
  • Branch
  • Barbell

Each of these route shape types has rules defining how they are loaded, calibrated, and edited using ArcGIS Pro.

Load and calibrate complex routes

You can load complex routes individually or in bulk using the Append Routes tool. All required fields, such as route ID, from date, and to date, must continue to be mapped to run the tool. Each route shape type has different rules for the location of the start and end of the route.

Generate calibration points for complex routes using the Generate Calibration Points tool or by manually adding points to the calibration point feature class.

Depending on the complex route type, the rules defining placement and minimum calibration points vary. The Generate Calibration Points tool automatically creates the minimum number of required calibration points and the required locations for these routes.

Apply calibration to a route with a complex shape using the following process:

  1. Find the start and end of the route geometry.
  2. Traverse the route from the start to end in a manner that results in strictly increasing (monotonic) measures.
  3. Apply calibration to the route using the calibration points located along the route traversal.

The following sections describe requirements for each route type for the start or end of the route, the minimum number of required calibration points, and the locations on each route where those calibration points are placed.

Loop

Loop route

A loop route is a self-closing geometry with the same start and end location.

Loop routes can have a start and end at any location on the geometry, but the start and end must share the same x-, y-, and z-location. Loop routes must have four calibration points: one at the start, one at the end, and two at any other location on the route. Additional calibration points can be added anywhere else along the route.

Lollipop

Lollipop route

A lollipop route is a self-closing geometry with different start and end locations.

Lollipop routes have two specific locations where the start and end of the route are located (shown as the begin calibration and end calibration points). These routes must have a minimum of four calibration points: one at the start (shown in blue), one at the end (shown in orange), and two calibration points at any locations within the loop portion of the route (shown in yellow).

Additional calibration points can be added anywhere else along the route; however, there can be at most two calibration points at the self-closing location.

Alpha

Alpha route

An alpha route is a self-intersecting geometry with different start and end locations.

Alpha routes have two locations on the route where the start and end of the route are located (shown as the begin calibration and end calibration points). These routes must have a minimum of four calibration points: one at the start (shown in blue), one at the end (shown in orange), and two calibration points at any location on the loop portion of the route (shown in yellow).

Additional calibration points can be added anywhere else along the route, but there can be no more than two calibration points at the self-intersecting location.

Branch

Branch route

A branch route is a multipart geometry in which there is no path to connect the start and the end of the route without having to backtrack to a path that was already traversed.

Branch routes have multiple locations where the start and end of the route are located. These routes must have a minimum of four calibration points: one at the start (shown in blue), one at the end (shown in orange), and two additional calibration points at the ends of the parts that are not the start or end of the route (shown in yellow).

Additional calibration points can be added anywhere else along the route.

Barbell

Barbell route

A barbell route is a self-closing geometry in which the start and end locations are within loops.

Barbell routes must have a minimum of six calibration points: one at the start (shown in blue), one at the end (shown in orange), and four calibration points located in the loops. Each loop must have two calibration points at any location (shown in yellow).

Additional calibration points can be added anywhere else along the route, but only two calibration points are allowed at each self-closing location.

Errors while loading, calibrating, or editing complex routes

As mentioned above, there are specific requirements to ensure complex routes can be loaded, calibrated, and edited using Pipeline Referencing editing tools. Error messages appear if unsupported scenarios are encountered while editing.

The remaining sections discuss some common error scenarios encountered while editing complex routes and how to avoid them.

Retirement in the middle of a loop route

Retirement in the middle of a loop route produces an error.

Attempting to retire the middle of a loop route produces an error because the start and end of the loop route must be at the same x-, y-, and z-location.

The retire fails since the start and end would be in the middle of the route, instead of at the ends, and there is no way to update the route with strictly increasing (monotonic) measures.

Learn more about complex route retirement scenarios

Retirement of the loop portion of an alpha route without downstream recalibration

Retiring the loop portion of an alpha route without downstream recalibration produces an error.

Attempting to retire the loop portion of an alpha route without the recalibrate downstream option checked produces a nonmonotonic error. Retiring the loop results in two nonloop portions.

The retire fails since different measures at the point where the route self-intersects result in a measure gap and a route that does not have strictly increasing (monotonic) measures.

Learn more about complex route retirement scenarios

Retirement of a branch section of a branch route

Retiring a branch section of a branch route produces an error.

Attempting to retire a branch section of a branch route results in a nonbranch route failing if the result is a simple (nonbranch) route with start and end measures in the middle instead of at the ends, or if the resulting route is a nonmonotonic route.

Learn more about complex route retirement scenarios

Creation of a complex route from more than one centerline

Creating a complex route that uses more than one centerline fails.

Creating a complex route that uses more than one centerline requires that the centerline order match the route traversal order from start to end. The complex route is not created if the chosen centerlines result in a nonmonotonic route.

When the traversal order does not match, the following error appears:

The chosen centerlines will result in a nonmonotonic route. Reorder the centerlines or the parts that make up the multipart centerlines.

Use the Create Route tool to reorder the centerlines so that traversal is strictly increasing from start to end.

Learn more about complex route creation scenarios

Creation of a complex route from centerlines whose direction does not match

Creating a complex route using centerlines whose direction does not match fails.

When creating a complex route that uses more than one centerline, the centerline order must match the route traversal order from start to end.

If the route traversal order of the centerlines isn’t strictly increasing (monotonic), the following error appears:

The direction of digitization of the chosen centerlines or their parts does not match. Therefore, direction of digitization of the first centerline or part will be used. Do you wish to proceed?

If you choose to proceed, the centerlines in the wrong direction are flipped to match the direction of the first centerline and the edit succeeds.

Use the Create Route tool to reorder the centerlines so that traversal is strictly increasing from start to end.

Learn more about complex route creation scenarios

Creation of a gapped branch route from multiple centerlines or a multipart centerline

Creating a gapped branch route from multiple centerlines or a multipart centerline fails.

Creating a gapped branch route using multiple centerlines or a multipart centerline fails if the route cannot be traversed from start to end in a strictly increasing (monotonic) order.

Use the Create Route tool to reorder the centerlines so that traversal is strictly increasing from start to end.

Learn more about complex route creation scenarios

Addition or modification of a calibration point using a nonmonotonic measure

Adding a calibration point using a nonmonotonic measure fails.

When adding or editing a calibration point on a complex route, the measure must result in a strictly increasing (monotonic) route.

The following error message appears when adding or editing a calibration point using a nonmonotonic measure:

The input measure will result in a nonmonotonic route.

The following error can also appear:

Provided measure %1 will result in a nonmonotonic route for routeId %2.

Change the measure to ensure the route is strictly increasing (monotonic) or choose to recalibrate downstream to add or edit the calibration point successfully.

Learn more about complex route calibration scenarios

Deletion of a required calibration point

Deleting a required calibration point fails.

As mentioned in the previous sections, each complex route type requires a specific number of calibration points at specific locations.

The following error message appears if you try to delete a required calibration point:

Unable to delete calibration point. At least two calibration points are required to keep the route calibrated.

The following error can also appear:

Deleting calibration point with the objectId %s will create a non-calibrated route.