计算经纬度多边形的面积

鲍格曼

我有这段代码,使用以下代码编写:source1和this:source 2

public static double CalculatePolygonArea(IList<GpsLocation> coordinates)
    {
        double area = 0;

        if (coordinates.Count > 2)
        {
            for (var i = 0; i < coordinates.Count-1; i++)
            {
                GpsLocation p1, p2;
                p1 = coordinates[i];
                p2 = coordinates[i + 1];
                area += ToRad(p2.Longitude - p1.Longitude) * (2 + Math.Sin(ToRad(p1.Latitude))
                   + Math.Sin(ToRad(p2.Latitude)));

                area = area * R * R / 2;
            }
        }

        return Math.Abs(area);
    }

这是我的测试代码:

[Fact]
    public void GpsPolygonAreaTest()
    {
        var poly = new List<GpsLocation>();
        var p1 = new GpsLocation(0, 0);
        poly.Add(p1);
        var p2 = GpsHelper.CreateLocationBasedOnBearingDistance(p1, 5, 100);
        poly.Add(p2);
        var p3 = GpsHelper.CreateLocationBasedOnBearingDistance(p2, 95, 100);
        poly.Add(p3);
        var p4 = GpsHelper.CreateLocationBasedOnBearingDistance(p3, 185, 100);
        poly.Add(p4);
        poly.Add(p1);

        var area = GpsHelper.CalculatePolygonArea(poly);

        area.Should().Be(10000);
    }

我确认我的多边形是100m x 100m,请参见图片: 多边形

我的测试结果是:预期值为10000,但是找到1.28153883377486E + 48。

有什么想法我的代码有什么问题吗?

吉姆·刘易斯

我很确定这句话:

area = area * R * R / 2;

应该放置在顶点上的循环之后,而不是在每次迭代中都重复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指向多边形以检查经纬度值

来自分类Dev

如何检查形状文件多边形包含经纬度点的numpy meshgrid

来自分类Dev

如何将经纬度映射到R中多边形/ shapefile的最近点

来自分类Dev

如何获得给定地址/经纬度的送货多边形?

来自分类Dev

MK多边形面积计算

来自分类Dev

R:计算重叠多边形面积

来自分类Dev

计算常规多边形问题的面积

来自分类Dev

如何加快多边形面积的计算?

来自分类Dev

如何计算地球上自相交多边形的面积

来自分类Dev

在for循环中计算R中多边形的面积

来自分类Dev

获取多边形的面积

来自分类Dev

计算经纬度到公里

来自分类Dev

如何计算每个多边形具有不同坐标的大量多边形的面积

来自分类Dev

GeoDjango:确定多边形的面积

来自分类Dev

多边形面积到点

来自分类Dev

经纬度栅格

来自分类Dev

我们是根据Nutiteq多边形投影面积计算出的面积吗?或实际表面积?

来自分类Dev

如何显示多边形的纬度/经度?

来自分类Dev

计算Shapely中平面单位(例如平方米)的多边形面积

来自分类Dev

ORACLE PL / SQL中是否有一个函数可以计算多边形的面积?

来自分类Dev

计算在Android应用程序中在Google地图上绘制的多边形的面积

来自分类Dev

如何使用坐标通过辛普森规则计算多边形的面积?

来自分类Dev

计算具有n个顶点的非自相交多边形的面积

来自分类Dev

如何使用sympy计算两个多边形的相交面积?

来自分类Dev

计算Shapely中以平面单位(例如平方米)为单位的多边形面积

来自分类Dev

是否有预定义的方法来计算Nutiteq中的多边形面积?

来自分类Dev

计算半径比例因子以构造等面积的n边矩形凸多边形

来自分类Dev

Python在球面上计算出多边形的面积

来自分类Dev

用谷歌地图计算绘制多边形面积的最简单方法

Related 相关文章

  1. 1

    指向多边形以检查经纬度值

  2. 2

    如何检查形状文件多边形包含经纬度点的numpy meshgrid

  3. 3

    如何将经纬度映射到R中多边形/ shapefile的最近点

  4. 4

    如何获得给定地址/经纬度的送货多边形?

  5. 5

    MK多边形面积计算

  6. 6

    R:计算重叠多边形面积

  7. 7

    计算常规多边形问题的面积

  8. 8

    如何加快多边形面积的计算?

  9. 9

    如何计算地球上自相交多边形的面积

  10. 10

    在for循环中计算R中多边形的面积

  11. 11

    获取多边形的面积

  12. 12

    计算经纬度到公里

  13. 13

    如何计算每个多边形具有不同坐标的大量多边形的面积

  14. 14

    GeoDjango:确定多边形的面积

  15. 15

    多边形面积到点

  16. 16

    经纬度栅格

  17. 17

    我们是根据Nutiteq多边形投影面积计算出的面积吗?或实际表面积?

  18. 18

    如何显示多边形的纬度/经度?

  19. 19

    计算Shapely中平面单位(例如平方米)的多边形面积

  20. 20

    ORACLE PL / SQL中是否有一个函数可以计算多边形的面积?

  21. 21

    计算在Android应用程序中在Google地图上绘制的多边形的面积

  22. 22

    如何使用坐标通过辛普森规则计算多边形的面积?

  23. 23

    计算具有n个顶点的非自相交多边形的面积

  24. 24

    如何使用sympy计算两个多边形的相交面积?

  25. 25

    计算Shapely中以平面单位(例如平方米)为单位的多边形面积

  26. 26

    是否有预定义的方法来计算Nutiteq中的多边形面积?

  27. 27

    计算半径比例因子以构造等面积的n边矩形凸多边形

  28. 28

    Python在球面上计算出多边形的面积

  29. 29

    用谷歌地图计算绘制多边形面积的最简单方法

热门标签

归档