Webpage 网站如何计算两个地理位置之间的距离?
我想在我的网站上嵌入一个功能,可以告诉两个地址之间的距离,比如说Webpage 网站如何计算两个地理位置之间的距离?,webpage,distance,Webpage,Distance,我想在我的网站上嵌入一个功能,可以告诉两个地址之间的距离,比如说地址1:100 Main St,IL。。。地址2:200林肯S 我知道一种方法:我可以使用Selenium去谷歌地图,然后以英里为单位计算距离 有没有更有效的方法?我想,这取决于你需要的准确度。你要做的第一件事就是把这些地址编码成纬度/经度坐标。谷歌正是这样做的。一旦你有了这些坐标,就需要用数学来确定它们之间的距离 我曾经写过这样的计算。设置有点不同,我根据定义的距离从已知纬度/经度坐标的数据库中选择记录,但数学基本相同。从我的查询
地址1:100 Main St,IL
。。。地址2:200林肯S
我知道一种方法:我可以使用Selenium
去谷歌地图,然后以英里为单位计算距离
有没有更有效的方法?我想,这取决于你需要的准确度。你要做的第一件事就是把这些地址编码成纬度/经度坐标。谷歌正是这样做的。一旦你有了这些坐标,就需要用数学来确定它们之间的距离 我曾经写过这样的计算。设置有点不同,我根据定义的距离从已知纬度/经度坐标的数据库中选择记录,但数学基本相同。从我的查询中,您基本上可以只提取计算部分,用一个坐标替换“中心纬度”和“中心经度”,用另一个坐标替换“纬度”和“经度”。大概是这样的:
ACOS(
COS($latitudeA * (PI()/180)) *
COS($longitudeA* (PI()/180)) *
COS($latitudeB * (PI()/180)) *
COS($longitudeB * (PI()/180)) +
COS($latitudeA * (PI()/180)) *
SIN($longitudeA * (PI()/180)) *
COS($latitudeB * (PI()/180)) *
SIN($longitudeB * (PI()/180)) +
SIN($latitudeA * (PI()/180)) *
SIN($latitudeB * (PI()/180))
) *
(
($equatorial_radius * $polar_radius) /
(
SQRT(
($equatorial_radius * $equatorial_radius) -
(
(
($equatorial_radius * $equatorial_radius) -
($polar_radius * $polar_radius)
) *
(
COS($latitudeA) *
COS($latitudeA)
)
)
)
)
)
其中:
是第一个坐标的纬度$latitudeA
是第一个坐标的经度$longitudeA
是第二个坐标的纬度$latitudeB
是第二个坐标的经度$longitudeB
是地球绕赤道的半径$equitorial_radius
是地球沿两极的半径$polar_radius
、SIN
、COS
、SQRT
等都是您使用的任何代码中的数学函数ACOS