计算经纬度两点之间距离的差多少米

合集下载

中国纬度间距离的计算方法

中国纬度间距离的计算方法

中国纬度间距离的计算方法
经纬度是经度与纬度的合称组成一个坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。

怎么计算两个经纬度之间的距离,有什么计算公式或者方法技巧?
经纬度计算方法
在地球上任何地点,只要有只表,有根竹竿,一根卷尺,就可知道当地经纬度。

但表必须与该国标准时校对。

方法如下: 1、先算两分日
比如在中国某地,杆影最短时是中午13点20分,且杆长与影长之比为1,则可知该地是北纬45°(tg1=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 a+8.5)°
tg a=杆长/影长。

怎么用经纬度计算两地之间的距离

怎么用经纬度计算两地之间的距离

怎么用经纬度计算两地之间的距离?1、地球赤道上环绕地球一周走一圈共40075.04公里,而@一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的长度计算如下:40075.04km/360°=111.31955km111.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为距离。

2、分为3步计算:第1步分别将两点经纬度转换为三维直角坐标:假设地球球心为三维直角坐标系的原点,球心与赤道上0经度点的连线为X轴,球心与赤道上东经90度点的连线为Y轴,球心与北极点的连线为Z轴,则地面上点的直角坐标与其经纬度的关系为:x=R×cosα×cosβy=R×cosα×sinβz=R×sinαR为地球半径,约等于6400km;α为纬度,北纬取+,南纬取-;β为经度,东经取+,西经取-。

第2步根据直角坐标求两点间的直线距离(即弦长):如果两点的直角坐标分别为(x1,y1,z1)和(x2,y2,z2),则它们之间的直线距离为:L=[(x1-x2)^2+(y1-y2)^2+(z1-z2)^2]^0.5上式为三维勾股定理,L为直线距离。

第3步根据弦长求两点间的距离(即弧长):由平面几何知识可知弧长与弦长的关系为:S=R×π×2[arc sin(0.5L/R)]/180上式中角的单位为度,1度=π/180弧度,S为弧长。

3、1度的实际长度是111公里。

但纬线的距离会越考两端越小,他的距离就会变成111乘COS纬度数,经度不变。

4、南北方向算出两点纬度差,一度等于60海里,1分等于1海里,海里与公里换算关系1海里等于1.852公里。

根据地球上任意两点的经纬度计算两点间的距离

根据地球上任意两点的经纬度计算两点间的距离

根据地球上任意两点的经纬度计算两点间的距离78、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、mile如果仅对经度作正负的处理,而不对纬度作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、*6371、004*Arccos(C)mile =3958、8*Arccos(C)mile在实际应用当中,一般是通过一个个体的邮政编码来查找该邮政编码对应的地区中心的经纬度,然后再根据这些经纬度来计算彼此的距离,从而估算出某些群体之间的大致距离范围(比如酒店旅客的分布范围-各个旅客的邮政编码对应的经纬度和酒店的经纬度所计算的距离范围-等等),所以,通过邮政编码查询经纬度这样一个数据库是一个很有用的资源。

怎么用经纬度计算两地之间的距离

怎么用经纬度计算两地之间的距离

怎么用经纬度计算两地之间的距离经纬度是地球上一点的坐标表示方法,可以用来计算两个点之间的距离。

计算两地之间的距离可以使用多种方法,包括球面距离公式、大圆航线距离和Vincenty算法等。

下面将详细介绍这些方法。

1.球面距离公式球面距离公式是最简单且最常用的计算两点之间距离的方法。

它基于球面三角形的边长计算两点之间的距离,如下所示:d = R * arccos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 - lon1))其中,d是两点之间的球面距离,R是地球的平均半径,lat1和lat2是两点的纬度,lon1和lon2是两点的经度。

2.大圆航线距离大圆航线距离是计算两点之间最短距离的方法,它基于地球表面上连接两点的最短弧线,如下所示:d = R * arccos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 - lon1))其中,d是两点之间的大圆航线距离,R是地球的半径,lat1和lat2是两点的纬度,lon1和lon2是两点的经度。

3. Vincenty算法Vincenty算法是一种更精确的计算两点之间距离的方法,它基于椭球体模型而不是简单地球模型。

该算法能够考虑地球形状的扁平化,并且适用于短距离和长距离的计算。

