Google地球多边形区域测量值。 Arc GIS多边形面积测量

时间:2013-08-14 12:19:34

标签: c# arcgis google-earth

我有一个Kml文件(Google地球文件),其中包含数百万个Polygon,

我想通过c#,

将每个Polygon区域添加到它的描述中

我创建了一些很好的公式来计算Polygon区域,如:

    private Double polygonArea(int[] x, int[] y) {      
    Double area = 0.0;
    int j = x.length-1;
    for(int i = 0; i < x.length; i++) {
        area = area + (x[j]+x[i]) * (y[j]-y[i]);
        j = i;
    }
    area = area/2;
    if (area < 0)
        area = area * -1;
    return area;
}

我还使用ArC GIS SDK 10来计算Polygon区域: (这是一个糟糕的代码,但它只是一个例子):

    PolygonClass pPntColl;
    pPntColl = new PolygonClass();
    IPoint point;
    point = new Point();

    point.PutCoords(57.63235013024734, 36.21563171159841);
    pPntColl.AddPoint(point);
    point.PutCoords(57.63237322461755, 36.2157698149511);
    pPntColl.AddPoint(point);
    point.PutCoords(57.6323553756371, 36.21586604544851);
    pPntColl.AddPoint(point);
    point.PutCoords(57.63226615527618, 36.21600871152099);
    pPntColl.AddPoint(point);
    point.PutCoords(57.63218330336011, 36.21595817513495);
    pPntColl.AddPoint(point);
    point.PutCoords(57.63141107098331, 36.21577622377622);
    pPntColl.AddPoint(point);
    point.PutCoords(57.63144168230467, 36.21556194876793);
    pPntColl.AddPoint(point);
    point.PutCoords(57.63235013024734, 36.21563171159841);
    pPntColl.AddPoint(point);

一切都好,但有问题。 Google地球专业版计算不同的区域

例如,Google显示在多边形区域上方:2699 但是Arc GIS和Formula:2705。

我希望我的程序计算与Google地球相同的区域。

是解决方案吗?

0 个答案:

没有答案