gpt4 book ai didi

r - 全局地理距离栅格

转载 作者:行者123 更新时间:2023-12-04 11:20:29 25 4
gpt4 key购买 nike

我想知道是否有人建立了世界各大洲的栅格,其中每个单元格等于该单元格单元格到最近海岸的距离。该 map 将突出显示内陆最孤立的陆地区域。

我想这只是 rasterize全局边界的形状文件,然后计算距离。

最佳答案

你可以用 raster::distance 来做到这一点,计算与每个 NA 的距离单元格到最近的非 NA细胞。您只需要创建一个具有 NA 的栅格。陆地像素,非陆地像素的一些其他值。

enter image description here

就是这样:

library(raster)
library(maptools)
data(wrld_simpl)

# Create a raster template for rasterizing the polys.
# (set the desired grid resolution with res)
r <- raster(xmn=-180, xmx=180, ymn=-90, ymx=90, res=1)

# Rasterize and set land pixels to NA
r2 <- rasterize(wrld_simpl, r, 1)
r3 <- mask(is.na(r2), r2, maskvalue=1, updatevalue=NA)

# Calculate distance to nearest non-NA pixel
d <- distance(r3)

# Optionally set non-land pixels to NA (otherwise values are "distance to non-land")
d <- d*r2

要创建上面的图(我喜欢 rasterVis 用于绘图,但您可以使用 plot(r) ):
library(rasterVis)
levelplot(d/1000, margin=FALSE, at=seq(0, maxValue(d)/1000, length=100),
colorkey=list(height=0.6), main='Distance to coast')

关于r - 全局地理距离栅格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35555709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com