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

I have two layers of polygons with administrative boundaries. Although they come from the same data provider, they seem to have small discrepancies and do not 'fit' each other.

How could I merge these two layers in ArcGIS 9.3 removing overlaps and gaps between them?

Would it be possible to prioritize one layer (grey one in my case) and 'fit' the other one (purple) accordingly?

alt text

share|improve this question
When i worked in forestry techs would often union such layers together (results of manual digitizing) which resulted in anomalies that we called "slivers". We were required to eliminate slivers smaller then a certain size and it wasn't an easy process; programmatically identifying which polygon should a sliver merge to based on predefined set of criteria,etc. There are some tools you could try but they work with area size which i found is not often desirable: – Jakub Nov 3 '10 at 13:31
Thanks Jakub. For some mysterious reason I can only 'merge' these layers - 'union' brings an error. ArcGIS can deal with slivers but decides about merging on the basis of length ofshared boundary (I think), which will not be an option for me. – radek Nov 3 '10 at 15:51
@Jakub: Not a real contribution, just an amusing anecdote: The original 1982 ARC/INFO brocure, which recently got posted up at, had "automatic sliver removal" as part of its feature list. :) So few real steps forward since then, and so many steps backwards. (In particular: abandoning topologically-aware formats.) – Dan S. Nov 3 '10 at 19:19
up vote 10 down vote accepted

"I tried 'integrate' already. It worked in terms of removing gaps, but also generalized all polygons according to specified cluster tolerance."

The question is whether you want to keep the 'Grey' polygons separated as they are now. In order to NOT generalize the boundaries you might have to do this the long way, you could Union -> Spatially Select all polygons from the result whose centroid falls within the original purple polygon -> Merge selection

At this point you will have the 'Grey' fetures unalteres and the 'purple' polygon following exactly around the 'Grey' where there was an overlap.

This will still leave you with the gaps; if you are merging all of the 'Grey' features into one then use a similar procedure: create another polygon feature on a separate layer that overlaps all the 'gaps' and union. (Or use another technique to fill the gaps)

Now the gaps will be filled with features with no attributes. You could refer to these as slivers. If all features are to be merged to a single 'Purple' feature then select all 'slivers' and merge to purple. To do it the other way around and the only way to somehow automate the process at this point is by using a tool that merges sliver polygons to it's neighbors or best manually.

There are tools that can eliminate slivers by merging them to the largest adjacent polygon (more ideally in combination with attribute criteria) ( However, I would strongly recommend to find a tool/script that merges slivers to the adjacent polygon that it shares the longest boundary with. This can be done programatically with ArcObjects but i don't know if a tool that does this is available. These algorithms can get quite complex when you get into problems like stacked slivers, etc. I've never tried the mentioned tool so i don't know how it deals with real nasty situations like stacked slivers (needs to be recursive) or whether you can enter attribute criteria...

share|improve this answer
Thanks Jakub. This is the closest I can get to a solution. 'Union' was a key function here. I then created temporary layer without all 'grey' features using 'Erase'. Will still have to remove slivers somehow, but with minimal manual imput 'Eliminate' should cope with that. – radek Nov 3 '10 at 20:38

Two options:

share|improve this answer
Thanks Swingley. I tried 'integrate' already. It worked in terms of removing gaps, but also generalized all polygons according to specified cluster tolerance. Will try to play with topology then. – radek Nov 3 '10 at 14:05
Topology rules works and you can use the trace tool (grey boundary ranked higher) - # Click the Cut Polygons tool Cut Polygons Tool on the Editor toolbar. # Click Trace Trace on the Editor toolbar palette.… – Mapperz Nov 3 '10 at 15:16
Thanks Mapperz. Are these tools available in ArcGIS 9.3? (sorry, that wasn't specified initially - fixed now in the question) – radek Nov 3 '10 at 17:35
Trace Tool is in 9.3… can be used with topology rules. – Mapperz Nov 3 '10 at 17:44
Thanks, will try. – radek Nov 3 '10 at 19:19

you don't mention what version of arcmap or what level you have. In argis 10 there is a geoprocessing pulldown which has everything you need. the Union is what you will have to use. Then you can merge two polygons (in an edit session within the same layer) to end up with what you want. Also ET-geotools has free functionality to do this. And I believe Hawths tools has some free tools. I use ET tools. Ian-Ko Spatial Technologies

share|improve this answer
Thanks Brad. I'm on 9.3 unfortunately [updated that in question]. – radek Nov 3 '10 at 14:01
You should still be able to use the same tools, they are just in the toolbox – Brad Nesom Nov 3 '10 at 17:03

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.