ntrip获取源列表_Ntrip协议简介(转)

1 什么是Ntrip?

CORS(Continuously Operating Reference Stations)就是网络基准站,通过网络收发GPS差分数据。用户访问CORS后,不用单独架设GPS基准站,即可实现GPS流动站的差分定位。

访问CORS系统,就需要网络通讯协议。NTRIP( Networked Transport of RTCM via Internet Protocol)是CORS系统的通讯协议之一。

2 系统组成

使用NTRIP通讯协议的CORS系统,其组成请参考下图

图1 Ntrip系统组成

NtripSource        用来产生GPS差分数据,并把差分数据提交给NtripServer

NtripServer        负责把GPS差分数据提交给NtripCaster

NtripCaster        差分数据中心,负责接收、发送GPS差分数据

NtripClient        登录NtripCaster后,NtripCaster把GPS差分数据发送给它

NtripSource 和 NtripServer 一般已经集成到一台GPS基准站内,GPS基准站产生差分数据(扮演着NtripSource的角色),然后再通过网络发送给NtripCaster(扮演着NtripServer的角色)

NtripSource 和 NtripServer也可以分开:GPS基准站产生差分数据,然后通过串口发送给一个程序,这个程序再把差分数据发送给NtripCaster。这里GPS基准站扮演着NtripSource的角色,程序扮演着NtripServer的角色。

NtripCaster一般就是一台固定IP地址的服务器,它负责接收、发送差分数据。给NtripClient发送差分数据时有两种方案:一是直接转发NtripSource产生的差分数据;二是通过解算多个NtripSource的差分数据,为NtripClient产生一个虚拟的基准站(即VRS)。

NtripClient一般就是GPS流动站。登录NtripCaster后,发送自身的坐标给NtripCaster。NtripCaster选择或产生差分数据,然后发送给NtripClient。这样GPS流动站即可实现高精度的差分定位。

3 NtripServer

NtripServer访问NtripCaster的步骤

1、与NtripCaster建立TCP连接;

2、给NtripCaster发送如下数据(↙表示\r\n即0DH和0AH):

SOURCE letmein /Mountpoint↙

Source-Agent: NTRIP NtripServerCMD/1.0↙

上面的Mountpoint是挂载点名称,注意它前面的/不能省略。NtripServer可能有多个,挂载点用来区分它们。

上面的letmein是此挂载点对应的密码。没有密码,随便一个程序都能连上挂载点,整个系统就很容易受到恶意攻击。

"Source-Agent: NTRIP NtripServerCMD/1.0"这一行不是必需的。它说明了NtripServer的软件名称和版本号。这里的软件名称为NtripServerCMD,版本号为1.0。

3、NtripCaster给NtripServer的回复

挂载点、密码均有效,返回:

ICY 200 OK↙

挂载点或密码无效,返回:

ERROR - Bad Password↙

4、NtripServer给NtripCaster发送差分数据

NtripCaster回复ICY 200 OK后,NtripServer就可以给NtripCaster发送差分数据了。

4 NtripClient

NtripClient访问NtripCaster,一般有两个目的:获取源列表、获取差分数据。下面分别进行介绍。

4.1 获取源列表

多个NtripServer给NtripCaster发送差分数据,这样NtripCaster获得的差分数据就有多个。NtripClient在获取差分数据之前,需要知道差分数据有几个?分别是什么格式的?……这就需要获取源列表,获取步骤如下:

1、与NtripCaster建立TCP连接;

2、给NtripCaster发送如下数据:

GET / HTTP/1.0↙

User-Agent: NTRIP GNSSInternetRadio/1.4.10↙

