且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ArcEngine下投影坐标和经纬度坐标的相互转换

更新时间:2022-08-26 09:44:14


jojojojo2002 原文 ArcEngine下投影坐标和经纬度坐标的相互转换

投影转经纬度

1
2
3
4
5
6
7
8
9
private IPoint PRJtoGCS( double x, double y)
{
    IPoint pPoint = new PointClass();
    pPoint.PutCoords(x, y);
    ISpatialReferenceFactory pSRF = new SpatialReferenceEnvironmentClass();
    pPoint.SpatialReference = pSRF.CreateProjectedCoordinateSystem( 2414 );
pPoint.Project(pSRF.CreateGeographicCoordinateSystem(( int )esriSRGeoCSType.esriSRGeoCS_Beijing1954));
    return pPoint;
}

 

其中,pPoint.SpatialReference = pSRF.CreateProjectedCoordinateSystem( 2414 );

这行代码是设置pPoint 的空间参考,也就是要转化的点的投影坐标。如果不知道投影坐标的话,转化会报异常。

2414 为该投影的enum 值

pPoint.Project(pSRF.CreateGeographicCoordinateSystem(( int )esriSRGeoCSType.esriSRGeoCS_Beijing1954));
将该点的投影坐标转化为经纬度。

 

经纬度到投影:

ArcEngine下投影坐标和经纬度坐标的相互转换
private IPoint GCStoPRJ(IPoint pPoint, int GCSType, int PRJType)
{
    ISpatialReferenceFactory pSRF = new SpatialReferenceEnvironmentClass();
    pPoint.SpatialReference = pSRF.CreateGeographicCoordinateSystem(GCSType);
    pPoint.Project(pSRF.CreateProjectedCoordinateSystem(PRJType));
    return pPoint;
}
ArcEngine下投影坐标和经纬度坐标的相互转换

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的***、好奇、充满创造力的想法被现实的框架所束缚,让创造力***成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。



    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6017381.html,如需转载请自行联系原作者