Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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
3  
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
add comment

4 Answers 4

up vote 3 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
add comment

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.

Hope that will help you.

share|improve this answer
add comment

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.

hopes it could help

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
add comment

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
add comment

Your Answer

 
discard

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.