在R中的多边形上积分并考虑地球的曲率

时间:2016-04-13 12:24:55

标签: r polygon integral

从一个shapefile开始给我区(非凸)多边形(可能有洞),如果我只对它们的区域感兴趣,我可以选择将多边形视为平面和使用rgeos::gArea(关注方向btw)或(更好!)考虑地球的曲率并与geosphere::areaPolygon()一起(不关心方向并以适当的单位给出答案) )。

现在,我想要整合更复杂的功能,而不是常量的1功能(它给我区域)。例如有polyCub::polyCub.midpoint表示平面情况。是否还考虑了曲率?

一些想法:

  • 能够整合在一个三角形上(因此特别是没有孔的凸起)就足够了;然后可以使用rgl::triangulate(或者甚至更好,因为前者给了我segfaults RTriangle::triangulate)将多边形切割成三角形。
  • 我正在考虑蒙特卡罗的采样。然后,人们需要能够在弯曲多边形上获得均匀分布。函数geosphere::randomCoordinates沿着那个方向前进,除了(1)它假设一个球形地球和(2)一个人需要能够将输出至少限制在前面的多边形的边界矩形,否则一个人有丢弃太多的积分。关于如何在椭球here上进行均匀采样的想法,但我发现mathematica代码很难理解。

更新:我现在推出了自己的解决方案。步骤:1。使用RTriangle::triangulate进行三角测量。 2.评估通过geosphere::centroid(简单高斯求积法)计算的每个质心的函数。 3.与通过geosphere::areaPolygon计算的面积相乘。总而言之。

0 个答案:

没有答案