怎么知道经纬度算距离,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么知道经纬度算距离,相关的知识,希望对你有一定的参考价值。
怎么知道经纬度算距离,已知北京北纬39°54分,东经116°23′,马来西亚北纬1°22′,东经103°45′,怎么算南北距离,
北京纬度为39°54′N,马来西亚纬度为1°22′N,则两地纬度差为38°32′,根据纬度相差1度,纬度1秒的长度,地球的子午线总长度大约40008km。
平均:纬度1度 = 大约111km;纬度1分= 大约1.85km;纬度1秒= 大约30.8m。那么距离相差111km的规律,计算得两地南北距离为4281km。
经度分为360度,每15度1个时区,其中0度的叫本初子午线,是第一个进入新一天的地方,然后向西每过1个时区就相差1小时。
例如是早上5点,那么向西一个时区就是早上4点,再过1个时区就是早上3点,依此类推,向东则相反,一直到本初子午线,也就是说本初子午线两侧刚好相差23个小时,从赤道向两级,纬度越来越高。赤道是划分南北两半球的分界线。
经纬度1度=60分=3600秒,这个六十进制是古巴比伦人定制的,我们今天仍然在使用,只要关于角度和圆都是一样。
赤道的纬度为0°,将行星平分为南半球和北半球。纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。
纬度数值在0至30度之间的地区称为低纬地区,纬度数值在30至60度之间的地区称为中纬地区,纬度数值在60至90度之间的地区称为高纬地区。赤道、南回归线、北回归线、南极圈和北极圈是特殊的纬线。
扩展资料:
经纬度计算方法
在地球上任何地点,只要有只表,有根竹竿,一根卷尺,就可知道当地经纬度。但表必须与该国标准时校对。
方法如下:
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、如果仅算出两地的南北距离,则计算两地纬度差即可,与经度无关。北京纬度为39°54′N,马来西亚纬度为1°22′N,则两地纬度差为38°32′,根据纬度相差1°,距离相差111km的规律,计算得两地南北距离为4281km。
2、如果计算两地球面距离,计算过程则较为复杂,可根据球面两地距离公式:S=地球半径×arc cos[cos北京纬度cos马来纬度cos(北京经度-马来经度)+sin北京纬度sin马来纬度]。
解得两地距离为4768km。
同一纬度:cos纬度数×经度差×111km;
同一经度:纬度差×111km;
不同经度,纬度:将它们分别平移到同一经度,纬度后按以上方法计算出两个值,再用钩股定理计算。
扩展资料:
经度的每一度被分为60分,每一分被分为60秒。一个经度因此一般看上去是这样的:东经23°27′ 30"或西经23°27′ 30"。
更精确的经度位置中秒被表示为分的小数,比如:东经23°27.500′,但也有使用度和它的小数的:东经23.45833°。有时西经被写做负数:-23.45833°。但偶尔也有人把东经写为负数,但这相当不常规。
一个经度和一个纬度一起确定地球上一个地点的精确位置。
赤道上经度的每个度大约相当于111km,经度的每个度的距离从0km到111km不等。它的距离随纬度的不同而变化,等于111km乘纬度的余弦。不过这个距离还不是相隔一经度的两点之间最短的距离,最短的距离是连接这两点之间的大圆的弧的距离,它比上面所计算出来的距离要小一些。
参考资料来源:百度百科-经纬度
参考技术B 1、如果仅算出两地的南北距离,则计算两地纬度差即可,与经度无关。北京纬度为39°54′N,马来西亚纬度为1°22′N,则两地纬度差为38°32′,根据纬度相差1°,距离相差111km的规律,计算得两地南北距离为4281km。2、如果计算两地球面距离,计算过程则较为复杂,可根据球面两地距离公式:S=地球半径×arc cos[cos北京纬度cos马来纬度cos(北京经度-马来经度)+sin北京纬度sin马来纬度]。
解得两地距离为4768km。本回答被提问者和网友采纳
根据经纬度算距离 | SQL
--计算地球上两个坐标点(经度,纬度)之间距离sql函数 CREATE FUNCTION [dbo].[fnGetDistance](@LatBegin REAL, @LngBegin REAL, @LatEnd REAL, @LngEnd REAL) RETURNS FLOAT AS BEGIN --距离(千米) DECLARE @Distance REAL DECLARE @EARTH_RADIUS REAL SET @EARTH_RADIUS = 6378.137 DECLARE @RadLatBegin REAL,@RadLatEnd REAL,@RadLatDiff REAL,@RadLngDiff REAL SET @RadLatBegin = @LatBegin *PI()/180.0 SET @RadLatEnd = @LatEnd *PI()/180.0 SET @RadLatDiff = @RadLatBegin - @RadLatEnd SET @RadLngDiff = @LngBegin *PI()/180.0 - @LngEnd *PI()/180.0 SET @Distance = 2 *ASIN(SQRT(POWER(SIN(@RadLatDiff/2), 2)+COS(@RadLatBegin)*COS(@RadLatEnd)*POWER(SIN(@RadLngDiff/2), 2))) SET @Distance = @Distance * @EARTH_RADIUS --SET @Distance = Round(@Distance * 10000) / 10000 RETURN @Distance END /* 财富广场 经度:114.02644397853898 纬度:22.536917850961675 光大银行 经度:114.02633400796937 纬度:22.537137898472157 */ SELECT id,name,dbo.fnGetDistance(114.02633400796937,22.537137898472157,gislng,gislat) as 距离 FROM yx_nurse SELECT dbo.fnGetDistance(114.02633400796937,22.537137898472157,gislng,gislat) as 距离,yx_nurse.* FROM yx_nurse WHERE dbo.fnGetDistance(114.02633400796937,22.537137898472157,gislng,gislat) < 0.100
以上是关于怎么知道经纬度算距离,的主要内容,如果未能解决你的问题,请参考以下文章