当前位置: 首页 > 知识库问答 >
问题:

计算多边形的斜率和纵横

漆雕疏珂
2023-03-14

我有一个由125个独特的多边形组成的多边形sf对象(代表分散在美国各州的不同区域)。没有一个多边形共享边界。我还有一个30m的山阴影数字高程模型光栅图像,它覆盖了多边形的区域(以及一些)。我想使用光栅包中的地形函数来计算每个多边形的独特斜率和纵横。我的最终产品将是多边形sf对象有两列新列,斜率和纵横,因此每个多边形都有自己的斜率和纵横。

我在原始的全州范围的光栅图像和仅多边形区域的掩蔽光栅图像上使用了地形函数,它返回整个光栅图像的最小和最大斜率和方面。

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

谢谢你!

共有1个答案

晏兴发
2023-03-14

示例数据

library(raster)
elevation <- getData('alt', country='CHE')
x <- terrain(elevation, opt=c('slope', 'aspect'), unit='degrees')

解决方案

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

可以像这样为空间多边形指定值

swe <- cbind(sw, e)
 类似资料:
  • 本文向大家介绍使用python计算三角形的斜边例子,包括了使用python计算三角形的斜边例子的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,还是直接看代码吧 注:中间的空格符是一对引号加一个空格 补充知识:三角形已知两边一斜角时求第三边的公式 已知三角形中的一个角θ \thetaθ和其对边b bb以及侧边a aa, 第三条边长的计算公式为 证明很简单, 用海伦公式和三角形两边一内角的

  • 本文向大家介绍Java多边形重心计算,包括了Java多边形重心计算的使用技巧和注意事项,需要的朋友参考一下 多边形重心计算 三角形重心 顶点为a,b,c的三角形重心为x = (xa + xb + xc) / 3,y = (ya + yb + yc) / 3 多边形重心 x = (x1w1 + x2w2 + … + xnwn)/W y = (y1w1 + y2w2 + … + ynwn)/W 总结

  • 我有以下数据帧(示例): 我想创建一个名为“斜率”的列,它显示每组每n(n=3)天的斜率。这意味着当第一个日期是“2022-09-01”和3天后用于计算时。斜率可以使用“diff_days”(通过与每组第一个值的差异计算)和“值”列来计算。以下是所需的输出: 以下是一些示例计算,可为您提供一个想法: A组前3天:斜率([0,1,3],[2,1,3])=0.43 A组3天后:斜率([5,6,6],[

  • 把重叠的圆组合成多边形的最好方法是什么? 给出了一系列直径固定的圆的中心点。 这似乎是一个相当常见的问题(GIS系统、向量等)。这是可能的通过谷歌地图API,但我正在寻找实际的算法。 提前感谢!

  • 我要做的是找出在一个六角网格上,两点之间有多少个六边形。我试着在网上搜索一个公式,但我无法找到一个匹配类型的十六进制网格我正在使用。

  • 我目前正在使用JavaFX研究不同形状之间的边界相交。我想检测两个多边形在它们的点上的碰撞,而不是在它们的边界上(即2个多边形)。 请参阅图1:不期望的行为,以及图2:期望的行为。 是否有任何现有的算法可以帮助我或使用任何库?提前感谢:) 在这里找到我的解决方案: 输出: 它似乎工作正常,我将使用Path对象进行测试以替换多边形objets。