Упрощенный внешний выпуклый корпус набора точек с использованием JTSJAVA

Программисты JAVA общаются здесь
Anonymous
Упрощенный внешний выпуклый корпус набора точек с использованием JTS

Сообщение Anonymous »

Я хотел бы использовать JTS для расчета упрощенного (меньшего количества точек) выпуклого корпуса из набора точек, включая внутренние и периметровые точки, где корпус разрешается быть немного больше в области, чтобы упростить, но должен содержать все точки. Я думаю, что PolygonHullSimplifier.hullbyareadelta разработан для этого.
фрагмент кода здесь (те же данные, что и графики, но в разных единицах.) Https://gist.github.com/joshgold22/11d3 ... d1241to241. Пробовал создать многоточечную, вызов Concexhull () на нем и передавая его в PolygonhullSimplifier.hullbyareadelta (Hull, True/*Overt*/, 0.1/*areadeltaratio*/)
Были два удивления для меня. Во -первых, Congvexhull, похоже, не вернул Concexhull, хотя он удалил много очков. Showing the original set and then the result of convexHull():
Изображение


Второе, независимо от того, как я играю с Areadeltaratio , результатом Hullbyareadelta всегда был идентичен базовым (промежуточным) коническому полигону. (Это отличалось, когда я попробовал внутренний корпус.) < /P>
Я добавлю еще одну картину упрощения DouglaspeuckersImplifier, который работает, но я не гарантированно содержать все оригинальные точки. < /P>
. Peucker упрощение "src =" https://i.sstatic.net/vto7pyno.png "/>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -using-jts

Вернуться в «JAVA»