1. 怎么计算两地之间的地理距离
地球是一个近乎标准的椭球体,它的赤道半径为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
2. 地理中已知两点经纬度求距离怎么算
地理对于文科生来说算是文科中理科一般的存在,那是不是有什么简单易懂的解题技巧来帮助文科生们学好地理呢,地理中已知两点经纬度求距离难到了很多同学,下面我为大家整理了相关信息,以供参考。 1 如何计算已知经纬度两点间的距离 设地球半径为R,地心为0,球面上两点A、B的球面坐标为A(α1,β1),B(α2,β2),α1、α2∈[-π,π],β1、β2∈[-π/2,π/2],则AB=R•arccos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2],可以利用勾股定理与正弦定理则可求出AB两点间的直线距离。 一般来说,同一经线上,纬度相差一度,距离相差111KM;同一纬线上,经度相差一度,距离相差111KM乘以cos该纬度数.赤道上,经度相差一度,距离相差111KM;不在同一纬线或同一经线上的就另当别论,具体问题具体分析。 1 已知两点经纬度计算距离的具体例子 球是一个近乎标准的椭球体,它的赤道半径为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)mile3. 已知两个点的坐标,怎么求两点之间的距离
可以使用两点间距离公式来求:
设两个点A、B以及坐标分别为(x1,y1)、(x2,y2),则A和B两点之间的距离为:
同时,若已知直线公式和其中一个点,并且给定了距离,可以反求另一个点的坐标。
4. 坐标距离公式
坐标距离公式是d=√(x2-x1)2+(y2-y1)2。坐标是数学名词。是指为确定天球上某一点的位置,在天球上建立的球面坐标系。有两个基本要素:基本平面;主点,又称原点。
数学上坐标的实质是有序数对,平面概念用来表示某个点的绝对位置,延伸到游戏中用来表示游戏事物的平面位置。地理学上定义的坐标,即地理坐标系,是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。
5. 两个经纬度算距离公式及方法
经纬度是经度与纬度的合称组成一个坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。怎么计算两个经纬度之间的距离,有什么计算公式或者方法技巧?
在地球上任何地点,只要有只表,有根竹竿,一根卷尺,就可知道当地经纬度。但表必须与该国标准时校对。
方法如下: 1、先算两分日
比如在中国某地,杆影最短时是中午13点20分,且杆长与影长之比为1,则可知该地是北纬45°(tgα=1),东经100°(从120°里1小时减15°,4分钟减1°)杆长与影长之比需查表求α,这里用了特殊角。
2、再算两至日经度的算法不变 纬度在北半球冬至α+23.5°,夏至α-23.5°在任意一天加减修正值即可。
3、修正值算法友磨:就是距两分或两至日的天数差乘以94/365. 比如2013年2月17日,2013年3月22日春分差33天,即太阳直射点在南纬
33×94/365=8.5°
所以今天正午时得到的纬度是(arctgα+8.5)°
tgα= 杆长/影长
1.已知地球上两点的经度、纬度:(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)]
2.在地球上同一条经线上纬度相差一度,实际距离是111公里;在赤道经度相差一度,实际距离是111公里,在其他的纬线上,经度每相差一度,实际距离是111*经度数*cos经度数,例如在北纬30度,经度相差5度,实际距离是:111*5*cos30度。
地球赤道上环绕地球一周走一圈共 40075.04公里
而一圈分成360°
而每1°(度)有槐御60'
每一度一秒在赤道上的长度计算如下:
40075.04km/360°=111.31955km
111.31955km/60'=1.8553258km=1855.3m
而每一分又有60秒
每一秒就代表 1855.3m/60=30.92m
任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}
其中:A点经度,纬度分别为λA和ΦA
B点的经度、纬度分别为λB和ΦB,d为距离
地球上所有地方的纬度一分的距离都是约等于1.86公里,也就铅告岩是一度等于1.86*60=111公里。
不同纬度处的经度线上的一分的实际长度是不同的,219国道基本在东经29-38度之间,29度处的一分经线长约1.63公里,38度处的一分经线长约1.47公里。
6. 如何利用地理坐标求两地距离
同纬度不同经度 (赤道除外)h X 111 X COSD=G (h=两地经度差 D=当地的地理纬度 G=实际距离) 跨纬度的需要构造个三角 比如说AB两点不同经纬度(A经B纬) 那就先算出与A点共线的那条纬度B'的距离,在算A到B'的距离,在用勾股定理就可以得出简单的说可用以下通用公式:地球上任两点间距离公式:地球上任两点,其经度分别为A1、A2(E正,W负),纬度分别为B1、B2(N正,S负).令A0=(A1-A2)÷2,B0=(BI-B2)÷2 f=√sinB0×sinB0+cosB1×cosB2×sinA0×sinA0 则 1、两点间空间直线距离=2fR 2、两点间最小球面距离=arcsinf÷90°×∏R(角度) 3、两点间最小球面距离=arcsinf×2R(弧度) 说明:E、W、N、S=东西南北;R=地球半径;√=根号;∏=圆周率.
7. 坐标系中两点之间的距离公式是什么
距离公式是:根号内(y2-y1)²+(x2-x1)²。
比方说,两点的坐标是(0,-3) (1,-4)。
则距离是√(-4-(-3))²+(1-0)²=√2(根号2)。
两点间距离公式推论:
已知AB两点坐标为A(x1,y1),B(x2,y2)。
过A做一直线与X轴平行,过B做一直线与Y轴平行,两直线交点为C。
则AC垂直于BC(因为X轴垂直于Y轴)。
则三角形ACB为直角三角形。
由勾股定理得:
AB^2=AC^2+BC^2。
故AB=根号下AC^2+BC^2,即两点间距离公式。
点到直线的距离:
直线Ax+By+C=0 坐标(x0,y0)那么这点到这直线的距离就为:d=│Ax0+By0+C│/根号(A^2+B^2)。
公式描述:
公式中的直线方程为Ax+By+C=0,点P的坐标为(x0,y0)。
连接直线外一点与直线上各点的所有线段中,垂线段最短,这条垂线段的长度,叫做点到直线的距离。