Skip to main content
Solved

hole

  • September 15, 2025
  • 6 replies
  • 121 views

marionmahot
Contributor
Forum|alt.badge.img+4

I would like to fill the holes or patch the gaps that are not really holes (see image), but in the output I don’t get any attributes. Why is that, and what is the best method? I try Areaamalgamator but ii cannot retrieve the attributs in output…

thank you

 

Best answer by takashi

I created an experimental workspace. A combination of AreaAmalgamator and Dissolver was able to be used to extract areas to be filled. See the attachment to learn more.

Source Polygon
Areas to Fill - blue: real holes, red: pseudo holes (7,000+ m2)
Result after Filling

[Updated the attachment to v2]

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

6 replies

takashi
Celebrity
  • September 16, 2025

Hi ​@marionmahot ,

You can use the Generate List option in the AreaAmalgamator (Amalgamation Mode: Self Amalgamation) to save the attributes of input feature into a list attribute and propagate it to output feature. To restore the original attributes from the list, consider using ListExploder or ListIndexer.


marionmahot
Contributor
Forum|alt.badge.img+4
  • Author
  • Contributor
  • September 16, 2025

Hi ​@takashi,

Thank you but I’m trying to use the areaamalgamator but I’m not getting the expected results. My goal is to fill the interior holes, but I would like to avoid such strong modifications to the outer boundaries (see 1 in the image: the result is shown in red, the source in grey — ideally I would like the contour shown in green, but the output is overly generalized).

Depending on the method used, the holes may or may not be filled (see 2 in the image), but in both cases the resulting boundaries are not satisfactory. In some cases, I need to fill interior holes of around 7000–8000 m². However, when applying these same values to exterior areas, the outer boundaries are excessively simplified (see 3 in the image).

Do you know of an alternative method or approach that would allow hole filling without such aggressive boundary generalization?

Thank you

 


takashi
Celebrity
  • September 16, 2025

You can use DonutHoleExtractor to easily fill (remove) “real” holes - the island-like shapes highlighted by blue in the screenshot below. I understand the challenge is how you can fill the peninsula-like shapes highlighed by green.

How do you determine if a peninsula should be filled? You mentioned about a criteria of area 7000-8000 m², but I think another criteria - the maximum width of the neck of the peninsula would be requied. How do you think of this?

Also, it would be better if you could share a sample data with us, to consider a solution specifically.

 


marionmahot
Contributor
Forum|alt.badge.img+4
  • Author
  • Contributor
  • September 17, 2025

Yes, indeed, setting a maximum width constraint would be better — I would suggest around 1000 m as the upper limit. I’m attaching an example.

Thank you so much


takashi
Celebrity
  • Best Answer
  • September 17, 2025

I created an experimental workspace. A combination of AreaAmalgamator and Dissolver was able to be used to extract areas to be filled. See the attachment to learn more.

Source Polygon
Areas to Fill - blue: real holes, red: pseudo holes (7,000+ m2)
Result after Filling

[Updated the attachment to v2]


marionmahot
Contributor
Forum|alt.badge.img+4
  • Author
  • Contributor
  • September 18, 2025

@takashi thank you so much, perfect. 😊