Accept: */*↙

Connection: close↙

"User-Agent: NTRIP GNSSInternetRadio/1.4.10"说明了NtripClient的软件名称和版本号。这里的软件名称为GNSSInternetRadio,版本号为1.4.10。

3、NtripCaster将返回如下数据,然后自动断开TCP连接

SOURCETABLE 200 OK↙

Server: NTRIP Trimble NTRIP Caster↙

Content-Type: text/plain↙

Content-Length: 441↙

Date: 02/Jun/2010:14:13:32 UTC↙

STR;RTCM23;RTCM23;RTCM 2.3;1(1),3(10),18(1),19(1);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMR;CMR;CMR;CMR;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMRP;CMRP;CMR+;CMR;2;GPS;SGNET;CHN;31;121;1;1;Trimble GPSNet;None;B;N;0;;↙

STR;DGPS;DGPS;RTCM 2.1;RTCM 2.1;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;RTCM3X;RTCM3X;RTCM 3.X;1004(1),1005/1007(5),PBS(10);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

ENDSOURCETABLE↙

源列表数据以SOURCETABLE开头,以ENDSOURCETABLE结尾。

200 OK 表示一切正常。

"Server: NTRIP Trimble NTRIP Caster"是对NtripCaster软件的说明。

"Date: 02/Jun/2010:14:13:32 UTC"表示当前时刻。其格式并不固定,如:

Date: Sun, 01 May 2016 08:40:39 中国标准时间↙

以下内容就是源列表数据。"Content-Length: 441"表示源列表数据的字节数为441,含每行结尾的\r\n。

STR;RTCM23;RTCM23;RTCM 2.3;1(1),3(10),18(1),19(1);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMR;CMR;CMR;CMR;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMRP;CMRP;CMR+;CMR;2;GPS;SGNET;CHN;31;121;1;1;Trimble GPSNet;None;B;N;0;;↙

STR;DGPS;DGPS;RTCM 2.1;RTCM 2.1;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;RTCM3X;RTCM3X;RTCM 3.X;1004(1),1005/1007(5),PBS(10);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

源列表数据中,一行表示一个挂载点。每行以分号分隔,其含义请见下表

序号

示例

说 明

1

STR

类型STR/CAS/NET,这里只对STR进行说明

2

RTCM23

挂载点(Mountpoint)

3

RTCM23

identifier

4

RTCM 2.3

差分数据格式

5

1(1),3(10)

数据1(1秒输出一次);数据3(10秒输出一次)

6

2

载波相位数据 0—无 1—单频 2—双频

7

GPS

导航系统,如:GPS、GPS+GLO、EGNOS

8

SGNET

网络

9

CHN

国家

10

31

纬度

11

121

经度

12

1

是否需要发送NMEA。0—不需要 1—需要

13

1

基站类型:0—单基站 1—网络

14

SGCAN

产生此数据流的软件名称

15

None

压缩算法

16

B

访问保护 N—None B—Basic D—Digest

17

N

Y/N

18

0

比特率

19

上文提到,NtripCaster给NtripClient发送差分数据时分两种情况:

1、直接转发NtripSource产生的差分数据。在这种情况下,NtripClient只要指定挂载点即可;

2、通过解算多个NtripSource的差分数据,为NtripClient产生一个虚拟的基准站。在这种情况下,NtripClient不仅要指定挂载点,还要发送自身的坐标给NtripCaster,NtripCaster根据这个坐标才能产生虚拟基准站。

NtripClient给NtripCaster发送自身坐标,用到的就是NMEA里的GGA数据。上表的第12个数据说明了是否需要给NtripCaster发送GGA数据,0表示不需要,1表示需要。

4.2 获取差分数据

NtripClient获取差分数据的过程如下:

1、与NtripCaster建立TCP连接;

2、给NtripCaster发送如下命令

GET /RTCM23 HTTP/1.0↙

User-Agent: NTRIP GNSSInternetRadio/1.4.10↙

Accept: */*↙

Connection: close↙

Authorization: Basic VXNlcjpQd2Q=↙

上面的RTCM23是挂载点名称。

VXNlcjpQd2Q=是用户名、密码的Base64编码,解码后就是User:Pwd。也就是说用户名为User、密码为Pwd,它们之间以冒号分隔。

3、NtripCaster的回复

如果用户名、密码、挂载点均有效,将返回如下数据:

