Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In looking at this question, it occurred to me that I am not sure how one would go about using geoprocessing tools in ArcGIS to split a polygon with a line programatically.

Manually, you would use the Cut Polygons tool or the Split Polygons tool on the Topology toolbar, but how would you accomplish the same task using modelbuilder or python groprocessing scripting tools?

Right off the bat I think of all of the tools in the Analysis toobox like Union, Identity, etc, but those are all Polygon-Polygon tools, NOT Polygon-Line tools. Even the Split tool is Polygon-Polygon.

Any ideas? Accepted answers will be for ArcGIS, but for completeness sake, other platform answers are encouraged as well.

share|improve this question
As far as other platforms go, ArcView 2 and 3 could do this with a single request, aPolygon.Split (aPolyLine) :-). – whuber Jul 31 '12 at 4:11
I hope there will eventually be a GP tool that would actually allow us to do this in ArcGIS, but thanks to everyone for all of the current suggestions. – RyanDalton Aug 13 '12 at 15:16
up vote 5 down vote accepted

Using ET Geowizard you can access the code for the Split Polygons with Polylines tool:

enter image description here

Here is the link to the script.

Alternatively, you can use ArcObjects to do this:

Cut Polygon Snippet

You may also use the one side buffer method described here.

share|improve this answer

If you want to go outside of ArcGIS then use geom.splitpolysbylines.

Personally i have never use it in a programme but i think you can access this commondline with python, please see the help for more details.

share|improve this answer

After the fact, I ended up creating my own ModelBuilder tool. I had forgot about this question and posted my solution to another similar question. For completeness, this is a repost of the answer:

I thought there must be a way to do this, so I created my what I believe to be a pretty good solution. I have posted it on the ArcGIS Resources site in the Community->Technical->Analysis & Geoprocessing->Analysis->Gallery.

The tool is called Split Polygons With Lines and requires an ArcInfo license because of some of the tools used within the model. Essentially what I did was create the minimum bounding box for the polygons and extend the lines to them. So using some ModelBuilder voodoo, I was able to turn the linework into polygons, which then I used Identity to split the original polys.

Please test it out and see if it works for you. In my (limited) tests it preserved attributes of the original polygons, and split only the existing polygons.

share|improve this answer

if you haven't some high accuracy issues , you would buffer the line with the minimum distance for eg (0.002 i think that should be superior than the accuracy of you feature class) , then apply a erase tool to polygon by the buffered line.

share|improve this answer
Good idea, which I originally considered too, but this would actually result in either 3 polygons from the original (left side of buffered line, sliver polygons in the middle, and right side of original polygon). I guess you qualified that with "high accuracy issues", but I don't think this workaround qualify's as a true "solution" for this question. – RyanDalton Jul 30 '12 at 23:14
sorry i've made a mistake, i meant the erase tool , i've updated to the answer – geogeek Jul 30 '12 at 23:18
yes i see, that's weird that we lack this tool from the toolbox, i wish that we could find a better workaround – geogeek Jul 30 '12 at 23:20

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.