当前位置:编程学习 > VB >>

1000个地理坐标,任意选中一个,找出其中最接近的一个

地理坐标包括(经度,纬度),请问这个怎么算?

如果要找出最接近的3个,又要怎么算? 内存只有128MB --------------------编程问答-------------------- 根据用途,算法也不一样。你要给弹道导弹用?还是给城市导航用? --------------------编程问答--------------------
两点之间的距离:((x2-x1)^2 + (y2-y1)^2)^0.5

如果单纯比较,开平方可以省略。 --------------------编程问答-------------------- 点和点的距离   算起来很简单的 1000个而已 用不了多少时间的 --------------------编程问答--------------------
引用 1 楼 KiteGirl 的回复:
根据用途,算法也不一样。你要给弹道导弹用?还是给城市导航用?

呵呵 你太拽了吧 --------------------编程问答-------------------- 城市导航用. --------------------编程问答-------------------- 公式的话要如何表达? --------------------编程问答--------------------
引用 5 楼 lukecheng911 的回复:
城市导航用.


地球表面是一个近似球面(可以认为它是个球面),经纬度是球面坐标的一种形式。
球面上两点弧距公式是:
d(x1,y1,x2,y2)=r*arccos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2)) 

其中r=地球半径。地球平均半径为:6371.3km=6371300m --------------------编程问答--------------------
引用 7 楼 KiteGirl 的回复:
引用 5 楼 lukecheng911 的回复:

城市导航用. 


地球表面是一个近似球面(可以认为它是个球面),经纬度是球面坐标的一种形式。 
球面上两点弧距公式是: 
d(x1,y1,x2,y2)=r*arccos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2)) 

其中r=地球半径。地球平均半径为:6371.3km=6371300m


因为只是在一个城市里?是否可以假设是一个平面,平面的公式又应该是怎样的呢? --------------------编程问答--------------------
Private Sub Command1_Click()
'根据两点坐标计算两点水平距离
Dim X1, Y1, X2, Y2 As Double
Dim SD As Double
A: X1 = 55458.325: Y1 = 55485.456
B: X2 = 55244.254: Y2 = 25425.252
SD = Format(Sqr(Abs(Val(Y2) - Val(Y1)) ^ 2 + Abs(Val(X2) - Val(X1)) ^ 2), "#.###")  'A-B 水平距离
MsgBox SD
End Sub
--------------------编程问答--------------------
引用 8 楼 lukecheng911 的回复:
引用 7 楼 KiteGirl 的回复:
引用 5 楼 lukecheng911 的回复: 

城市导航用. 


地球表面是一个近似球面(可以认为它是个球面),经纬度是球面坐标的一种形式。 
球面上两点弧距公式是: 
d(x1,y1,x2,y2)=r*arccos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2)) 

其中r=地球半径。地球平均半径为:6371.3km=6371300m 
 

因为只是在一个城市里?是否可以假设是一个平面,平面的公式又应该是怎样的呢?


d(x1,y1,x2,y2)=SQR(abs(x1-x2)^2*xs+abs(y1-y2)*ys)
其中xs、ys分别是该纬度下经、纬度距离平均值。
--------------------编程问答-------------------- 上面公式写得有些错误:
d(x1,y1,x2,y2)=SQR(abs(x1-x2)^2*xs+abs(y1-y2)^2*ys) 
--------------------编程问答-------------------- 模拟一下C++里的数据结构。。比如二叉树什么的
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,