I'm searching for an ArcMap (10.2) Tool that merges multiple polygons over a given distance (in the end term I want to select all polygons with an area greater than 7ha). To illustrate my use case here is a screenshot of my problem:

example of unmerged features

As you can see I selected three polygons that the tool should merge into one polygon. To be more precise I want to merge every feature that has a distance less than or equal to sqrt(100^2+100^2) (this is because the size of a a square is 100x100 meters). What I tried so far is the Aggregate Polygons tool within the Cartography Toolbox, but the result was unsatisfying:

unsatisfying result of aggregate polygons

The red circles show the side effects of filling some gaps I rather want to be ontouched. Also the area indicated by the green circle is not a part of the merged polygon. The following is the generated python snippet of my tool execution:

arcpy.AggregatePolygons_cartography(in_features=...,out_feature_class=...,aggregation_distance="142 Meters",minimum_area="0 SquareMeters",minimum_hole_size="0 SquareMeters",orthogonality_option="ORTHOGONAL",barrier_features="#")

Am I using the wrong tool for the job?

My current workaround is to copy the featureclass; create a buffer within the copy; dissolve (with multipart none); select the features with area > 7ha; select by intersect; copy the selection to a new feature class

After talking this over with a tech from our group I'm afraid the data is not given as a raster file, but only as a feature class (and converting it back and forth again wouldn't be ideal)

For clarification, here is a simplified problem of three diagonaly adjacent 100x100 meter polygons(/features @I). @II/III, we're searching for a solution that scans for neighbors not only in a horizontal and vertical way, but also in diagonal directions. e.g. @IV scans for neighborcandidates - @V finds one, adds the square to the feature(@VI) and scans for new neighbors. The result should look like @VII with all three squares merged together and the according data records should state a shape area of 300 sq m.

enter image description here

  • My personal preference is to organize the attributes as I need, then just Dissolve, but sometimes I'll just plow through what I need with da.cursors in Python. Unfortunately, your problem statement isn't particularly clear, so you'll need frame the solution yourself. – Vince Feb 26 '17 at 0:50
  • Perhaps try raster solution. Group has an option of 8 neighbors. 3 polygons in example will create one group – FelixIP Feb 26 '17 at 18:33
  • Tool name in spatial analyst is region group – FelixIP Feb 26 '17 at 18:35
  • You could try setting XY Tolerance (Environment setting) higher than sqrt(100^2+100^2) and then Dissolve – BERA Mar 16 '17 at 17:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.