经纬度是经度与纬度的合称组成一个坐标系统。称为地理坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。
纬线和经线一样是人类为度量方便而假设出来的辅助线,定义为地球表面某点随地球自转所形成的轨迹。任何一根纬线都是圆形而且两两平行。纬线的长度是赤道的周长乘以纬线的纬度的余弦,所以赤道最长,离赤道越远的纬线,周长越短,到了两极就缩为0。从赤道向北和向南,各分90°,称为北纬和南纬,分别用“N”和“S”表示。经度分东西,指南北,纬度分南北,指东西。
重要的纬线:
经线也称子午线,和纬线一样是人类为度量方便而假设出来的辅助线,定义为地球表面连接南北两极的大圆线上的半圆弧。任两根经线的长度相等,相交于南北两极点。每一根经线都有其相对应的数值,称为经度。经线指示南北方向。
子午线命名的由来:“某一天体视运动轨迹中,同一子午线上的各点该天体在上中天(午)与下中天(子)出现的时刻相同。”不同的经线具有不同的地方时。偏东的地方时要比较早,偏西的地方时要迟。
重要的经线:
经度是指通过某地的经线面与本初子午面所成的二面角。在本初子午线以东的经度叫东经,在本初子午线以西的叫西经。东经用“E”表示,西经用“W”表示。 (本初子午线:按国际规定英国首都伦敦格林尼治天文台原址的那一条经线定为0°经线也叫本初子午线,然后向左右延伸,右边就是西经,左边就是东经。
纬度是指过椭球面上某点作法线,该点法线与赤道平面的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N;位于赤道以南的点的纬度称南纬,记为S。(以地球赤道为界:分为上下两半球,上面半球就是北半球,下面半球就是南半球)
经度的每一度°被平分为60分 ',每一分又被平分为60秒 "。符号:度=° 分=′ 秒=″)
于赤道以北的点的纬度叫北纬,记为N;位于赤道以南的点的纬度称南纬,记为S。
海拔是指某地点与海平面的高度差,是现时量度一个地方的高度标准。
经度分为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度之间的地区称为高纬地区。
赤道、南回归线、北回归线、南极圈和北极圈是特殊的纬线。
地球的子午线总长度大约40008km。平均:
// 如天安门的中心是北纬39度54分26.37秒,东经116度23分29.22秒。
// 转换公式 经度的每一度°被平分为60分 ',每一分又被平分为60秒 "。
// 计算公式:度=° + 分=′ / 60 + 秒=″ / 60 / 60
// 度分秒转坐标
function degreeMinuteSecondConvertCoordinates(degree, minute, second, decimal = 6) {
return (degree+(minute/60)+(second/60/60)).toFixed(decimal);
}
// 转经度
const longitude = degreeMinuteSecondConvertCoordinates(116, 23, 29.22);
// 转纬度
const latitude = degreeMinuteSecondConvertCoordinates(39, 54, 26.37);
// 生成坐标
const coordinates = [longitude, latitude]; // 结果:[116.391450, 39.907325]
// 如天安门的中心是纬度:116.391450,经度:39.907325。
// 小数点前的是度°,组要转换的是小数点后面的。
// 转分 小数后面的乘以60,取整就是分
// 转秒 用转分的小数乘以60,小数部分就是秒
// 坐标转度分秒
function coordinatesConvertDegreeMinuteSecond(coordinates) {
// 坐标字符串转数组
const coords = String(coordinates).split('.');
// 度 获取数组第一位
const degree = coords[0];
// 通过数组第二位进行计算生成数组获取分
const mArr = String((Number(String(0+'.'+coords[1]))*60)).split('.');
// 分 获取数组第一位
const minute = mArr[0];
// 秒 通过获取数组第二位进行计算生成秒 截取小数点后两位
const second = (Number(String(0+'.'+mArr[1]))*60).toFixed(2);
// 结果
const result = [degree + "度", minute + "分", second + "秒"];
return result.join('');
}
coordinatesConvertDegreeMinuteSecond(116.391450); // 116度23分29.22秒
coordinatesConvertDegreeMinuteSecond(39.907325); // 39度54分26.37秒
注:部分内容参考百度百科