st_distance - 如何可视化大型空间数据集中不同变量之间的距离

st_distance -How to visualise the distance between different variables in a large spatial data set

我对 R 中的空间分析还很陌生,一直在尽可能多地学习,但遇到了障碍。

目标:

  1. 在空间上可视化 15000 个站点(整个英格兰)数据集 - 完成
  2. 测量数据集中不同变量之间的距离 [站点 A、站点 B、站点 C] - 使用 st_distance
  3. 完成
  4. 要在空间上可视化站点之间的距离 - 丢失?

我的数据按列排列:

NGR_10_FIG | TYPE | CODE | Grid | X | Y | Lat | Long

我应该使用不同的方法来可视化距离吗? 我是不是想把它复杂化,我应该换一种方式吗?

谢谢。欢迎任何评论。

以下代码可用于可视化 nc 数据中第一个多边形(因为我没有您提到的数据)与 nc 中所有其他多边形之间的距离。

# packages
suppressPackageStartupMessages({
  library(sf)
  library(tmap)
})

# data
nc = st_read(system.file("shape/nc.shp", package="sf"), quiet = TRUE)

# compute distances from first region
nc$dists <- st_distance(nc, nc[1, ])

# plot
tm_shape(nc) + 
  tm_polygons(col = "dists") + 
tm_shape(nc[1, ]) + 
  tm_polygons(col = "grey85", lwd = 1.75)

reprex package (v2.0.1)

于 2021-10-27 创建

这很简单,但可能已经足够好了。相同的代码也适用于更大的区域(前提是您一次只考虑一个多边形):

# packages
library(sf)
#> Linking to GEOS 3.9.1, GDAL 3.2.1, PROJ 7.2.1

# data
bounding_box <- st_sfc(st_polygon(list(rbind(c(0, 0), c(1, 0), c(1, 1), c(0, 1), c(0, 0)))))
regions <- st_make_grid(bounding_box, n = c(100, 100))
length(regions)
#> [1] 10000

# compute distances from region 5250 (which is more or less in the middle)
dists <- st_distance(regions, regions[5250])

# plot
cols <- terrain.colors(15)[cut(dists, 15)]
par(mar = rep(0, 4))
plot(regions, col = cols)

reprex package (v2.0.1)

于 2021-10-27 创建

我不知道如何同时可视化所有距离。