如何计算两点距离?

环境arcgis server,vs2005

开发用于PDA的小程序

现已在地图上新建一图层,上面绘有若干圆点

需要:1.点击PDA上地图某位置,判断是否和圆点坐标重合(在一定误差范围)

如果重合(在范围内),则传递该圆点的ID给另一个tabControl

如果不重合,则什么反应都没有

我现在获得了点击那一点的坐标

MapMouseEventArgs me = e as MapMouseEventArgs;

me.MapCoordinate;//Coordinate类型

已知的圆点坐标由string转换成ServerCoordinate类型

ServerCoordinate sc ;

sc = new ServerCoordinate(Convert.ToDouble("122.22"), Convert.ToDouble("22.56");

到这里就有点犯愁了,两个不同坐标系怎么计算距离呢?

查帮助知Distance方法可以计算两点距离,把ServerCoordinate转成Coordinate 类型

Coordinate c=mapCache1.SpatialReference.ServerToMobileGeometry(sc);

int tt = c.Distance(me.MapCoordinate);//这样就得到个很大的数字。。。貌似单位是米,我想我做错了,数字实在离谱

最让我困惑的是坐标系间单位的转换及计算两点间距离,另外,误差在该定在哪个范围?

大大们帮帮忙,拜托啦
posted @ 2009-02-23 14:54  依然神思者  阅读(1151)  评论(1编辑  收藏  举报