Finden des euklidischen Abstands in R {spatstat} zwischen Punkten, begrenzt durch ein unregelmäßiges Polygonfenster

Ich versuche den euklidischen Abstand zwischen zwei Punkten zu finden, der durch ein unregelmäßiges Polygon begrenzt wird. (dh die Entfernung müsste als Route durch das angegebene Fenster berechnet werden)

Hier ist ein reproduzierbares Beispiel:

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

Wir wissen es jedoch nur aus dem Zeichnen der Punkte

plot(test.ppp)

dass der Abstand, wenn die Route auf das Polygon beschränkt ist, größer sein sollte (in diesem Fall 5,00).

Gibt es eine andere Funktion, die mir in {spatstat} nicht bekannt ist, die dies tun würde? Oder hat jemand andere Vorschläge für ein anderes Paket, das dies tun könnte?

Ich versuche, den Abstand zwischen zwei Punkten in einem Gewässer zu ermitteln, daher ist das unregelmäßige Polygon in meinen tatsächlichen Daten komplexer.

Jede Hilfe wird sehr geschätzt!

Prost

Antworten auf die Frage(1)

Ihre Antwort auf die Frage