具体实现需要迭代计算,公式略显繁琐,如下所示:a=R1,b=R2,f=(a-b)/aL = L2 - L1, U1 = atan((1 - f) * tan(lat1)), U2 = atan((1 - f) * tan(lat2))sinU1 = sin(U1), cosU1 = cos(U1), sinU2 = sin(U2), cosU2 = cos(U2)λ=L,λʹ=2πwhile (,λ - λʹ, > 10e-12):sinλ = sin(λ), cosλ = cos(λ), sinσ = sqrt((cosU2 *sinλ) * (cosU2 * sinλ) + (cosU1 * sinU2 - sinU1 * cosU2 *cosλ) * (cosU1 * sinU2 - sinU1 * cosU2 * cosλ))cosσ = sinU1 * sinU2 + cosU1 * cosU2 * cosλσ = atan2(sinσ, cosσ)sinα = cosU1 * cosU2 * sinλ / sinσcos²α = 1 - sinα * sinαcos2σm = cosσ - 2 * sinU1 * sinU2 / cos²αC = f / 16 * cos²α * (4 + f * (4 - 3 * cos²α))λʹ=λλ = L + (1 - C) * f * sinα * (σ + C * sinσ * (cos2σm + C * cosσ * (-1 + 2 * cos2σm * cos2σm)))u² = cos²α * (a*a - b*b) / (b*b)B=u²/1024*(256+u²*(-128+u²*(74-47*u²)))Δσ = B / 6 * (cosσ * (-1 + 2 * cos2σm * cos2σm) - B / 4 * (cos2σm * (-3 + 4 * sinσ * sinσ) - B / 6 * cosσ * (-3 + 4 * cos2σm * cos2σm) * (-3 + 4 * sinσ * sinσ)))s=b*A*(σ-Δσ)其中,a和b是地球的长半轴和短半轴,f是扁平度参数,R1和R2是两点的曲率半径,L1和L2是两点的经度差,lat1和lat2是两点的纬度。

2020届高三地理复习讲解:经纬网图中距离的计算技巧

2020届高三地理复习讲解:经纬网图中距离的计算技巧

2020届高三地理复习讲解:经纬网图中距离的计算技巧一、知识讲解1.根据纬度差定经线长度:纬度1°的实际经线弧长处处相等,约是111 km,如下图中AB。

若两地在同一条经线上,只要知道两地的纬度差,就可以计算出两地之间的距离。

2.根据经度差定纬线长度:经度1°的纬线弧长由低纬向高纬递减,约是111×cosφ km(φ表示该纬线的纬度数值),如图中AC。

3.图中BC的距离可根据勾股定理估算出。

注意也可以根据距离计算经纬度差,从而确定经纬度位置。

4.经纬网图中“最短距离”的确定球面最短距离是一段劣弧,沿劣弧的行进方向即为最短航线,该弧线的确定可分两个步骤进行:(1)确定“大圆”:“大圆”即球面两点所在的过球心的平面与球面的交线,如图所示:在地球仪上,三种情况下“大圆”是确定的:一是赤道(图A),二是经线圈(图B),三是晨昏圈(图C)。

(2)确定“劣弧”:大圆上两点间的最短距离具体应该是哪一段弧线,是由“劣弧”来决定,所谓“劣弧”即两点间的弧度<180°,如图A 中的PAQ ︵、图B 中的PNQ ︵、图C 中的PBQ ︵均为劣弧。

5.寻找“最短航线”(1)若两地经度差等于180°,则过这两点的大圆便是经线圈。

最短航线经过两极点,方向分三种情况:①同在北半球,先向北,过极点后再向南,如A 到E 。

②同在南半球,先向南,过极点后再向北,如B 到D 。

③两地位于不同半球,则看劣弧过哪个极点再做讨论,如A 到C 。

(2)在同一纬线上但不在同一经线圈上的两点:最短航线的劣弧线向较高纬度凸。

方向分两种情况:①同在北纬:如图E 中从Q 到P 沿最短航线的航向是先向东北再向东南。

②同在南纬:如图E 中从P′到Q′沿最短航线的航向是先向西南再向西北。

二、高考经典试题1.甘德国际机场(下图)曾是世界上最繁忙的航空枢纽之一,当时几乎所有横跨北大西洋的航班都要经停该机场补充燃料。

