logo_web1.jpg (5049 bytes)
HOME ET Solution Center index HOME
Split/Divide Polygons with Polylines using ET GeoWizards


The purpose:

Many questions similar to the one below have been asked on the ArcGIS forums:

"I am trying to divide county polygons into pieces, and I want to divide it using a road. (i.e. make 2 polygons out of each county, 1 which is north of I-80, and one which is south of I-80, which goes through all of the counties in my dataset). Seems like a relatively simple operation, but I can't figure out how to do it with ArcMap Editor. I thought I'd be able to do this with the GeoProcessing wizard, but I can't, since one is a line shapefile, and one is a polygon shapefile."

Some of the answers (the only ones that gave some sort of a solution) were as follows:

"- select the polygon to be split
 - change the task to Cut Polygon Features
 - use the sketch tool
 - right-click on the road which will split the polygon
 - choose Replace Sketch
 - use F2 or Finish Sketch"

The answer above might do the job, but ONLY if a road goes through the whole county without having an intersection with another road. In other words you need a single polyline that has its ends out of the polygon to be split in order to use the above mentioned approach. 

How do you feel about using the above procedure for splitting all the counties in a state with each road of the road network - ONE BY ONE ? Another question is how successful this will be - not that many roads cross a county without intersecting another road.

This document describes a procedure that will help you to split a polygon dataset with a polyline dataset using an ArcView license and the functions available in ET GeoWizards.  

ET GeoWizards functions to be used

Note that the links above are to the functions available via the interface of ET GeoWizards. If the procedure is to be performed in the Model Builder - refer to the corresponding tools available in the ET GeoWizards ToolBox. If performed via a VBA script - refer to ET GeoWizards Scripting

The task

We have four US counties and the highway network in the same area. The goal is to split (divide) the county polygons based on the highway network. 

Original polygons (few US counties)

Split Polylines (some US highways)

The Solution proposed:

We have the original polygons (counties) and the polylines to be used for splitting (highways). What if instead of trying to split the county polygons with the highway polylines we go a step back - get the counties boundaries (Polylines), merge them with the highways (Polylines) and use the merged dataset to build a brand new polygon dataset. Then we can get the original attributes from the County polygons  to the resulting  dataset with a simple Spatial Join. The Process step by step:

  1. Convert the original polygons to polylines -Polygons To Polylines function

  2. Merge the polylines from the previous step with the split polylines - Merge Layers function

  3. Build polygons from the merged dataset (the Clean option must be used) - Build Polygons function

  4. Create label points for the newly built polygons - Polygon To Point function (label option)

  5. Use Spatial Join  (polygons to points) to get the attributes of the original polygons to the label points

  6. Use Spatial Join (points to polygons) to get the attributes from the label points to the polygons (created in point 3 above)

Original Polygons Highway Polylines
Polygons To Polylines (Get the boundaries of the original polygons as polylines) Merge (County polylines with Highways)
Build Polygons (with clean option) No attributes at this stage Polygon To Points (with label option) - Get the label points of the polygons created. 
Get Attributes from original polygons (Spatial Join) and attach them to the label points created. Get Attributes from the Label Points (Spatial Join) and attach them to the split polygons.

How to get it done?

ET GeoWizards offers three ways of achieving the above procedure

  • Via the User Interface - just perform the steps one by one using the Wizards available
  • With a simple VBA script - many of the functions of ET GeoWizards are available for use within VBA scripts or custom applications written in any COM language. See an example with working code here
  • Create a Geoprocessing Model in the Model Builder (ArcGIS 9.0 and above only) using the ET GeoWizards geoprocessing tools made available in version 9.2. A model performing the task is included in the download of ET GeoWizards  for ArcGIS 9.x

A diagram of the 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