首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算多边形的坡度和坡向

计算多边形的坡度和坡向
EN

Stack Overflow用户
提问于 2019-08-25 05:11:25
回答 1查看 400关注 0票数 2

我有一个包含125个独特多边形的多边形sf对象(代表散布在美国各州的不同区域)。所有多边形都不共享边界。我也有一个30米山体阴影的数字高程模型栅格图像的状态,它涵盖了多边形的区域(然后一些)。我想使用光栅包中的terrain函数来计算每个多边形的唯一坡度和坡向。我的最终产品是具有两个新列的多边形sf对象,斜率和纵横比,因此每个多边形都有其斜率和纵横比。

我在原始的全州范围的光栅图像上使用了terrain函数,并且只返回了多边形区域的蒙版光栅图像,它返回了整个光栅图像的最小和最大坡度和坡度。

除此之外,我对如何计算每个唯一多边形的面积的坡度和坡向,然后将这些数据放入多边形sf对象中非常困惑。如果有人有什么建议,我很乐意倾听。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-25 08:02:20

示例数据

代码语言:javascript
复制
library(raster)
elevation <- getData('alt', country='CHE')
x <- terrain(elevation, opt=c('slope', 'aspect'), unit='degrees')

解决方案

代码语言:javascript
复制
sw <- getData("GADM", country="CHE", level=1)
e <- extract(x, sw, fun=mean, na.rm=TRUE)
x <- data.frame(sw$NAME_1, e)
head(x)
#               sw.NAME_1    slope   aspect
#1                 Aargau 3.065123 170.2449
#2 Appenzell Ausserrhoden 4.905536 187.5591
#3  Appenzell Innerrhoden 7.380191 170.1497
#4       Basel-Landschaft 3.742552 178.2771
#5            Basel-Stadt 1.002250 125.0466
#6                   Bern 9.025566 195.5117

您可以像这样将值分配给SpatialPolygons

代码语言:javascript
复制
swe <- cbind(sw, e)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57641580

复制
相关文章

相似问题

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