经纬度坐标求距离

经纬度坐标求距离

经纬度坐标求距离引言经纬度是表示地理位置的一种常用坐标系统,经度表示纬度的距离,纬度表示赤道的距离。

在很多应用中,我们需要计算两个经纬度坐标之间的距离,以便确定两个地点之间的实际距离。

本文将简要介绍如何使用经纬度坐标来计算两个地点之间的距离。

距离公式在计算两个经纬度坐标之间的距离之前,我们需要了解一些基本的数学和地理概念。

地球是一个近似于椭球体的球体,我们可以使用大圆距离公式来计算两个经纬度坐标之间的距离。

大圆距离是两个点之间的最短距离,可以通过以下公式计算:$$ d = R \\cdot c $$其中, - d:两个经纬度坐标之间的距离 - R:地球的半径 - 对于地球,平均半径约为6371公里 - 对于其他行星,半径可能不同 - c:两个点之间的角度距离 - 可以通过以下公式计算:$$ c = 2 \\cdot \\arcsin(\\sqrt{\\sin^2(\\frac{lat_2-lat_1}{2}) + \\cos(lat_1) \\cdot \\cos(lat_2) \\cdot \\sin^2(\\frac{lon_2-lon_1}{2})}) $$其中, - lat_1, lon_1:第一个点的纬度和经度 - lat_2, lon_2:第二个点的纬度和经度示例代码以下是使用Python编写的示例代码,将两个地点的经纬度坐标作为输入,计算它们之间的距离。

