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