Имея набор (2D) точек из файла ГИС (карта города), мне нужно сгенерировать полигон, который определяет "контур" для этого отображения (его границы). Его входными параметрами были бы установленные точки и "максимальная длина края". Затем он выведет соответствующий (вероятно, невыпуклый) многоугольник.
Лучшим решением, которое я нашел до сих пор, было создание треугольников Delaunay, а затем удаление внешних краев, длина которых больше максимальной длины. После того, как все внешние края короче этого, я просто удаляю внутренние ребра и получаю нужный многоугольник. Проблема в том, что это очень трудоемко, и мне интересно, есть ли лучший способ.