I'm working on a project where I have asked a number of individuals to digitize the same features on the same satellite image. For example, an image of a coast where a group of individuals each draw polygons for the sand, water, vegetation and urban land. Each individual creates 4 feature classes. I would like to combine their efforts to create a final digitised map where the boundaries between feature classes are delineated by occurrence (i.e., if 70% of individuals say this region is sand, 20% water and 10% vegetation, then class as sand).

My current workflow to achieve this is:

For each class, I combine their polygon feature classes into a single feature class using the "count overlapping features" tool in ArcGIS. The count value is the occurrence.

I then place all feature classes into a geodatabase topology with the following rule: "must not overlap with".

I now have a number of overlap errors, the majority being where a 1 or 2 individuals have mapped the area a different class.

Manually editing these tens of thousands of overlaps is too time-consuming. I, therefore, believe I should automate the assignment of polygon overlaps using this criterion.

Overlap Scenario 1: For a given overlap, if there is a difference in occurrence value between the labels, then select the label with the highest occurrence. (i.e., 3/7 users classified it as water and 2/7 as sand -> assign overlap as water).

Overlap Scenario 2: For a given overlap, if there is no difference in occurrence value between the labels, then select the label according to the following ranking "urban land > vegetation > sand > water". (i.e., 1/7 classify it as water and 1/7 classify it as sand -> assign overlap as sand).

How can I eliminate overlaps by feature occurrence and weight?


Here is a map of water by one individual

1 volunteer sand map

Here is a map of water by a second individual

enter image description here

Using the "count overlapping features tool" here is a map of water combined by several individuals, where darker colours = higher overlap occurrence.

enter image description here

Here is a map of water by occurrence and sand by occurrence, where darker colours equal a higher occurrence. There is a band of overlapping polygons along the boundary between sand and water. I wish to fix these polygon errors by selecting the polygons with the highest occurrence. If the occurrence value is equal between feature classes, then assign the overlap using the following ranking "urban land > vegetation > sand > water".

enter image description here


Possible solution:

  1. Create non-overlapping pgons and make points of their inside centroids
  2. Merge original polygons
  3. Spatially join (1:M) this points to merged original polygons
  4. Compute COMBO field by concatenation of original point id and land use of joined polygon:

enter image description here

  1. Run frequency tool on COMBO field and extract original point id into new field:

enter image description here

  1. Use summary statistics to obtain highest frequency:

enter image description here

Transfer frequency from (5) and highest frequency to points (result of spatial join) using relevant joins:

Remove points where Frequency <> Highest. You can sort remaining by Rank (Asc):

enter image description here

What remains is delete identical ORIG_POINT records and transfer result into non-overlaps. Without ranking - much simpler task.

  • Sorry, I'm struggling to follow this answer. 1) What is meant exactly by "create non-overlapping polygons" and how would this be achieved? – KT Jean Jun 11 '20 at 9:41
  • Polygons to line, line to polygon. – FelixIP Jun 11 '20 at 19:08

Your Answer

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

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