⑴ 怎么计算两地之间的地理距离
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。
如果以0度经线为基 准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。
设第一点A的经 纬度为(LonA, LatA),第二点B的经纬度为(LonB, LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90- Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA, MLatA)和(MLonB, MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式:
C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB)
Distance = R*Arccos(C)*Pi/180
这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile
如果仅对经度作正负的处理,而不对纬度作90-Latitude(假设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是:
C = sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(MLonA-MLonB)
Distance = R*Arccos(C)*Pi/180
以上通过简单的三角变换就可以推出。
如果三角函数的输入和输出都采用弧度值,那么公式还可以写作:
C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)
Distance = R*Arccos(C)*Pi/180
也就是:
C = sin(LatA/57.2958)*sin(LatB/57.2958) + cos(LatA/57.2958)*cos(LatB/57.2958)*cos((MLonA-MLonB)/57.2958)
Distance = R*Arccos(C) = 6371.004*Arccos(C) kilometer = 0.621371192*6371.004*Arccos(C) mile = 3958.758349716768*Arccos(C) mile
在实际应用当中,一般是通过一个个体的邮政编码来查找该邮政编码对应的地区中心的经纬度,然 后再根据这些经纬度来计算彼此的距离,从而估算出某些群体之间的大致距离范围(比如酒店旅客的分布范围-各个旅客的邮政编码对应的经纬度和酒店的经纬度所 计算的距离范围-等等),所以,通过邮政编码查询经纬度这样一个数据库是一个很有用的资源。
附:C#代码:
private const double EARTH_RADIUS = 6378.137;//地球半径
private static double rad(double d)
{
return d * Math.PI / 180.0;
}
public static double GetDistance(double lat1, double lng1, double lat2, double lng2)
{
double radLat1 = rad(lat1);
double radLat2 = rad(lat2);
double a = radLat1 - radLat2;
double b = rad(lng1) - rad(lng2);
double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) +
Math.Cos(radLat1)*Math.Cos(radLat2)*Math.Pow(Math.Sin(b/2),2)));
s = s * EARTH_RADIUS;
s = Math.Round(s * 10000) / 10000;
return s;
}
经纬度是经度与纬度的合称组成一个坐标系统。称为地理坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。
经纬度换算成米:
纬度分为60分,每一分再分为60秒以及秒的小数。
纬度线投射在图上看似水平的平行线,但实际上是不同半径的圆。有相同特定纬度的所有位置都在同一个纬线上。
赤道的纬度为0°,将行星平分为南半球和北半球。
纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。位于赤道以北
点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。
纬度数值在0至30度之间的地区称为低纬地区,纬度数值在30至60度之间的地区称为中纬地区,纬度数值在60至90度之间的地区称为高纬地区。
赤道、南回归线、北回归线、南极圈和北极圈是特殊的纬线。
纬度1秒的长度:
地球的子午线总长度大约40008km。平均:
纬度1度 = 大约111km
纬度1分 = 大约1.85km
纬度1秒 = 大约30.9m
⑵ 北京到各个城市的地理距离怎么查呀 有没有现成的表格
可以从电子地图中测量,可以测直线距离,也可以测量公路或铁路距离
⑶ 如何进行地理坐标查询
1、网络搜索“网络地图”
(3)如何查地理距离扩展阅读
网络地图是为用户提供包括智能路线规划、智能导航(驾车、步行、骑行)、实时路况等出行相关服务的平台。
作为地图行业市场的领先者,网络地图秉持“科技让出行更简单”的品牌愿景,以"服务用户出行"为使命,以"科技"为手段不断探索创新。网络地图国际化地图已覆盖全球209个国家和地区。伴随着AI时代的到来,网络地图实现了语音交互覆盖用户操控全流程,还上线了AR步导[2]、AR导游等实用功能,更加方便用户的出行。
2018年11月15日,网络地图上线“急救车让行播报”功能,并在北京、江西九江两地率先落地使用。
⑷ 怎么查询国外的一个地方到国内的距离
查询国外的一个地方到国内的距离可以用网络地图。例如,在浏览器的搜索框内输入网络地图,点击搜索出现网络地图官网。点击进入网络地图,在搜索框内输入上海虹桥站,点击搜索图标,点击下图中1图标的位置。之后点击上海虹桥站右侧的从这出发。输入需要查询的另一个地址,例如北京南站。页面下方跳转出路线规划,可以看到不同的路线距离有差距,基本在1200公里左右。
网络地图的介绍
网络是一家技术雄厚的互联网公司,在搜索等业务上有丰富的用户行为数据,深谙用户之道,其地图数据主要采购自四维图新,高德,最开始是一家地理信息公司,专注于地图数据生产和地理信息服务,地图业务最初重心在车载导航。
⑸ 如何计算地理经纬度之间的距离
计算经纬度之间的距离方法如下:
计算地球上经纬度之间的距离d,已知地球上两点的经度、纬度:(X1,Y1), (X2,Y2),其中X1,X2为经度,Y1,Y2为纬度;
视计算程序需要转化为弧度(*3.1415926/180)地球半径为R=6371.0 km,则两点距离d=R*arcos[cos(Y1)*cos(Y2)*cos(X1-X2)+sin(Y1)*sin(Y2)]。
假设在中国某地,杆影最短时是中午13点20分,且杆长与影长之比为1,则可知该地是北纬45°(tgα=1),东经100°(从120°里1小时减15°,4分钟减1°)杆长与影长之冲穗比需查表求α。再算两至日经度的算法不变 纬度在北半球冬至α+23.5°,夏至α-23.5°在任意一天加减修正值即可。
经纬分度:
经度分为360度,每15度1个时区,其中0度的叫本初子午线,是第一个进入新一天的地方,然后向西每过1个时区就相差1小时。例如是早上5点,那么向西一个时区就是早上4点运侍,再过1个时区就是早上3点,依此类推,向东则相反,一直到本初子午线。
纬度赤道的纬度为0°,将行星平分为南半球和北半球。纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度旁判吵称南纬,记为S。
纬度数值在0至30度之间的地区称为低纬地区,纬度数值在30至60度之间的地区称为中纬地区,纬度数值在60至90度之间的地区称为高纬地区。
⑹ 手机怎么查经纬度
可以利用以下手机软件查经纬度。
1、《经纬度定位》
作为精准地图软件,它支持坐标、经纬度、指南针、两点之间距离等计算,带有GPS、相机经纬度等功能,实时查看地理位置,一键寻找到正确的地理坐标,用户不会迷路,更不会找错出行地点。
2、《高德地图》
软件搭建开放式地图场景,提供行驶导航和绿色出行方式,确保用户轻松行驶,在预估时间之内到达指定地点。它提供了公交导航、生活服务、一键呼叫打车出行等。
3、《网络地图》
软件汇集了国内外大中型城市,提供了精准导航和地点定位,呈现实时黑科技和语音导航,优化路线选择数据,推荐周边便捷的旅游出行等,智能讲解个性化方案。
4、《北斗地图》
作为快捷旅游软件,它呈现世界旅游景点场景、高清卫星图和街道,快速准确定位不同国家的知名景点,一键搜索世界名胜古迹,避免用户迷路和道路不准确风险。
5、《全景地图》
软件不仅查看国内城市街道区域,还汇集全球重点城市,街道数据随时随地更新。它搜索功能非常强大,卫星地图专业清晰,分享了即时更新的街景图片。