• постобработка альфа-корпуса - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть таблица с координатами точек, и я хочу, чтобы вокруг них был самый маленький многоугольник.Я пробовал разные функции, и до сих пор alphahull работает лучше всего для моих целей.Мой главный интерес в области корпуса.У меня есть приблизительно 3500 наборов данных, поэтому я должен найти надежный метод для своего анализа.

Я проанализировал некоторые наборы данных и понял, что в некоторых случаях я получаю корпус в корпусе, а areahull() не можетвернуть область.Более высокое альфа-значение позволило бы избежать этого, но значительно переоценило бы мою область.

Есть ли возможность постобработки моего альфа-корпуса для удаления второго корпуса?Или лучший способ получить размер области?

library(alphahull)
tmp <- ahull(path.points.1$x, path.points.1$y, alpha = 50)
plot(tmp, wpoints = F)

Plot: Alpha = 50

в качестве примера набора данных

1 Ответ

0 голосов
/ 30 ноября 2018

Я нашел решение, которое, кажется, работает для моих целей: функция ahull_track() возвращает только границу как geom_path() -объект.координаты отдельных граничных сегментов сохраняются в списке.к сожалению, они не в правильном порядке, так что это не простое решение.Мне пришлось написать функцию, которая переставляет сегменты в правильном порядке и генерирует многоугольник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...