ArcEngine中平面坐标与地理坐标的转换

假如你的地图单位是以平面坐标(公里网)为单位的,而现在要做一个地理坐标(经纬网)来进行定位的功能,这个过程就涉及到了坐标的转换。

我们知道,在地图中地理坐标和投影是两个非常重要的概念,具体的定义和区分请自己google。在进行地理坐标与平面坐标转换工作之前,必须保证地图具有某个具体的投影才可以。

下面是如何进行转换的过程:(C#代码)

输入数据:double 经度:x=117.1234度;纬度:y=43.3456度;

地图单位:Meters /KiloMeters 等

//获取当前地图的空间参考信息

IProjectedCoordinateSystem pcs = axMapControl1.SpatialReference as IProjectedCoordinateSystem;

//定义点

WKSPoint pt = new WKSPoint(); //不能用IPoint pt = new PointClass();哦,因为后面的方法只支持WKSPoint。
pt.X = x;
pt.Y = y;

//pcs.Inverse(1, ref pt); //将平面坐标转换为地理坐标

pcs.Forward(1, ref pt); //将地理坐标转换为平面坐标

OK了,这时pt.X 和Pt.Y 就是你要的在地图上的点啦~

来自: http://hi.baidu.com/eznanke/blog/item/4180cceda1301b1cfdfa3c1a.html
posted @ 2010-09-21 13:45  淡茶gis  阅读(1203)  评论(0编辑  收藏  举报