首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单位长度( spatstat )

单位长度( spatstat )
EN

Stack Overflow用户
提问于 2016-03-09 00:53:00
回答 3查看 1.2K关注 0票数 0

我有一个关于Spatstat中的KEST函数的非常简单的问题。KEST graph output我正在使用Spatstat中的KEST函数来评估数据集中的空间随机性。我上传了分散在伦敦的经纬度和经度值,并将它们转换为PPP对象,使用ripras函数指定空间域。当我在ppp上运行KEST分析并绘制图形时,我最终得到了x上的r值,但是虽然我知道这是一个距离度量,但我不知道它使用的是什么单位。我得到了这个摘要输出:

代码语言:javascript
复制
Planar point pattern:  113 points
Average intensity 407.9378 points per square unit
Coordinates are given to 9 decimal places
Window: polygonal boundary
single connected closed polygon with 14 vertices
enclosing rectangle: [-0.5532963, 0.3519148] x [51.2901, 51.7022] units
Window area = 0.277003 square units

X轴上的最大r为0.1个单位,y轴上的K(r)为0.04。如何计算出这些距离的单位是多少?

EN

回答 3

Stack Overflow用户

发布于 2016-03-09 04:37:53

您的经纬度坐标对应于用作地球模型的球体(或椭球体等)上的点。本质上,spatstat假设您使用的是投影在平面地图上的坐标。这种转换可以通过sp包来完成(以白金汉宫为例):

代码语言:javascript
复制
library(sp)
lat = c(51.501476)
lon = c(-0.140634)
xy = data.frame(lon, lat)
coordinates(xy) <- c("lon", "lat")
proj4string(xy) <- CRS("+proj=longlat +datum=WGS84")
NE <- spTransform(xy, CRS("+proj=utm +zone=30 ellps=WGS84"))
NE <- as.data.frame(NE)

结果是一个以东为投影坐标,以米为北的data.frame。然后你可以从那里继续你的分析。要为图中更漂亮的标签分配一个像"m"这样的单元标签,请在ppp对象上使用函数unitname (假设该对象名为X):unitname(X) <- "m"

票数 4
EN

Stack Overflow用户

发布于 2016-03-09 02:59:03

如果该函数能够接受地理坐标,那么它就是使用一个大圆公式来计算距离。这通常会导致单位为公里。

对非预测数据执行PPA不是很好的做法。如果可能,应将数据投影到以距离单位表示的坐标系中。我认为spatstat中的大多数函数都使用欧几里德距离,这对于十进制度的投影单位来说是非常不合适的。由于Kest函数中没有latlong参数,因此我不相信您的结果是有效的。

票数 1
EN

Stack Overflow用户

发布于 2016-03-09 19:01:59

K函数本身(即理论上的K函数,而不仅仅是计算机代码)假设空间是平的而不是曲线的。

对于您的情况(分散在几十公里内的点),这可能是一个合理的近似值,但对于分散在大陆上的点模式则不是这样。也就是说,一般情况下,平面K函数不应用于球体上的点图案。

其他的帖子是正确的。Kest函数期望在等轴测坐标系中给定坐标。您只需在x和y坐标以相同的距离单位测量的坐标系中表示空间位置。经度和纬度不是用相同的距离单位测量的,因为一度(比方说)经度并不代表一度纬度的距离。Ege Rubak的例子使用spTransform可能是最好的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35873254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档