lauer0246

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

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

  来源: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

 

 

发表于 2009-01-06 09:23  lauer  阅读(1157)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: