经纬度转换

GPS 数据格式
GPRMC(建议使用最小GPS数据格式)

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>
1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。
2) 定位状态,A = 数据可用,V = 数据不可用。
3) 纬度,格式:度度分分.分分分分(ddmm.mmmm)。
4) 纬度区分,北半球(N)或南半球(S)。
5) 经度,格式:度度分分.分分分分。
6) 经度区分,东(E)半球或西(W)半球。
7) 相对位移速度, 0.0 至 1851.8 knots
8) 相对位移方向,000.0 至 359.9度。实际值。
9) 日期,格式:日日月月年年(ddmmyy)。
10) 磁极变量,000.0 至180.0。
11) 度数。
12) Checksum.(检查位)

GPGSV(所示卫星格式)

$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,⋯<4>,<5>,<6>,<7>,<8><CR><LF>
1) 天空中收到讯号的卫星总数。
2) 定位的卫星总数。
3) 天空中的卫星总数,00 至 12。
4) 卫星编号, 01 至 32。
5) 卫星仰角, OO 至 90 度。
6) 卫星方位角, OOO 至 359 度。实际值。
7) 讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。
8) Checksum.(检查位).

第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。

GPGSA(GPS精度指针及使用卫星格式)
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF>

1)模式 2:M = 手动, A = 自动。
2)模式 1:定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。
3) PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收12颗卫星信息。
4) PDOP-位置精度稀释 0.5 至 99.9.
5) HDOP-水平精度稀释 0.5 to 99.9.
6) VDOP-垂直精度稀释 0.5 to 99.9.
7) Checksum.(检查位).  

 

GPS固定数据输出语句($GPGGA)  
这是一帧GPS定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明$GPGGA语句各部分的含义。例1是用GN-77N和笔者开发的软硬件接口,在笔者所在地接收到的$GPGGA语句的内容。
例1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4,76.2,M,-7.0,M,,*65  
其标准格式为:$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF) 
各部分所对应的含义为:  
(1)定位UTC时间:05时09分01秒 
(2)纬度(格式ddmm.mmmm:即dd度,mm.mmmm分); 
(3)N/S(北纬或南纬):北纬39度31.4449分; 
(4)经度(格式dddmm.mmmm:即ddd度,mm.mmmm分); 
(5)E/W(东经或西经):东经116度43.5123分; 
(6)质量因子(0=没有定位,1=实时GPS,2=差分GPS):1=实时GPS; 
(7)可使用的卫星数(0~8):可使用的卫星数=07; 
(8)水平精度因子(1.0~99.9);水平精度因子=1.4; 
(9)天线高程(海平面,-9999.9~99999.9,单位:m);天线高程=76.2m);  
(10)大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):-7.0m;  
(11)差分GPS数据年龄,实时GPS时无:无;  
(12)差分基准站号(0000~1023),实时GPS时无:无;  
*总和校验域; 
hh 总和校验数:65  
(CR)(LF)回车,换行。   

b.可视卫星状态输出语句($GPGSV)    
例2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,078,44,17,36,313,42*78  
标准格式:   $GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF)  
各部分含义为:  
(1)总的GSV语句电文数;2;
(2)当前GSV语句号:1;  
(3)可视卫星总数:08;  
(4)卫星号:06;  
(5)仰角(00~90度):33度;  
(6)方位角(000~359度):240度;  
(7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息);  
*总和校验域; 
hh 总和校验数:78;  
(CR)(LF)回车,换行。  
注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即: 
(4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。
GPGSV(所示卫星格式)

$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8><CR><LF>

1) 天空中收到讯号的卫星总数。
2) 定位的卫星总数。
3) 天空中的卫星总数,00 至 12。
4) 卫星编号, 01 至 32。
5) 卫星仰角, OO 至 90 度。
6) 卫星方位角, OOO 至 359 度。实际值。
7) 讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。
8) Checksum.(检查位).

第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。
“ 1 串行通信
    每个Pocket PC都配有一个串行端口,以便PocketPC与外部串行设备之间进行通信。串行端口的本质功能是作为芯片和串行设备之间的编码转换器。当数据从芯片经过串行端口发送出去时,字节数据被转换为串行的位。在接收数据时,串行的位将被转换为字节数据。Windows CE使用了通信驱动程序 Comm.drv,以便使用标准的Windows API函数发送和接收数据。驱动程序通常由串口设备制造商提供,以便将硬件与Windows CE连接。在程序设计中,模拟了一个COM6串口。先使用Comm6.PoxtOpen打开串口,设置Comm控件的属性,Timer触发OnComm接收 GPS信号的事件,实现GPS信号的实时接收。GPS提供串行通信接口,串行通信参数为:波特率=57 600 bps,数据位=8位,开始位=1位,停止位=1位,无奇偶校验。
2 GPS数据格式
    NMEA0183协议是美国国家海洋电子协会(NationaIMarine Electronlcs Association)制定的GPS接口协议标准。NMEA0183定义了若干代表不同含义的语句,每个语句实际上是一个ASCII码串。这种码直观,易于识别和应用。在试验中,不需要了解NMEA0183通信协议的全部信息,仅需要从中挑选出需要的那部分定位数据,其余的信息忽略掉。

    GPS与掌上电脑通信时,通过串口每秒钟发送10条数据。实际导航应用读取GPS 的空间定位数据时,可以根据需要每隔几秒钟更新一次经纬度和时问数据,不必频繁地更新数据,否则,会浪费掌上设备有限的电能。如果和卫星通信正常,可以接收到的数据格式如下:$GPGGA,<l>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<u>,<12>*hh<cR><LF>。

 

