ArcGIS Engine 10 开发手册(5-15)同一基准面的坐标转换

ArcGIS Engine 10 开发手册(5-15)同一基准面的坐标转换
对于同一基准面,我们可以肯定一点就是同一位置经纬度坐标是一样的,而不同的就是计算成平面坐 标的时候可能有所不同,因为算法不一样,在这里我只是将经纬度坐标转成平面的坐标。

    对于同一基准面,我们可以肯定一点就是同一位置经纬度坐标是一样的,而不同的就是计算成平面坐 标的时候可能有所不同,因为算法不一样,在这里我只是将经纬度坐标转成平面的坐标。


private IPoint GetpProjectPoint (IPoint pPoint, bool pBool)

 

{

 

  ISpatialReferenceFactory pSpatialReferenceEnvironemnt = new SpatialReferenceEnvironment ();

 

  ISpatialReference pFromSpatialReference = pSpatialReferenceEnvironemnt.CreateGeographicCoordinateSystem ((int) esriSRGeoCS3Type.esriSRGeoCS_Xian1980); //西安80

 

  ISpatialReference pToSpatialReference = pSpatialReferenceEnvironemnt.CreateProjectedCoordinateSystem ((int) esriSRProjCS4Type.esriSRProjCS_Xian1980_3_Degree_GK_Zone_34); //西安80

  if (pBool == true)//球面转平面

  {

    IGeometry pGeo = (IGeometry) pPoint;

    pGeo.SpatialReference = pFromSpatialReference;

    pGeo.Project (pToSpatialReference);

    return pPoint;

  }

  else //平面转球面

  {

    IGeometry pGeo = (IGeometry) pPoint;

    pGeo.SpatialReference = pToSpatialReference;

    pGeo.Project (pFromSpatialReference);

    return pPoint;

  }

}