```python import mathdef distance(lat1, lon1, lat2, lon2): # 将角度转换为弧度 lat1 = math.radians(lat1) lon1 = math.radians(lon1) lat2 = math.radians(lat2) lon2 = math.radians(lon2) # 地球的半径(单位:公里)R = 6371# 计算角度距离c = 2 * math.asin(math.sqrt(math.sin((lat2 - lat1) / 2) ** 2 + math.cos (lat1) * math.cos(lat2) * math.sin((lon2 - lon1) / 2) ** 2))# 计算距离distance = R * creturn distance示例输入lat1 = 52.520008 # 地点1的纬度 lon1 = 13.404954 # 地点1的经度 lat2 = 48.856613 # 地点2的纬度 lon2 = 2.352222 # 地点2的经度调用函数计算距离result = distance(lat1, lon1, lat2, lon2)输出结果print(。

经度与距离和时间的计算

经度与距离和时间的计算
注意:做题时一定 要注意是过日界线, 还是过1800经线,过 1800经线日期不一定 变化。
西侧 东经度 东12区
+1
东侧 西经度 西12区
-1
实际日 界线
1800
自然日界线:即地方时为0点的经线,其以 东为今天,以西为昨天。
当0点所在经线与1800经线重合时,全球 处于同一天,当0点所在经线为00经线时,地 球上昨天与今天各占一半。
a 同位于北半球,最短航程必须经过北极点, 其航行方向是先向正北,过北极点后再向正南。
b同位于南半球,最短航程必须经过南极点, 其航行方向是先向正南,过北极点后再向正北。
c位于不同半球,需要考虑过北极点为劣弧,还 是过南极点为劣弧,然后再确定最短航程方向。
(2)若两地之间的经度度数和不等于1800,则经 过这两点的大圆不是经线圈,而是与经线圈斜交, 最短航程不过两极点,而是过两极地区(或上 空),具体分两种情况。
a 甲位于乙的东方,甲到乙的最短航程:同在 北半球,先向西北,再向西,最后向西南。同在 南半球,先向西南,再向西,最后向西北。位于 不同半球时需要讨论那一段为劣弧段。
b甲位于乙的西方,甲到乙的最短航程:同在 北半球,先向东北,再向东,最后向东南。同在 南半球,先向东南,再向东,最后向东北。
Байду номын сангаас
时区和日界线
概念:因经度而不同的时刻,统 称为地方时
1、地方时
与经度 的关系
经度相差150,地方时 相差1小时
经度相差 10 ,地方时 相差4分钟
计算:某地地方时=已知地方时 ±两地经度差×4分钟/ 10
2、时区和区时
时区:理论上全球共划分为24个时区,各个时区 都以本时区中央经线的地方时作为本时区的区时, 相邻两个时区时间相差1小时。

经纬度计算

经纬度计算

经纬度距离计算同一经线上,纬度每一度的间距是111km同一纬线上,每一经度的间距是用111乘以纬度数的余弦值算两地的实地距离时,可以用勾股定理+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++在地球仪上,与赤道相平行的圆就是纬线纬度每差1度,距离相差110千米在地球仪上,连接南北两极点的半圆就是经线经度每差1度的实地距离是:110千米*cosa其中cosa 的 a==该点所在纬度+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++经度和纬度都是一种角度。

经度是个两面角,是两个经线平面的夹角。

因所有经线都是一样长,为了度量经度选取一个起点面,经1884年国际会议协商,决定以通过英国伦敦近郊、泰晤士河南岸的格林尼治皇家天文台(旧址)的一台主要子午仪十字丝的那条经线为起始经线,称为本初子午线。

本初子午线平面是起点面,终点面是本地经线平面。

某一点的经度,就是该点所在的经线平面与本初子午线平面间的夹角。

在赤道上度量,自本初子午线平面作为起点面,分别往东往西度量,往东量值称为东经度,往西量值称为西经度。

由此可见,一地的经度是该地对于本初子午线的方向和角距离。

本初子午线是0°经度,东经度的最大值为180°,西经度的最大值为180°,东、西经180°经线是同一根经线,因此不分东经或西经,而统称180°经线。

(横纬竖经)在地球仪上与赤道平行的都是纬度与赤道垂直的都是经度纬度是个线面角。

起点面是赤道平面,线是本地的地面法线。

所谓法线,即垂直于参考扁球体表面的线。

某地的纬度就是该地的法线与赤道平面之间的夹角。

纬度在本地经线上度量,由赤道向南、北度量,向北量值称为北纬度,向南量值称为南纬度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算经纬度两点之间距离的差多少米
原文地址:计算经纬度两点之间距离的差多少米作者:一网情深
先计算沿纬度距离,在计算沿经度距离,具体如下:
求出纬度差,将差换算成距离,1度=60海里=60*1852米
求出经度差,将其换算成距离,1度=60海里*cos纬度=60海里*1852米*cos纬度
对沿纬度距离和沿经度距离进行平方求和再开方,可以得到两点间的距离。

同纬度不同经度 (赤道除外)
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=地球半径;√=根号;∏=圆周率。

代入公式自己算吧
create or replace function xp_2pointdistance
(
x1 float, --起始点x
x2 float, --起始点y
y1 float, --终点x
y2 float--终点y
)
return float
is
Result float;
pPI float := 0.0;
pPIval float := 0.0;
earth_radius float := 6378.137;
radlat1 float := 0.0;
radlat2 float := 0.0;
a float := 0.0;
b float := 0.0;
s float := 0.0;
begin
-- cos(-1) = 0.54030230586814
-- 弧度cos1 = 0.54030230586814
-- 角度cos1°=0.999847695
pPI := acos(-1);
pPIval := pPI/180.0;
radlat1 := y1*pPIval;
radlat2 := y2*pPIval;
a := radlat1 - radlat2; --两点间的纬度弧度差
b := x1*pPIval - x2*pPIval; --两点间的经度弧度差
-- ASIN(number)Number角度的正弦值,必须介于-1到1之间。

--若要用度表示反正弦值,请将结果再乘以181/PI( )或用DEGREES函数表示
--地球上任两点间距离公式:
--地球上任两点,其经度分别为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=地球半径;√=根号;∏=圆周率。

--代入公式自己算吧
s := 2*asin(sqrt(power(sin(a/2),2) +
cos(radlat1)*cos(radlat2)*power(sin(b/2),2))) ;
s := s * earth_radius;
--Round 函数返回按指定位数进行四舍五入的数值。

--Round(expression, numdecimalplaces)
--参数
-- Expression 必选项。

数值表达式被四舍五入。

-- Numdecimalplaces 可选项。

数字表明小数点右边有多少位进行四舍五入。

--如果小数位数是负数,则round()返回的结果在小数点左端包含指定个零.如果省略,则 Round 函数返回整数
s := round(s *
10000)/10000;
result := s*1000;
return result;
exception
when others then
raise_application_error(sqlcode,sqlerrm);
return 0.0 ;
end xp_2pointdistance;。

相关文档
最新文档