Рішення PolyGeo - це те, у кого я працював і працюю добре (+1). Іншою альтернативою є буферність ваших полігонів невеликою кількістю, а потім де-буферний результат на ту саму кількість (скажімо + 1м, а потім -1м). Це також добре працює, але несе невеликий ризик випадкового приєднання полігонів, які сусіда, на стільки ж, як і ваш буфер. Це також може збільшити кількість вершин (що може бути або не бути проблемою).
Ви також можете написати сценарій для надійного рішення, повторюючи кожен полігон, створюючи тимчасові багатокутники на основі внутрішніх кілець і перевіряючи їх на їх площі. Якщо вони нижчі за ваш поріг, ви видалите це внутрішнє кільце з геометрії та оновите рядок. Це рішення є більшою роботою, ніж рішення PolyGeo, або мій буферний злом, але, можливо, "чистіший" підхід.