Geometry转坐标系

前言:

       求经纬度坐标系下的多边形的面积。

思路:

       1、将Geometry的坐标系转换

       2、求Geometry的面积

代码:

private double getArea(IGeometry pGeo)
{
IClone pClone = pGeo as IClone;
IGeometry pArea = pClone.Clone() as IGeometry;
ISpatialReferenceFactory srFactory = new SpatialReferenceEnvironment();
IProjectedCoordinateSystem pcs = srFactory.CreateProjectedCoordinateSystem(54013);//54013是世界投影
pArea.SpatialReference = m_SpatialReference;
pArea.Project(pcs);
return (pArea as IArea).Area;
}

备注:

       1、传入的Geometry必须本身要有ISpatialReference

       2、IGeometry的Project方法是将Geometry由原来的投影转换成传入投影

       3、54013是适用于全球,误差稍微大点

你可能感兴趣的:(经纬度,面积,米,esri)