Нахождение евклидова расстояния в R {spatstat} между точками, ограниченным окном неправильного многоугольника

Я пытаюсь найти евклидово расстояние между двумя точками, ограниченными неправильным многоугольником. (т.е. расстояние должно быть рассчитано как маршрут через заданное окно)

Вот воспроизводимый пример:

library(spatstat)

#Simple example of a polygon and points.
ex.poly <- data.frame(x=c(0,5,5,2.5,0), y=c(0,0,5,2.5,5))
points <- data.frame(x=c(0.5, 2.5, 4.5), y=c(4,1,4))

bound <- owin(poly=data.frame(x=ex.poly$x, y=ex.poly$y))

test.ppp <- ppp(x=points$x, y=points$y, window=bound)

pairdist.ppp(test.ppp)#distance between every point
#The distance result from this function between point 1 and point 3, is given as 4.0

Однако мы знаем только из графика точек

plot(test.ppp)

что расстояние, когда маршрут ограничен полигоном, должно быть больше (в данном случае 5,00).

Есть ли еще одна функция, о которой я не знаю в {spatstat}, которая бы это делала? Или у кого-нибудь есть другие предложения для другого пакета, который мог бы сделать это?

Я пытаюсь найти расстояние между двумя точками в водоеме, поэтому неправильный многоугольник в моих реальных данных является более сложным.

Любая помощь с благодарностью!

ура

Ответы на вопрос(1)

Ваш ответ на вопрос