ICY 200 OK↙

Server: Trimble-iGate/1.0↙

Date: Wed, 18 May 2016 07:20:55 中国标准时间↙

200 OK 表示一切正常。注意:有的服务器只返回200 OK,其余数据行不返回;有的服务器返回的200 OK后面没有回车、换行。

如果用户名、密码、挂载点无效,将返回如下数据:

HTTP/1.0 401 Unauthorized↙

4、给NtripCaster发送GGA数据

GGA数据的示例如下

$GPGGA,230331,3115.27393,N,12133.89226,E,1,09,1.0,19.31,M,1,M,,*7F↙

注意:

1)如上文所述,有的挂载点需要发送GGA数据,有的挂载点不需要发送GGA数据;

2)UTC时刻格式必须为hhmmss,如:80331是不行的,必须改为080331;

3)校验码必须正确。

5、NtripCaster收到GGA数据后,将给NtripClient发送差分数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机数据与安全课件,计算机数据及软件的安全.ppt

计算机数据及软件的安全计算机数据及软件的安全一、计算机软件的安全问题 1、软件在计算机安全中的二重性 软件是计算机系统的重要组成部分。和硬件相比,软件是计算机系统的灵魂,用户通过软件才能使用计算机。 (1)计算机软件是系统安全保护的对象和安全控…

spring配置多视图解析器

最近做一个小项目(移动端),自己搭了个简单的SSM框架(spring spring MVC Mybitis),展示层本来选用的是jsp,各方便都已经搭建好,结果发现有些页面需要用到H5的一些功能,所以展示层需…

ios系统gps测试软件,GPS工具箱苹果版

GPS工具箱为用户准备的以手机GPS为基础的多功能位置服务的软件,它包括了很多非常实用的工具,包含线路追踪、测速、位置记录、面积测量等等,是GPS模块的功能发挥的非常充分到位,并且软件支持离线map和KML、KMZ导入导出、GPX文件导出…

建模实训报告总结_计算机三维建模实训报告

计算机三维建模实训报告实验时间:2014-6-23实验地点:明虹楼实验目的:理解三维CAD技术的相关概念和三维CAD的基础知识熟练CAD软件的基本操作,掌握软件的使用方法。能够更直观、更全面地反映设计意图,为将来从事计算机辅…

用统计功能计算机计算js,js实现计算器功能

本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下知识点eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。代码如下js计算器计算器.h1{position: relative;color:blueviolet;font-size:50px;text-align…

方法的覆盖

【转载】类继承时方法覆盖问题。(static方法不能被”覆盖“) (2014-04-03 17:51:17) 转载▼在看TIJ4的144页说: “覆盖”只有在某方法是基类的接口的一部分时才会出现。 即,必须能将一个对象向上转型为他的基本类型并调用相同的方…

mysql 压力测试知乎_MySQL查看SQL语句执行效率和mysql几种性能测试的工具

网络中整理,记录下,朋友们应该用得到!Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和…

恋与制作人 服务器错误,恋与制作人安装失败怎么办_恋与制作人安装失败解决方法_游戏吧...

恋与制作人是一款受到了很多玩家喜爱的游戏,游戏是奇迹暖暖原班人马打造的,但是却有玩家在安装时出现了安装失败的问题。下面游戏吧小编就为各位各位玩家带来了恋与制作人的安装失败解决方法。安装失败解决方法一、 安装软件时提示应用程序未安装或者提示…

create-react-app创建项目后运行npm run eject命令报错解决办法

用create-react-app创建项目,因要配置各种组件,比如babel,antd等, 需要运行npm run eject命令把项目的配置文件暴露出来,但是还是一如既然碰到报错,因为是在本地新创建的文件,没有添加git记录 解决办法&…

创宇技能表_知道创宇研发技能表 一

凡是以 知道创宇研发技能表 为标题的博客,所有内容均来自:知道创宇研发技能表虽然不是黑客,但这表里不少内容还是很有意思的,所以逐步看了整理到博客,感谢总结分享的同学。公司与个人公司是盈利性组织个人和公司必须双…

摩拜前端周刊第16期

Ladies and 乡亲们,摩拜前端周刊起航啦~ 摩拜前端团队会收集每周前端优秀文章,每周五发布至掘金平台,欢迎关注我们~ The higher I got, the more amazed I was by the view. [译] Javascript 中 Array.push 要比 Array…

python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)

