一、投影
将GPS坐标投影的方式有很多种,等角度的有两种:高斯-克吕格投影 、UTM投影
关于高斯-克吕格投影的资料,这两份相对比较全一些,资料1、 资料2
了解的内容主要是几点:
1、X Y轴:中央经线为X轴,赤道为Y轴
2、角度:从北顺时针到直线的夹角为方位角
3、坐标的表示 :为了方便区分带号,在每个点横坐标Y值前加所在的带号
二、经纬度的基本知识
1、度分秒坐标与经纬度的转换
经纬度1度=60分=3600秒
例子:109度10分52秒 转为10进制109.181111
109
10/60=0.1666666
52/3600=0.014444
相加得:109.181111
109.181111转度分秒 109.181111-109=0.181111 然后再用0.181111*60=10.8 取整10,(0.1811111-10/60)*3600=52
2、坐标格式
A、经纬度。这个是球面坐标,对于北京来说,就是(116.388171,39.935961)这样的坐标。比如腾讯、高德、百度都是这样的经纬度坐标。谷歌是经纬度顺序写反的经纬度坐标。
墨卡托坐标。是一种投影坐标, 又称为高斯-克吕格投影(Gauss-KrugerProjection),它不是用经纬度来表示的,数字一般都比较大,像这样的:(215362.00021333335, 99526.00034912192),多用于航海图航空图。墨卡托坐标主要用于程序的后台计算。直线距离,加加减减计算方便。
3、大地坐标系与地理坐标系有何不同?
大地坐标系和地理坐标系都是经纬度表示的坐标系,本身并不包含投影信息,很多时候,这两种说法都是相同的。
4、世界大地坐标系统
WGS-84是世界大地坐标系
5、其他
https://www.sohu.com/a/121612743_488161
6、经纬度坐标格式:
经纬度格式分为三种:
度: ( ddd.ddddd °) 十进制小数部分(5位) 百度地图,谷歌地图,手机自带gps经纬度输出
度 . 分 : (ddd°mm.mmm’ ) 十进制小数部分(3位) GPGGA
度 . 分 . 秒 :(ddd°mm’ss’’) 谷歌地图
一度(°)等于60分钟(’)等于3600秒(“):
整度(d)等于十进制的度的整数部分(dd):
分钟(m)等于十进制的度的整数部分(dd)减去整数度(d)的60倍:
秒(s)等于十进制的度(dd)减去整数度(d)减分(M)除以60乘以3600:
三、高斯投影中角度都是弧度
代码:度转弧度
'''
度变成弧度
'''
def deg_to_rad(x):
deg,min,sec = x.split(' ')
latDeg = float(deg) + float(min)/60 + float(sec)/3600
print latDeg
return (float(deg) + float(min)/60 + float(sec)/3600)/180*pi
#return float(x)*pi/180
def central_meridian_diff(lon):
deg,min,sec = lon.split(' ')
lonDeg = float(deg) + float(min) / 60 + float(sec) / 3600
print lonDeg
#lonDeg = float(lon)
n = trunc(lonDeg/6)+1
lon0 = n*6 - 3
l = (lonDeg-lon0)/180*pi
return l, n
四、 高斯投影中用到的一些公式
椭球扁率:f=(a-b)/a
第一偏心率:e平方 = 2f-f的平方