繁体   English   中英

SPATSTAT在特定距离内重复的点

[英]SPATSTAT duplicated points within a a specific distance

我在R Studio的定居点中有一个数据集,这些数据是坐标,并且我试图删除位于彼此一定距离(即20米)内的重复点。 任何想法? 谢谢

winch2 <-data.frame(Lon = c(-1.560367,-1.078330),Lat = c(50.576342,51.243823))坐标(winch2)<-〜Lon + Lat proj4string(winch2)<-latlong winch2 <-spTransform(winch2 ,bng)(floor(坐标(winch2)/ 1000)+ 0.5)* 1000 W2 <-owin(c(431500,464500),c(75500,149500))Region <-allpop_strat [W2]

从更大的点数子集中

摘要(区域)

标记的平面点图案:371点每平方单位平均强度1.519247e-07点

坐标被赋予小数点后两位,即四舍五入至0.01单位的最接近倍数

标记是数字,类型为“ double”。 第一区 中位数
平均第三区 最高 0.0100 0.0100 0.0100 0.4078 1.0000 6.0000

窗口:矩形= [431500,464500] x [75500,149500]单位窗口面积= 2.442e + 09正方形单位

anyDuplicated(Region)0

但我希望在特定的重复中进行任何重复


在简单的情况下,当封闭点成对出现时,下面的代码应足以删除封闭的邻居。 删除的内容取决于点的顺序。 如果许多点之间的距离R (例如20 m)内,则可能有许多解决方案,下面的代码可能会也可能不会产生您所需要的。

library(spatstat)
X <- unmark(amacrine) # Built-in dataset for demonstation
R <- 0.03 # Distance of "close pairs"
close_list = closepairs(X, rmax = R, twice = FALSE)
close_index <- close_list$j
plot(X, main = "Test data with points to be deleted in red")
plot(X[close_index], col = "red", pch = 20, add = TRUE)

Y <- X[-close_index]
plot(Y, main = "Retained points after removal of close points.")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM