经纬度点与投影坐标系下坐标点的互相转换

  来源:http://bbs.esrichina-bj.cn/ESRI/thread-39778-1-1.html

WGS84 和北京54的经纬度点与投影坐标系下坐标点的互相转换

VB.NET源码如下:

 1''' <summary>
 2  ''' 将经纬度点转换为某投影下的坐标点
 3  ''' </summary>
 4  ''' <param name="pPoint">经纬度点</param>
 5  ''' <returns>某投影下的坐标点</returns>
 6  ''' <remarks>其中pPoint的X是经度,Y是纬度,单位都是度,千万不要搞错,否则转换出来的值是不对的或转换不出值</remarks>
 7  Private Function GetProjectPoint(ByVal pPoint As IPoint) As IPoint
 8    Dim pSRF As ISpatialReferenceFactory = New SpatialReferenceEnvironment
 9    pPoint.SpatialReference = pSRF.CreateGeographicCoordinateSystem(esriSRGeoCSType.esriSRGeoCS_WGS1984)
10    pPoint.Project(pSRF.CreateProjectedCoordinateSystem(esriSRProjCSType.esriSRProjCS_Beijing1954GK_23N))
11    Return pPoint
12  End Function
13  ''' <summary>
14  ''' 将点转换为经纬度点
15  ''' </summary>
16  ''' <param name="x">点X坐标</param>
17  ''' <param name="y">点Y坐标</param>
18  ''' <returns>经纬度点</returns>
19  ''' <remarks></remarks>
20  Private Function GetGeoPoint(ByVal x As Double, ByVal y As Double) As IPoint
21    Dim pProPoint As IPoint = New Point
22    pProPoint.PutCoords(x, y)
23    Dim pSRF As ISpatialReferenceFactory = New SpatialReferenceEnvironment
24    pProPoint.SpatialReference = pSRF.CreateProjectedCoordinateSystem(esriSRProjCSType.esriSRProjCS_Beijing1954GK_23N)
25     pProPoint.Project(pSRF.CreateGeographicCoordinateSystem(esriSRGeoCSType.esriSRGeoCS_WGS1984))
26    Return pProPoint
27  End Function