logo_web1.jpg (5049 bytes)
HOME ET Solution Center index HOME

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. 

Typical cadastral dataset

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.
Polygon boundaries as polylines

STEP1: 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.
Cleaned polylines

A Polyline dataset representing duplicates

Clean polylines overlaid with the duplicates

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.

Middle points of the duplicates.

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.

In order to make the process Model Builder friendly we will make an additional step.

Selected Street Fronts

Preparation of the point dataset:
  • Delete all the existing fields. They are not needed and after the Spatial Join will be added to the Polyline attribute table.
  • Add a new field (for example "Duplicate")
  • Calculate the values for all points using the field calculator (for example [Duplicate] = "Yes") 

STEP 4: Spatial Join the middle points to the clean polylines using the "Nearest" option and a very small search tolerance (0.01 for example).

STEP 5: Select And Export function will export all the street front polylines to a new dataset. As a Where clause use "Duplicate" <> "Yes"

STEP 6: Calculate Length function will calculate the length of the street fronts in units of choice.

Street fronts labeled with their length

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

See ET GeoWizards User Guide for more information

For any comments and enquiries contact: webmaster@ian-ko.com
Esri and all Esri products mentioned are trademarks of Environmental Systems Research Institute, Inc.
Copyright: Ianko Tchoukanski