全球地理距离栅格

时间:2016-02-22 14:06:38

标签: r distance raster shapefile rasterize

我想知道是否有人建造了世界各大洲的栅格,每个细胞等于该细胞与最近岸的距离。该地图将突出显示内陆最孤立的陆地区域。

我认为这只是rasterize全局边界的shapefile,然后计算距离。

1 个答案:

答案 0 :(得分:8)

您可以使用raster::distance执行此操作,NA计算从每个NA单元格到最近的非NA单元格的距离。您只需要为陆地像素创建一个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 的栅格,为非陆地像素创建一些其他值。

enter image description here

以下是:

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') ):

startDeviceMotionUpdatesToQueue