Calculating the street frontages of cadastral polygons


Cadastral polygons (Parcels, Lots, Erfs, Stands, Plots, etc.) are used in many GIS applications. A common task that is required quite often is to derive the street frontage of the cadastral polygons.

A common feature of the cadastral datasets (almost everywhere in the world) is that the streets (street servitudes) are represented as an empty space.

In this article used only functions available in ET GeoWizards 12.0


A typical cadastral dataset:
  • Each cadastral polygon has a street front. At least one side of the polygon does not have a neighboring polygon
  • The rest of the cadastral polygon is adjacent to other cadastral polygons

The logic therefore in achieving the task would be:

  • Get the boundaries of the cadastral polygons
  • Find the sides that are common with other polygon boundaries and remove them.
  • The remaining cadastral lines will be street frontages.
STEP 1: Polygon To Polyline function will create polyline dataset from the polygon boundaries. At this stage each polygon is represented by a single polyline and the polylines overlap on the boundaries between the adjacent polygons.
STEP 2: Clean Polylines function will do the following:
  • Create intersections in all locations where two polylines intersect.
  • Resolve self intersecting polylines
  • Clean duplicate polylines

We need also to have a dataset that contains the duplicate boundaries between the polygons. The Clean Polylines function has an option to create such an output

The difference between the dataset created by the Clean Polylines function and the one created by the Polygon To Polyline function is that the new dataset does not have duplicate polylines between the adjacent polygons.

The Duplicates dataset has a single polyline indicating each duplication. One can notice from the image on the left, that what actually is missing from this dataset are the street frontages of the cadastral polygons (no data duplication there because the street servitudes are empty spaces).

The task from here on gets much easier. We just have to eliminate from the Cleaned polylines those that have had duplicates.

The image on the left shows the clean polylines dataset (green) overlaid with the dataset indicating the overlaps (red). All we need to do is to remove the red polylines and we will remain with the street frontages. We need a method to do this without removing some of the street frontages as well.

STEP 3: Polyline To Point function has three export options - Vertices, Nodes, Middle Points. Since we want to create entities that will help us to select all duplicate lines without selecting any other line we are going to use the "Middle Point" option.

On the left we can see that each red polyline has a corresponding point. None of the points touches the green polylines.

Having the middle points we can just use Spatial Selection to select the polylines from the clean dataset that intersect the middle points and delete them.

STEP 4: Spatial Join the middle points to the clean polylines using the "One To Many" option, "Add All" option and a very small search tolerance (0.01 for example). This will join the points only to the cleaned polylines that used to be boundaries between two polygons.

STEP 5: Select And Export function will export all the street front polylines to a new dataset. The goal is to export only the polylines that did not join to the points representing the duplicates. Therefore we are going to use SQL "ET_Joined = -1"

STEP 6: Polyline Characteristics function will calculate the length of the street fronts.

On the left is an image representing the results. We can continue with:

  • Assigning street names to the street frontages dataset (If we have the a street centerlines)
  • Assign street names to the cadastral polygons (since the address of the house will be the one of the street on which the street frontage is).
  • Interpolate the address of each cadastral polygon (see the Reverse Geocode function) if we have street centerlines with address ranges.

The above tasks can be achieved with very similar techniques.

Sample Model of the entire process (ArcGIS Desktop and ArcGIS Pro only)