一个完整的NEMA0183语句是从起始符“$GPGGA”到终止符“<CR><LF>”为止的一段字符串。需要掌握的信息是经纬度、经纬度方向、GPS定位状态和接收信号的时间。所以当接收到这样一个完整的NEMA0183语句时,提取有用信息的方法是:先判定起始符$GPGGA 的位置,从起始符开始读人数据,再通过异或校验后的语句中寻找字符“,”,然后截取前后两个“,”之间的字符(串)获得所关心的数据,并以回车符为一个 CPS语句的终止符,得到一个完整的GPS信号。在提取出的GPS语句中,找寻经纬度所在的逗号位置,读出经纬度坐标,再将经纬度坐标进行度数的转换。因为地图的坐标是以度数为标准的。” 
GPGSA(GPS精度指针及使用卫星格式) 

$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF> 

1)模式 2:M = 手动, A = 自动。 
2)模式 1:定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。 
3) PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收12颗卫星信息。 
4) PDOP-位置精度稀释 0.5 至 99.9. 
5) HDOP-水平精度稀释 0.5 to 99.9. 
6) VDOP-垂直精度稀释 0.5 to 99.9. 
7) Checksum.(检查位). 

$GPGGA,160000.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*32 
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 
$GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79 
$GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73 
$GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A 
$GPRMC,160000.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1A 
$GPGGA,160001.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*33 
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 
$GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79 
$GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73 
$GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A 
$GPRMC,160001.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1B 
$GPGGA,160002.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*30 
$GPRMC,062500.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*75 
$GPGGA,062501.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*40 
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C 
$GPRMC,062501.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*74 
$GPGGA,062502.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*43 
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C 
$GPRMC,062502.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*77 
$GPGGA,062503.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*42 
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C 
$GPRMC,062503.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*76 
$GPGGA,062504.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*45 
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C 
$GPRMC,062504.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*71 
$GPGGA,062505.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0000*44 
$GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C 
$GPGSV,2,1,07,28,72,179,33,17,55,313,29,20,46,101,37,11,32,055,33*74 
$GPGSV,2,2,07,04,31,234,39,09,09

 

全球经纬度的取值范围为:纬度-90~90,经度-180~180
度分转换: 将度分单位数据转换为度单位数据,公式:度=度+分/60
例如: 经度 = 116°20.12',纬度 = 39°12.34'
经度 = 116 + 20.12 / 60 = 116.33533°
纬度 = 39 + 12.34 / 60 = 39.20567°
分秒转换: 将度分秒单位数据转换为度单位数据,公式:度 = 度 + 分 / 60 + 秒 / 60 / 60
例如: 经度 = 116°20'43",纬度 = 39°12'37"
经度 = 116 + 20 / 60 + 43 / 60 / 60 = 116.34528°
纬度 = 39 + 12 / 60 + 37 / 60 / 60 = 39.21028°

 

不同纬度的间距差是相同的,

纬度

一度合110.94公里,

一分合1.849公里,

一秒合30.8米。

纬度数值加大时,位置北移,减小时则位置南移。

北纬36°时,经度1度合 90公里 ,一分合1500米,一秒合25米。

经度数值加大时,位置东移,减小时则位置西移。


纬度每一度差不多跨过110km。赤道上每一个经度的跨度最大,差不多就是111km。越往两极跨过的距离就越小,到南北两极所有经度相交于极点。
经度是不定的,每一纬度为2000米左右。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mapbox 经纬度转换是指将一个地点的经纬度坐标转换为地图坐标,或者将地图坐标转换经纬度坐标。Mapbox 是一家提供地图数据、地图开发和地图相关服务的公司,它的经纬度转换功能可以帮助开发者在地图上准确定位和标注地点。 要实现经纬度转换,可以使用 Mapbox 提供的 API 或者 SDK 进行调用。首先需要获取一个 Mapbox Access Token,以便进行 API 调用。接下来可以使用 API转换接口,将经纬度坐标转换为地图坐标或者将地图坐标转换经纬度坐标。 在经纬度转换方面,有几个常见的用途: 1. 在地图上标注和定位地点:通过将获取到的经纬度坐标转换为地图坐标,可以在地图上标注和定位具体的地点。例如,可以将一个地址的经纬度转换为地图坐标,并在地图上显示出来。 2. 路径规划和导航:通过将一系列地点的经纬度坐标转换为地图坐标,可以在地图上绘制路径并进行导航。例如,将起点和终点的经纬度转换为地图坐标,然后使用地图导航功能指导用户沿着最佳路径到达目的地。 3. 地理数据分析和可视化:通过将经纬度坐标转换为地图坐标,可以将地理数据与地图进行关联和可视化。例如,将不同地区的经纬度坐标转换为地图坐标,并在地图上使用不同的颜色或标记来表示不同地区的特征或属性。 总之,Mapbox 经纬度转换是一个方便实用的功能,可以帮助开发者在地图开发和应用中更好地处理和展示地理位置信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值