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

This question already has an answer here:

I have a multipart feature and I need to convert it to a singlepart feature.

Couldn't find any code sample.

I wonder if i could get some help from you?

I'm working with ArcGIS 10 and c#.

share|improve this question

marked as duplicate by PolyGeo Feb 22 at 10:22

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

How do you want to handle islands (interior rings)? – Kirk Kuykendall Apr 17 '12 at 20:23
Curious if there a non-GP way to do this in ArcObjects? – blah238 Apr 19 '12 at 6:41
You can do this w/o the GP. Cast the feature's shape to IGeometryCollection and then check the GeometryCount property to see if it is a multipart feature. Then you will need to create a new feature class to write each part to. Loop the feauture's individual parts using IEnumGeometry and IGeometryBag. – Rich Wawrzonek Apr 20 '12 at 20:46

ArcGIS has a tool: "Multipart to SinglePart".

This can be called with Python or JScript:

import arcgisscripting //not needed for JScript

gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")

gp.MultipartToSinglepart_management("", Output_Feature_Class)

Alternately VBScript:

gp.AddToolbox "C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx"

gp.MultipartToSinglepart_management "", Output_Feature_Class

Not sure how to do it with C#, but I guess you could call one of those languages with it.

share|improve this answer

You can use Geoprocessor object to access geoprocessing tools (in this case MultipartToSinglepart).

Here's a Getting started article about using Geoprocessor.

share|improve this answer
I just solved my problem using the following code. It works exactly the way a need.… – Carol Apr 18 '12 at 12:34

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