如何使用rtklib的ppp-static定位:
第一步:
那肯定是去官网下载资源包http://www.rtklib.com/
下载完成后,搭建VS编译环境,刚开始打开资源包肯定一堆错误,这时候不要慌,百度小哥能解决你所有的疑难杂症
第二步:
既然编译环境我们都搭好了,编译后没有什么显示结果,这很正常,因为我们没有把卫星数据放进去,如果一开始你编译就有结果,恭喜你见鬼了。题外话,这时候我们要去找ppp-static所需要的数据。
(1)GPS/BDS/GLONASS/Galileo的混合O、P文件下载路径(mgex):
ftp://cddis.gsfc.nasa.gov/pub/gps/data/campaign/mgex/daily/rinex3/
(2)GPS/BDS/GLONASS/Galileo的混合精密星历下载路径(mgex):
ftp://cddis.gsfc.nasa.gov/pub/gps/products/mgex/
(3)单GPS的O、P文件下载路径
ftp://cddis.gsfc.nasa.gov/pub/gps/data/daily/
(4)单GPS精密星历下载路径
ftp://cddis.gsfc.nasa.gov/pub/gps/products/
这里的东西挺多的,感兴趣的小伙伴自己百度,ppp-static需要的文件是观测文件.o,卫星文件.n,精密卫星位置文件.sp3和钟差数据.clk,注意这四个文件要同一天
年积日就是那一年的第几天,这个可以拿exelce表格算时间,sp3和clk文件的时间计算是从1980年1月6日凌晨之间0点开始计算的,举个例子
上面是emr观测站1308周的第5天的精密星历和钟差数据,计算公式是1308*7+5=9,161,就是1980.1.6+9,161=2005.2 .4。
第三步:ppp的配置文件
自己建个空文本,以.conf结尾。就比如ppp.conf,然后复制下面代码进去,这段代码是取之博客https://blog.csdn.net/Pro2015/article/details/91950265/,非常感谢这个大佬,respect
# rtkpost options (2019/06/12 11:10:52, v.2.4.3 b31)
pos1-posmode =ppp-kine # (0:single,1:dgps,2:kinematic,3:static,4:movingbase,5:fixed,6:ppp-kine,7:ppp-static,8:ppp-fixed)
pos1-frequency =l1+l2 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l5)
pos1-soltype =forward # (0:forward,1:backward,2:combined)
pos1-elmask =15 # (deg)
pos1-snrmask_r =off # (0:off,1:on)
pos1-snrmask_b =off # (0:off,1:on)
pos1-snrmask_L1 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L2 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L5 =0,0,0,0,0,0,0,0,0
pos1-dynamics =off # (0:off,1:on)
pos1-tidecorr =on # (0:off,1:on,2:otl)
pos1-ionoopt =est-stec # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc,7:qzs-lex,8:stec)
pos1-tropopt =est-ztdgrad # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad,5:ztd)
pos1-sateph =precise # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom)
pos1-posopt1 =on # (0:off,1:on)
pos1-posopt2 =on # (0:off,1:on)
pos1-posopt3 =on # (0:off,1:on,2:precise)
pos1-posopt4 =on # (0:off,1:on)
pos1-posopt5 =on # (0:off,1:on)
pos1-posopt6 =on # (0:off,1:on)
pos1-exclsats = # (prn ...)
pos1-navsys =1 # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:comp)
pos2-armode =continuous # (0:off,1:continuous,2:instantaneous,3:fix-and-hold)
pos2-gloarmode =on # (0:off,1:on,2:autocal)
pos2-bdsarmode =on # (0:off,1:on)
pos2-arthres =3
pos2-arthres1 =0.9999
pos2-arthres2 =0.25
pos2-arthres3 =0.1
pos2-arthres4 =0.05
pos2-arlockcnt =0
pos2-arelmask =0 # (deg)
pos2-arminfix =10
pos2-armaxiter =1
pos2-elmaskhold =0 # (deg)
pos2-aroutcnt =5
pos2-maxage =30 # (s)
pos2-syncsol =off # (0:off,1:on)
pos2-slipthres =0.05 # (m)
pos2-rejionno =30 # (m)
pos2-rejgdop =30
pos2-niter =1
pos2-baselen =0 # (m)
pos2-basesig =0 # (m)
out-solformat =xyz # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead =on # (0:off,1:on)
out-outopt =on # (0:off,1:on)
out-outvel =off # (0:off,1:on)
out-timesys =gpst # (0:gpst,1:utc,2:jst)
out-timeform =hms # (0:tow,1:hms)
out-timendec =3
out-degform =deg # (0:deg,1:dms)
out-fieldsep =
out-outsingle =off # (0:off,1:on)
out-maxsolstd =0 # (m)
out-height =ellipsoidal # (0:ellipsoidal,1:geodetic)
out-geoid =internal # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000)
out-solstatic =all # (0:all,1:single)
out-nmeaintv1 =0 # (s)
out-nmeaintv2 =0 # (s)
out-outstat =off # (0:off,1:state,2:residual)
stats-eratio1 =100
stats-eratio2 =100
stats-errphase =0.003 # (m)
stats-errphaseel =0.003 # (m)
stats-errphasebl =0 # (m/10km)
stats-errdoppler =10 # (Hz)
stats-stdbias =30 # (m)
stats-stdiono =0.03 # (m)
stats-stdtrop =0.3 # (m)
stats-prnaccelh =10 # (m/s^2)
stats-prnaccelv =10 # (m/s^2)
stats-prnbias =0.0001 # (m)
stats-prniono =0.001 # (m)
stats-prntrop =0.0001 # (m)
stats-prnpos =0 # (m)
stats-clkstab =5e-12 # (s/s)
ant1-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant1-pos1 =90 # (deg|m)
ant1-pos2 =0 # (deg|m)
ant1-pos3 =-6335367.6285 # (m|m)
ant1-anttype =
ant1-antdele =0 # (m)
ant1-antdeln =0 # (m)
ant1-antdelu =0 # (m)
ant2-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm,6:raw)
ant2-pos1 =90 # (deg|m)
ant2-pos2 =0 # (deg|m)
ant2-pos3 =-6335367.6285 # (m|m)
ant2-anttype =
ant2-antdele =0 # (m)
ant2-antdeln =0 # (m)
ant2-antdelu =0 # (m)
ant2-maxaveep =0
ant2-initrst =off # (0:off,1:on)
misc-timeinterp =off # (0:off,1:on)
misc-sbasatsel =0 # (0:all)
misc-rnxopt1 =
misc-rnxopt2 =
misc-pppopt =
file-satantfile =F:\vs2017\RTKLIB_243\RTKLIB_243\data\gps\igs14.atx
file-rcvantfile =F:\vs2017\RTKLIB_243\RTKLIB_243\data\gps\igs14.atx
file-staposfile =
file-geoidfile =
file-ionofile =
file-dcbfile =F:\vs2017\RTKLIB_243\RTKLIB_243\data\gps\P1C10208.DCB
file-eopfile =F:\vs2017\RTKLIB_243\RTKLIB_243\data\gps\igs11817.erp
file-blqfile =
file-tempdir =
file-geexefile =
file-solstatfile =
file-tracefile =
把这个文件放到下图里面,第二步下的文件也放到这个目录
第四步:运行
加入上面几段语句,编译运行就能看到结果。