首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据道路shapefile计算道路密度栅格

根据道路shapefile计算道路密度栅格
EN

Stack Overflow用户
提问于 2021-09-02 18:12:53
回答 1查看 109关注 0票数 0

我希望将美国东半部的道路(包括每条道路的一列长度)的shapefile转换为1x1公里道路密度的栅格,使用R。

我在Arcmap中找不到直接的方法(Line density与单元格中心的半径一起工作,而不仅仅是单元格)。

EN

回答 1

Stack Overflow用户

发布于 2021-09-03 12:12:14

这是一个从栅格单元创建多边形的解决方案(改编自我的答案here)。您可能需要对数据集的子集执行此操作,然后进行合并。

示例数据

代码语言:javascript
复制
library(terra)
v <- vect(system.file("ex/lux.shp", package="terra"))
roads <- as.lines(v)
rs <- rast(v)

解决方案

代码语言:javascript
复制
values(rs) <- 1:ncell(rs)
names(rs) <- "rast"    
rsp <- as.polygons(rs)

rp <- intersect(roads, rsp)

rp$length <- perim(rp) / 1000 #km
x <- tapply(rp$length, rp$rast, sum)

r <- rast(rs)
r[as.integer(names(x))] <- as.vector(x)

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

https://stackoverflow.com/questions/69035297

复制
相关文章

相似问题

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