1

I have a village level shapefile. Using Dissolve_management, I collapse the villages to district level. I also use Multi_Part option to prevent multiple entries for same polygon and so the resulting file has one row for each district.

The issue is that the village file has very tiny gaps between villages. When I use Dissolve_management, these gaps/slivers/holes are appearing in the resulting District Polygons. Since there are hundreds of these districts and within each district there are multiple slivers, I want to automate the process of sliver removal from within the polygons.

Is there a way to remove these empty spaces/slivers from the larger district polygons?

I want these slivers to be part of the polygons they lie in.

12
  • 2
    I think this may be a duplicate of gis.stackexchange.com/questions/11004/… - if you think not, then can you edit your question to clarify why you think your question is different and no answer there applies.
    – PolyGeo
    Commented Apr 27, 2015 at 22:47
  • Okay let me check the comments there and I will update here shortly. Thanks for the link, I don't know why I did not find it earlier.
    – user52932
    Commented Apr 27, 2015 at 22:53
  • As well as Eliminate you can also use Integrate (or a combination of both).. be sure to keep a backup of your data as integrate modifies the existing data and can, if you use too high a tolerance value, destroy data. Use as small a value for cluster tolerance as you can get your results with; you might want to have a few tries at it before you're happy that all the linework is good. Commented Apr 27, 2015 at 23:18
  • @MichaelMiles-Stimson, I am trying to use eliminate but it just gives an error. So in the Results panel, it says Output Feature Class:<empty> and has a cross next to the task. I think the issue is that there are spaces inside a polygon as opposed to spaces b/w polygons. So I have holes within a polygon and I just want to fill these up so that they are part of the polygon.
    – user52932
    Commented Apr 27, 2015 at 23:32
  • You need to specify an output feature class for eliminate, see the help on the link Eliminate_management (in_features, out_feature_class, however Integrate help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… does not Integrate_management (in_features, cluster_tolerance) modifies your existing data. Commented Apr 27, 2015 at 23:41

3 Answers 3

3

This method I have used before to great success to remove all voids (holes) in polygons - requires an Advanced (ArcInfo) license:

Get your attributed points using Feature to Point with the INSIDE option (important) voids will not create a point (or at least should not) check for unattributed points just to be sure.

Export your bounding lines using Polygon to Line, be sure to specify IDENTIFY_NEIGHBORS in the tool.

ArcGis stores geometries with exterior rings clockwise and interior rings counter-clockwise we can use this to approximate which are voids, as lines travelling counter-clockwise around a void will have LEFT_FID values of -1.. select these by attributes and delete (in ArcMap) be sure to unselect the boundaries of exterior rings on the far outside, these also should have LEFT_FID values of -1, if the polygons are geometrically correct - but have a quick check just to make sure.

Rebuild your polygons using Feature to Polygon with the saved centroids from the first step to restore your attributes. If there are any segments missing between the lines the polygons will 'bleed' into an adjacent polygon so it's best to check for gaps using Feature Vertices to Point with the DANGLE option to look for free end points.

This method will have varying success if there are gaps between polygons.

4
  • Hmm. So I am working through this but it my RIGHT_FID does not have any -1 values. It ranges from 0-499. What does that mean? Also a selection of Left_Fid=-1, is selecting the boundary of the entire country and some interior districts. Is this a problem?
    – user52932
    Commented Apr 28, 2015 at 0:25
  • That's right, even the outside is LEFT_FID 'cos they're clockwise, it's been a while, in ArcInfo they were 0 for the world polygon. I'll change that. Just make sure that the far exterior boundary isn't deleted or those polygons will disappear. You could intersect with a large box so that the box gets deleted and not the boundaries. Commented Apr 28, 2015 at 0:28
  • What do you mean by the far exterior boundary? Like the district boundaries which form the boundary of the country?
    – user52932
    Commented Apr 28, 2015 at 0:33
  • The outside of all the polygons, anything that is supposed to be there but doesn't touch another polygon on the other side.. the ephemera of the data. Of course you can dissolve everything to get the bounding line then copy it back in. Commented Apr 28, 2015 at 0:37
0

Try using the "clip" tool.

Simply put the problem polygons in the input features and clip it by itself.

Be sure xy tolerance is zero.

0

I had an issue where I reclassed a raster to all ones and did a convert to polygon and wound up with tons on internal no data pixels as holes. I basically just wanted the overall boundary so I did a Union with itself and that made all the holes into polygons. Then I just dissolved it and voila, just what I wanted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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