第一章 自动化测试课程介绍和课程大纲1、自动化测试课程介绍简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平python3.7selenium3pycharm第二章自动化测试相关软件安装1、自动测试工具selenium介绍简介:介绍selenium自动化测试工具为…

wps的计算机在哪里设置密码,wps文件怎么设置和取消密码 wps文件密码设置和取消的步骤方法...

在wps制作文件时,有时候我们需要中途离开,但是担心其他用户不小心操作导致文件丢失,那么我们可以设置wps文件密码,这样就可以避免了,那么怎么将wps文件设置密码呢?其实设置方法非常简单,下面教程之家网为大…

this关键字实现串联构造函数调用

在一个类中如果需要实现多个自定义构造函数,通常做法是在构造函数中实现各自的业务逻辑,如果这些业务逻辑的实现并非截然不同的话,显然不符合oop编程思想,极不利于维护,当然,我们也可以通过将相同的逻辑部分封装成一个方法,但还有一种更为合理简单的方法,下面就通过…

python3.6.8卸载_CentOS7下安装python3.6.8的教程详解

由于最近有个任务需要在python环境下跑,项目是python3.6 tensorflow1.3.1.现总结安装环境:卸载Python3.6方法:首先用命令: whereis python 查看所要删除的python3.6文件位置然后用命令: rm -rf 删除安装Python3.6.8方法:一:单独使用Python, …

魔兽世界联盟物价稳定的服务器,一个残酷的真相!在《魔兽世界》怀旧服,女生一般都爱选联盟...

原标题:一个残酷的真相!在《魔兽世界》怀旧服,女生一般都爱选联盟随着《魔兽世界》经典旧世的人气渐涨,暴雪又追加了3组PVP服,让不少没能抢注到心仪昵称的玩家欣喜若狂。这样一来,原本就饱受争议的服务器选…

网格的补洞操作

简介 网格补洞操作&#xff0c;里面有有奖征集答案&#xff0c;欢迎大家踊跃回答。第一个留言为有效留言那个horse.off请到github下载 算法描述 找到网格的所有的边界半边。 for循环选定一个孔洞的关键点 以来点来遍历整个孔洞 补洞 代码 // 网格 补洞的操作#include <iostr…

SQL Server 2005 Hierarchies WITH Common Table Expressions

代码 1 createtableEmployee2 (3 Id INTIDENTITY(1,1) PRIMARYKEY, 4 [Name]varchar(30) null, 5 JobTitle varchar(30) null, 6 Manager intnull7 )8 9 insertEmployee10 selectincf, IT Director,nullunionall11 selectinc3, Finance Director,nullunionall12 select…

aspx repeater 用法_ASP.NET-----Repeater数据控件的用法总结

一、Repeater控件的用法流程及实例&#xff1a;1、首先建立一个网站&#xff0c;新建一个网页index.aspx。2、添加或者建立APP_Data数据文件&#xff0c;然后将用到的数据库文件放到APP_Data文件夹中。3、打开数据库企业管理器&#xff0c;数据库服务器为local(.)&#xff0c;然…

服务器通过响应头向浏览器设置cookie,http响应包括设置cookie jession id,但随后发送请求,请求标头中没有cookie信息...

第一请求响应&#xff1a;cache: no-cacheConnection: keep-aliveContent-Type: image/pngDate: Tue, 10 May 2016 10:47:43 GMTServer: Tengine/2.1.1Set-Cookie: _uidCiMDa1cxvEjjDeFAw56Ag; path/Set-Cookie: _uideff37cac39ac062caba9b5ec2c8a00f4;Path/Set-Cookie: JSESSI…