1. 经纬度基础概念解析
地球表面任意一个位置都可以用经纬度坐标来精确定位。经度(Longitude)是指某点所在经线与本初子午线之间的角度,范围从-180°到+180°;纬度(Latitude)是指某点与地球球心的连线与赤道平面的夹角,范围从-90°到+90°。在实际应用中,我们常见以下三种表示形式:
- 十进制度(Decimal Degrees):如39.9042°N, 116.4074°E
- 度分秒(DMS):如39°54'15.12"N, 116°24'26.64"E
- 弧度(Radians):多用于数学计算
注意:经度正值表示东经(E),负值表示西经(W);纬度正值表示北纬(N),负值表示南纬(S)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 经纬度格式转换方法
2.1 度分秒转十进制度
转换公式:
code复制十进制度 = 度 + 分/60 + 秒/3600
实操示例:将39°54'15.12"N转换为十进制度
- 度部分:39°
- 分部分:54/60 = 0.9°
- 秒部分:15.12/3600 ≈ 0.0042°
- 合计:39 + 0.9 + 0.0042 ≈ 39.9042°
Python实现代码:
python复制def dms_to_decimal(degrees, minutes, seconds, direction):
decimal = degrees + minutes/60 + seconds/3600
if direction in ['S', 'W']:
decimal = -decimal
return decimal
2.2 十进制度转度分秒
转换步骤:
- 度:取整数部分
- 分:小数部分×60后取整数
- 秒:剩余小数部分×60
示例:将116.4074°E转换为度分秒
- 度:116°
- 分:0.4074×60≈24.444 → 24'
- 秒:0.444×60≈26.64"
- 结果:116°24'26.64"E
JavaScript实现:
javascript复制function decimalToDMS(decimal) {
const degrees = Math.floor(decimal)
