gps_pvt 0.4.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -6
- data/Rakefile +42 -23
- data/exe/gps_pvt +47 -8
- data/ext/gps_pvt/Coordinate/Coordinate_wrap.cxx +44 -0
- data/ext/gps_pvt/GPS/GPS_wrap.cxx +9198 -7614
- data/ext/ninja-scan-light/tool/algorithm/interpolate.h +121 -0
- data/ext/ninja-scan-light/tool/navigation/ANTEX.h +747 -0
- data/ext/ninja-scan-light/tool/navigation/GLONASS_Solver.h +63 -43
- data/ext/ninja-scan-light/tool/navigation/GPS.h +92 -4
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver.h +58 -34
- data/ext/ninja-scan-light/tool/navigation/GPS_Solver_Base.h +50 -17
- data/ext/ninja-scan-light/tool/navigation/RINEX.h +19 -144
- data/ext/ninja-scan-light/tool/navigation/SBAS.h +19 -4
- data/ext/ninja-scan-light/tool/navigation/SBAS_Solver.h +63 -43
- data/ext/ninja-scan-light/tool/navigation/SP3.h +1178 -0
- data/ext/ninja-scan-light/tool/navigation/coordinate.h +81 -1
- data/ext/ninja-scan-light/tool/swig/GPS.i +131 -43
- data/ext/ninja-scan-light/tool/swig/spec/GPS_spec.rb +503 -16
- data/ext/ninja-scan-light/tool/util/text_helper.h +248 -0
- data/{sig/gps_pvt.rbs → gps_pvt.rbs} +0 -0
- data/lib/gps_pvt/receiver.rb +32 -5
- data/lib/gps_pvt/util.rb +50 -0
- data/lib/gps_pvt/version.rb +1 -1
- metadata +8 -3
@@ -220,6 +220,444 @@ __RINEX_OBS_TEXT__
|
|
220
220
|
end
|
221
221
|
f.path
|
222
222
|
},
|
223
|
+
:sp3 => Tempfile::open{|f|
|
224
|
+
f.write(<<-__SP3_TEXT__)
|
225
|
+
#cP2015 6 16 0 0 0.00000000 96 ORBIT IGb08 HLM IGS
|
226
|
+
## 1849 172800.00000000 900.00000000 57189 0.0000000000000
|
227
|
+
+ 32 G01G02G03G04G05G06G07G08G09G10G11G12G13G14G15G16G17
|
228
|
+
+ G18G19G20G21G22G23G24G25G26G27G28G29G30G31G32 0 0
|
229
|
+
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
230
|
+
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
231
|
+
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
232
|
+
++ 2 2 2 2 2 2 2 0 2 2 2 3 2 2 2 2 2
|
233
|
+
++ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0
|
234
|
+
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
235
|
+
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
236
|
+
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
237
|
+
%c G cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
|
238
|
+
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
|
239
|
+
%f 1.2500000 1.025000000 0.00000000000 0.000000000000000
|
240
|
+
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
|
241
|
+
%i 0 0 0 0 0 0 0 0 0
|
242
|
+
%i 0 0 0 0 0 0 0 0 0
|
243
|
+
/* FINAL ORBIT COMBINATION FROM WEIGHTED AVERAGE OF:
|
244
|
+
/* cod emr esa gfz grg jpl mit ngs sio
|
245
|
+
/* REFERENCED TO IGS TIME (IGST) AND TO WEIGHTED MEAN POLE:
|
246
|
+
/* PCV:IGS08_1848 OL/AL:FES2004 NONE Y ORB:CMB CLK:CMB
|
247
|
+
* 2015 6 16 0 0 0.00000000
|
248
|
+
PG01 21477.204419 11282.581331 10982.666329 -4.224052 10 9 5 88
|
249
|
+
PG02 -12947.386225 -21737.519960 9157.412040 572.334531 11 9 9 92
|
250
|
+
PG03 15091.272344 2635.335027 21713.458097 350.710803 5 7 5 106
|
251
|
+
PG04 19856.311038 17713.928768 1945.134852 -19.579715 8 4 7 110
|
252
|
+
PG05 -5028.958918 -21535.647757 -14619.836324 -228.975511 6 6 8 130
|
253
|
+
PG06 43.183960 -18726.862044 18839.608728 185.417169 9 5 7 118
|
254
|
+
PG07 17287.852835 -1614.468072 -20102.036060 468.894353 7 6 9 116
|
255
|
+
PG08 -7526.428030 25336.071960 -245.225055 999999.999999
|
256
|
+
PG09 25592.191216 -7119.852791 -684.470086 -170.790925 11 4 5 85
|
257
|
+
PG10 8847.115692 -24659.480635 2225.055266 -179.067962 9 6 9 88
|
258
|
+
PG11 24364.312740 10558.140769 1439.121385 -585.254884 12 9 7 95
|
259
|
+
PG12 -13123.844385 -6477.031146 22071.429026 301.796773 8 9 10 93
|
260
|
+
PG13 -9339.292125 -13217.275814 -21176.552360 -123.730302 9 9 8 122
|
261
|
+
PG14 -14836.144028 14380.662771 16842.481371 55.763000 11 5 8 126
|
262
|
+
PG15 -20449.064495 -6178.529584 -16069.113276 -255.187297 9 9 9 125
|
263
|
+
PG16 2754.103102 21634.705923 -14967.352446 -118.509573 7 9 5 100
|
264
|
+
PG17 14291.286810 -14775.679540 16998.771557 -176.046900 8 5 7 115
|
265
|
+
PG18 -14912.214427 16679.406498 -13581.838805 409.684054 10 7 9 95
|
266
|
+
PG19 18186.236969 9260.919982 -17444.978749 -513.455728 8 7 9 109
|
267
|
+
PG20 -13708.481723 -10140.408823 -20549.806986 329.972500 8 9 6 117
|
268
|
+
PG21 -16310.214424 4505.474102 -19851.246022 -455.613502 9 7 5 121
|
269
|
+
PG22 -9140.171474 24554.172420 -3496.039791 361.363708 8 5 8 126
|
270
|
+
PG23 25005.294805 917.699796 9692.016699 -115.088944 9 8 7 104
|
271
|
+
PG24 -21619.917392 -13093.113260 8361.648626 -49.986148 9 11 10 115
|
272
|
+
PG25 -15926.363688 8086.632412 19499.639094 -2.293761 9 7 6 117
|
273
|
+
PG26 -3444.306835 25822.029845 -5170.649066 28.992311 7 3 5 115
|
274
|
+
PG27 7030.047838 13625.959589 -21718.367990 -2.586803 9 8 8 112
|
275
|
+
PG28 12589.599269 -22200.918417 -6564.241144 447.108354 7 6 9 106
|
276
|
+
PG29 -26145.500336 4393.700952 1101.532432 616.888621 9 5 7 126
|
277
|
+
PG30 9603.268484 -12222.107844 -21542.569444 -42.995526 7 6 7 110
|
278
|
+
PG31 2516.152098 20041.355033 17195.270451 312.823331 6 7 9 101
|
279
|
+
PG32 7816.149081 17455.765714 18623.743215 -124.425901 7 7 6 87
|
280
|
+
* 2015 6 16 0 15 0.00000000
|
281
|
+
PG01 22125.898696 12210.710646 8434.382990 -4.223620 10 8 5 92
|
282
|
+
PG02 -11951.321019 -21155.258586 11604.487814 572.336520 11 8 8 105
|
283
|
+
PG03 14493.617968 5043.109433 21691.742487 350.717279 5 7 5 110
|
284
|
+
PG04 19726.940481 17995.510562 -852.233761 -19.581230 8 5 7 100
|
285
|
+
PG05 -4433.415203 -22986.447296 -12414.534400 -228.971826 6 6 8 129
|
286
|
+
PG06 1730.013897 -17267.497150 20110.925682 185.424997 8 5 6 117
|
287
|
+
PG07 18796.845135 34.482430 -18810.071658 468.896277 8 6 9 104
|
288
|
+
PG08 -7688.377243 25126.780691 2663.720428 999999.999999
|
289
|
+
PG09 25584.496369 -6843.675160 2162.214539 -170.794879 10 5 5 104
|
290
|
+
PG10 9066.202161 -24124.908678 5023.880148 -179.068357 9 6 9 95
|
291
|
+
PG11 24246.405305 10980.607409 -1269.558391 -585.257201 11 8 7 103
|
292
|
+
PG12 -12391.481603 -8883.994994 21674.458648 301.799930 8 9 9 94
|
293
|
+
PG13 -6955.547005 -13679.190935 -21805.910302 -123.733389 9 8 7 121
|
294
|
+
PG14 -16610.996969 14579.862564 14855.386958 55.760359 10 5 7 123
|
295
|
+
PG15 -18694.826324 -6973.975468 -17769.669719 -255.189168 9 9 9 128
|
296
|
+
PG16 2129.074463 23092.067912 -12674.278891 -118.505842 7 8 5 111
|
297
|
+
PG17 16065.480708 -15044.473471 15011.389296 -176.048587 8 5 7 109
|
298
|
+
PG18 -14804.612202 14891.262012 -15586.058534 409.686464 10 7 9 109
|
299
|
+
PG19 16206.849722 9737.602172 -19039.158930 -513.456824 6 7 9 112
|
300
|
+
PG20 -13210.049028 -12362.603203 -19622.713070 329.975853 8 9 6 113
|
301
|
+
PG21 -17947.302833 2815.947196 -18790.297528 -455.616542 9 6 5 125
|
302
|
+
PG22 -9371.981345 23899.167229 -6208.337263 361.366953 7 5 8 125
|
303
|
+
PG23 23895.554890 1459.524021 12116.482481 -115.090983 8 8 6 107
|
304
|
+
PG24 -22038.737047 -13825.881887 5682.662530 -49.986052 8 10 10 121
|
305
|
+
PG25 -15459.686294 5814.198097 20659.615093 -2.297478 8 7 6 112
|
306
|
+
PG26 -3792.792452 26179.536375 -2358.958812 28.990278 7 3 5 103
|
307
|
+
PG27 4644.915207 14334.491875 -21892.391922 -2.584354 8 8 8 119
|
308
|
+
PG28 12459.481059 -21209.059613 -9283.872183 447.110302 7 6 9 103
|
309
|
+
PG29 -25914.740695 4114.379895 3966.925642 616.890669 8 4 7 115
|
310
|
+
PG30 11269.116559 -10393.315220 -21701.261909 -42.989457 6 6 6 103
|
311
|
+
PG31 988.656450 18670.855259 18856.340317 312.822220 6 6 9 106
|
312
|
+
PG32 7038.403242 19337.703519 17057.294350 -124.417256 7 6 6 78
|
313
|
+
* 2015 6 16 0 30 0.00000000
|
314
|
+
PG01 22598.904313 12909.166888 5742.253300 -4.223157 9 7 5 97
|
315
|
+
PG02 -10725.048337 -20460.182827 13859.879905 572.338767 10 7 7 109
|
316
|
+
PG03 14025.757280 7455.832663 21297.248477 350.723680 5 7 5 111
|
317
|
+
PG04 19372.515409 18081.570715 -3635.218943 -19.583289 8 6 7 92
|
318
|
+
PG05 -3955.644181 -24207.804792 -9994.086575 -228.967777 5 5 8 122
|
319
|
+
PG06 3585.681199 -15817.855899 21036.307779 185.432810 8 5 5 113
|
320
|
+
PG07 20267.885162 1487.156443 -17195.575383 468.898268 8 6 9 101
|
321
|
+
PG08 -7796.832888 24603.012536 5526.024667 999999.999999
|
322
|
+
PG09 25289.984960 -6459.300547 4971.730196 -170.798785 9 5 5 110
|
323
|
+
PG10 9252.556199 -23290.526219 7733.185245 -179.067844 8 5 8 89
|
324
|
+
PG11 23867.497297 11295.612872 -3956.648072 -585.259273 10 7 7 98
|
325
|
+
PG12 -11811.938676 -11261.327882 20902.008631 301.802728 7 8 9 87
|
326
|
+
PG13 -4553.234371 -14281.604583 -22064.441251 -123.735636 9 8 7 122
|
327
|
+
PG14 -18145.114411 14810.031014 12614.672755 55.758283 10 6 6 121
|
328
|
+
PG15 -16819.068235 -7919.955165 -19169.829661 -255.191052 9 8 9 119
|
329
|
+
PG16 1652.289121 24317.264577 -10159.806075 -118.502129 6 8 5 102
|
330
|
+
PG17 17597.487698 -15338.435396 12768.046849 -176.050100 8 5 7 110
|
331
|
+
PG18 -14742.697494 12887.260615 -17309.277093 409.689721 9 6 9 106
|
332
|
+
PG19 14098.742291 10362.083162 -20315.548205 -513.458037 5 7 8 120
|
333
|
+
PG20 -12829.771689 -14485.831618 -18362.877776 329.979186 8 8 6 120
|
334
|
+
PG21 -19547.826731 1300.360022 -17390.044597 -455.619675 10 6 5 127
|
335
|
+
PG22 -9584.802238 22957.368342 -8811.946628 361.370738 7 6 8 119
|
336
|
+
PG23 22569.765865 2143.299692 14338.664004 -115.093124 8 7 5 107
|
337
|
+
PG24 -22257.498211 -14339.836555 2906.629814 -49.986621 7 9 10 117
|
338
|
+
PG25 -15097.169747 3410.855409 21459.674732 -2.301153 8 6 6 112
|
339
|
+
PG26 -4064.800382 26239.180135 493.344111 28.988250 7 3 5 102
|
340
|
+
PG27 2301.320549 15168.991908 -21690.431483 -2.581992 8 7 7 125
|
341
|
+
PG28 12311.949451 -19913.472199 -11838.736557 447.112865 7 6 8 116
|
342
|
+
PG29 -25391.228568 3732.101422 6763.871575 616.892908 8 4 7 120
|
343
|
+
PG30 13023.956057 -8655.194652 -21486.959784 -42.983373 6 6 6 95
|
344
|
+
PG31 -733.645733 17272.367833 20192.738059 312.821310 7 6 8 106
|
345
|
+
PG32 6409.358298 21068.389882 15202.804981 -124.408473 7 6 6 62
|
346
|
+
* 2015 6 16 0 45 0.00000000
|
347
|
+
PG01 22861.512106 13394.645177 2952.296261 -4.222726 9 7 5 99
|
348
|
+
PG02 -9271.578205 -19691.359425 15886.663754 572.340964 9 6 7 107
|
349
|
+
PG03 13691.115613 9825.043065 20536.639173 350.730056 5 7 4 108
|
350
|
+
PG04 18775.028186 18002.898410 -6356.968732 -19.585179 8 6 6 107
|
351
|
+
PG05 -3569.639695 -25169.453169 -7400.211477 -228.963650 5 4 7 126
|
352
|
+
PG06 5582.362123 -14417.027488 21599.830046 185.440645 8 5 5 119
|
353
|
+
PG07 21656.663954 2732.846117 -15287.177128 468.900536 9 6 9 99
|
354
|
+
PG08 -7891.322905 23766.409877 8291.399530 999999.999999
|
355
|
+
PG09 24728.702544 -5935.295950 7695.776313 -170.802729 8 5 6 95
|
356
|
+
PG10 9441.982986 -22164.251924 10304.245434 -179.067506 8 5 8 101
|
357
|
+
PG11 23222.803074 11534.901219 -6576.745716 -585.261991 9 6 7 87
|
358
|
+
PG12 -11385.964974 -13558.287712 19768.202113 301.805798 6 8 9 105
|
359
|
+
PG13 -2180.944790 -15016.374946 -21948.174706 -123.739380 9 7 6 119
|
360
|
+
PG14 -19416.247238 15034.322334 10157.922439 55.755931 9 6 6 120
|
361
|
+
PG15 -14864.849705 -9017.447047 -20245.388241 -255.192612 9 8 8 127
|
362
|
+
PG16 1297.147177 25275.350767 -7467.422295 -118.498585 6 7 5 116
|
363
|
+
PG17 18865.768749 -15619.546069 10306.157528 -176.051841 8 5 8 113
|
364
|
+
PG18 -14752.942078 10702.289189 -18719.891876 409.692029 9 6 9 110
|
365
|
+
PG19 11907.352809 11140.152075 -21252.074103 -513.458935 4 7 8 121
|
366
|
+
PG20 -12556.343097 -16467.994598 -16791.164399 329.981902 8 8 7 116
|
367
|
+
PG21 -21068.376150 -27.912715 -15677.875460 -455.622502 10 6 5 125
|
368
|
+
PG22 -9812.422851 21740.110902 -11260.974761 361.374424 8 6 8 120
|
369
|
+
PG23 21063.934504 2986.543526 16321.294321 -115.095157 7 7 4 107
|
370
|
+
PG24 -22246.326758 -14656.822746 80.990475 -49.986660 7 9 10 115
|
371
|
+
PG25 -14857.981935 923.194467 21886.246597 -2.304847 7 6 7 101
|
372
|
+
PG26 -4296.516125 25992.458671 3337.152534 28.986232 7 4 5 109
|
373
|
+
PG27 44.719670 16109.996663 -21115.590308 -2.579591 8 7 7 123
|
374
|
+
PG28 12186.497187 -18329.635938 -14182.165525 447.115229 7 6 8 124
|
375
|
+
PG29 -24597.546625 3214.851035 9444.147403 616.894657 8 3 6 121
|
376
|
+
PG30 14831.253542 -7039.559984 -20903.552144 -42.977300 6 6 6 91
|
377
|
+
PG31 -2629.350085 15889.128540 21182.549527 312.820354 7 6 7 104
|
378
|
+
PG32 5914.853410 22608.601876 13092.460715 -124.399970 7 5 6 73
|
379
|
+
* 2015 6 16 1 0 0.00000000
|
380
|
+
PG01 22884.292928 13690.755795 112.086191 -4.222253 9 7 5 109
|
381
|
+
PG02 -7601.639813 -18887.587505 17651.605295 572.342837 8 6 6 109
|
382
|
+
PG03 13485.067045 12102.889339 19422.869157 350.736528 5 7 4 111
|
383
|
+
PG04 17923.652695 17794.137860 -8971.961457 -19.586759 7 7 6 103
|
384
|
+
PG05 -3244.715097 -25848.259363 -4677.770848 -228.959846 5 4 7 114
|
385
|
+
PG06 7685.581063 -13099.374092 21791.787407 185.448446 8 5 4 114
|
386
|
+
PG07 22919.191892 3769.440959 -13118.300955 468.902792 9 6 8 97
|
387
|
+
PG08 -8010.759834 22628.103059 10911.111183 999999.999999
|
388
|
+
PG09 23927.944568 -5245.142850 10287.510817 -170.806556 7 4 6 105
|
389
|
+
PG10 9668.705550 -20762.955841 12690.606600 -179.068186 8 5 7 95
|
390
|
+
PG11 22314.920222 11731.313790 -9086.085585 -585.263968 9 6 7 104
|
391
|
+
PG12 -11105.731064 -15725.824970 18293.364229 301.808899 6 8 9 92
|
392
|
+
PG13 114.807073 -15867.395188 -21459.424182 -123.742395 9 7 6 117
|
393
|
+
PG14 -20410.340608 15213.531025 7526.654712 55.753038 9 7 5 115
|
394
|
+
PG15 -12875.879469 -10259.709427 -20977.470768 -255.194859 9 8 8 130
|
395
|
+
PG16 1031.377366 25938.822880 -4643.994240 -118.494860 7 7 5 110
|
396
|
+
PG17 19857.090743 -15847.598073 7667.166678 -176.053488 8 5 8 116
|
397
|
+
PG18 -14856.080242 8377.126912 -19792.135862 409.694893 8 6 9 113
|
398
|
+
PG19 9679.448638 12069.482122 -21832.093387 -513.459887 4 7 7 122
|
399
|
+
PG20 -12371.776485 -18270.545083 -14933.757028 329.985335 8 7 7 128
|
400
|
+
PG21 -22466.063330 -1164.070764 -13686.577182 -455.625680 11 6 6 124
|
401
|
+
PG22 -10086.450522 20266.885901 -13512.120313 361.377666 8 6 8 122
|
402
|
+
PG23 19418.002915 3999.756614 18030.924287 -115.097325 6 7 4 105
|
403
|
+
PG24 -21981.505235 -14804.701545 -2746.032419 -49.987655 7 8 10 115
|
404
|
+
PG25 -14753.387602 -1599.168569 21932.351913 -2.308551 7 6 7 113
|
405
|
+
PG26 -4525.185834 25439.666023 6123.494061 28.984272 7 4 5 114
|
406
|
+
PG27 -2083.503629 17130.923784 -20177.385928 -2.577193 8 7 7 125
|
407
|
+
PG28 12119.822978 -16482.473595 -16270.860450 447.117348 7 6 8 118
|
408
|
+
PG29 -23563.660238 2535.815564 11961.583514 616.896722 8 2 6 135
|
409
|
+
PG30 16650.082915 -5571.518007 -19961.248240 -42.971202 5 6 5 77
|
410
|
+
PG31 -4669.569943 14560.701530 21809.911183 312.819333 8 6 6 105
|
411
|
+
PG32 5534.090930 23923.841879 10762.439771 -124.391523 7 4 6 40
|
412
|
+
* 2015 6 16 1 15 0.00000000
|
413
|
+
PG01 22644.291493 13826.933539 -2730.036867 -4.221821 8 6 4 110
|
414
|
+
PG02 -5733.460709 -18085.945575 19125.625930 572.344881 7 6 5 114
|
415
|
+
PG03 13395.183095 14243.789995 17974.971293 350.742908 5 7 4 114
|
416
|
+
PG04 16815.246563 17492.338640 -11436.700119 -19.588377 7 8 5 102
|
417
|
+
PG05 -2946.892654 -26229.084898 -1873.982369 -228.956014 5 4 6 111
|
418
|
+
PG06 9855.357631 -11893.288578 21608.861845 185.456292 7 5 4 118
|
419
|
+
PG07 24013.435035 4603.260614 -10726.552863 468.904730 9 7 8 84
|
420
|
+
PG08 -8191.703867 21208.391635 13338.899596 999999.999999
|
421
|
+
PG09 22921.179460 -4368.462963 12702.354820 -170.810546 7 4 6 104
|
422
|
+
PG10 9963.770294 -19111.940234 14849.044134 -179.068526 8 6 7 104
|
423
|
+
PG11 21153.749054 11917.371366 -11443.197259 -585.266382 8 6 7 111
|
424
|
+
PG12 -10955.274148 -17718.304695 16503.617230 301.811970 6 7 9 96
|
425
|
+
PG13 2291.152264 -16811.167433 -20606.726885 -123.745281 9 6 6 118
|
426
|
+
PG14 -21121.976175 15307.720567 4765.662623 55.750457 9 7 4 111
|
427
|
+
PG15 -10894.991898 -11632.355406 -21352.880295 -255.196686 9 7 7 129
|
428
|
+
PG16 818.496931 26288.699010 -1738.924558 -118.491482 7 7 5 114
|
429
|
+
PG17 20566.946526 -15981.856544 4895.904019 -176.055176 8 5 8 120
|
430
|
+
PG18 -15066.146731 5956.975409 -20506.629777 409.697456 7 6 8 116
|
431
|
+
PG19 7461.539306 13139.556940 -22044.710056 -513.460673 5 7 7 118
|
432
|
+
PG20 -12252.187688 -19859.810546 -12821.765435 329.988288 8 7 7 122
|
433
|
+
PG21 -23700.173314 -2111.743940 -11453.534970 -455.628580 11 6 7 116
|
434
|
+
PG22 -10434.867770 18564.714880 -15525.500180 361.381441 8 7 8 119
|
435
|
+
PG23 17674.443103 5185.838912 19438.452369 -115.099556 6 7 4 107
|
436
|
+
PG24 -21446.475593 -14816.109005 -5526.236059 -49.988265 7 8 10 111
|
437
|
+
PG25 -14786.317502 -4105.336631 21597.698724 -2.312244 6 6 7 113
|
438
|
+
PG26 -4787.476559 24589.922923 8804.376735 28.982273 7 5 5 104
|
439
|
+
PG27 -4047.447403 18199.042063 -18891.612034 -2.574743 7 6 7 126
|
440
|
+
PG28 12144.149382 -14405.604003 -18065.849448 447.119898 7 6 9 108
|
441
|
+
PG29 -22325.753461 1674.619987 14272.861920 616.898738 7 2 6 125
|
442
|
+
PG30 18436.582502 -4268.668915 -18676.390691 -42.965072 5 6 5 95
|
443
|
+
PG31 -6818.898991 13321.547590 22065.202282 312.818520 8 6 5 109
|
444
|
+
PG32 5240.619068 24985.498105 8252.302757 -124.382851 7 4 6 51
|
445
|
+
* 2015 6 16 1 30 0.00000000
|
446
|
+
PG01 22125.984442 13837.136700 -5525.763483 -4.221390 8 6 4 113
|
447
|
+
PG02 -3692.286064 -17320.412550 20284.218171 572.347023 6 5 5 116
|
448
|
+
PG03 13401.795063 16206.012722 16217.739040 350.749263 5 7 4 107
|
449
|
+
PG04 15454.576075 17135.443401 -13710.360487 -19.590362 8 8 5 106
|
450
|
+
PG05 -2640.432195 -26305.346414 962.418401 -228.951985 6 4 6 125
|
451
|
+
PG06 12047.572288 -10820.194456 21054.180374 185.464105 7 5 4 113
|
452
|
+
PG07 24900.874401 5248.570838 -8153.056869 468.906732 9 7 8 77
|
453
|
+
PG08 -8466.719136 19536.063865 15531.857973 999999.999999
|
454
|
+
PG09 21746.746251 -3292.008626 14898.758978 -170.814610 6 4 6 105
|
455
|
+
PG10 10353.582606 -17244.069500 16740.463114 -179.070408 8 6 7 105
|
456
|
+
PG11 19756.157565 12123.901865 -13609.501489 -585.268387 7 6 7 100
|
457
|
+
PG12 -10911.265981 -19495.091536 14430.381231 301.815004 6 7 9 103
|
458
|
+
PG13 4310.294191 -17817.664082 -19404.689035 -123.748133 8 7 6 113
|
459
|
+
PG14 -21554.493252 15277.908661 1922.278197 55.748016 8 7 3 120
|
460
|
+
PG15 -8962.655686 -13113.723875 -21364.363423 -255.198691 9 6 6 126
|
461
|
+
PG16 619.454877 26315.274299 1196.754805 -118.487836 8 7 6 121
|
462
|
+
PG17 20999.650200 -15982.773564 2039.855146 -176.056748 7 5 8 122
|
463
|
+
PG18 -15389.815484 3489.801762 -20850.782260 409.700287 6 6 8 118
|
464
|
+
PG19 5298.290997 14331.906213 -21885.020426 -513.461819 6 7 7 121
|
465
|
+
PG20 -12168.817130 -21208.146817 -10490.744229 329.991833 8 6 7 118
|
466
|
+
PG21 -24733.696407 -2882.500417 -9019.873502 -455.632051 11 7 7 107
|
467
|
+
PG22 -10880.736512 16667.226924 -17265.416380 361.384936 7 7 7 127
|
468
|
+
PG23 15876.764689 6539.781587 20519.602097 -115.101877 6 7 4 111
|
469
|
+
PG24 -20632.580039 -14727.043697 -8212.237936 -49.988620 7 7 9 104
|
470
|
+
PG25 -14951.281527 -6544.919923 20888.651669 -2.315891 6 6 7 107
|
471
|
+
PG26 -5117.861344 23460.878015 11333.618311 28.980295 7 5 5 120
|
472
|
+
PG27 -5817.891754 19276.696326 -17280.091485 -2.572329 7 6 8 123
|
473
|
+
PG28 12285.712645 -12140.217141 -19533.377698 447.122156 8 6 9 108
|
474
|
+
PG29 -20924.838503 618.311870 16338.261838 616.900925 7 3 7 129
|
475
|
+
PG30 20145.533388 -3140.604023 -17071.166204 -42.959023 5 6 5 95
|
476
|
+
PG31 -9036.616077 12199.813040 21945.130425 312.817364 8 6 5 109
|
477
|
+
PG32 5003.516299 25771.791891 5604.349748 -124.374137 7 4 6 69
|
478
|
+
* 2015 6 16 1 45 0.00000000
|
479
|
+
PG01 21321.967739 13758.385379 -8227.606461 -4.220992 8 6 4 127
|
480
|
+
PG02 -1509.653225 -16620.607871 21107.810028 572.349216 6 5 5 114
|
481
|
+
PG03 13478.848619 17953.113358 14181.308970 350.755609 5 7 4 111
|
482
|
+
PG04 13854.259780 16760.767075 -15755.388263 -19.592286 8 8 4 100
|
483
|
+
PG05 -2289.437353 -26079.251967 3782.050755 -228.947916 7 5 6 119
|
484
|
+
PG06 14215.498776 -9893.826219 20137.262800 185.471896 7 5 4 114
|
485
|
+
PG07 25547.932115 5726.806417 -5441.751546 468.908874 9 7 8 75
|
486
|
+
PG08 -8862.893713 17647.380032 17451.250873 999999.999999
|
487
|
+
PG09 20446.376945 -2010.378654 16838.918343 -170.818636 5 3 6 105
|
488
|
+
PG10 10858.640948 -15198.584012 18330.712623 -179.070018 7 5 6 107
|
489
|
+
PG11 18145.410487 12378.760795 -15549.840656 -585.270768 7 6 7 107
|
490
|
+
PG12 -10944.069218 -21021.939075 12109.792399 301.817568 7 7 9 107
|
491
|
+
PG13 6140.741419 -18851.444144 -17873.739902 -123.751258 8 7 6 105
|
492
|
+
PG14 -21719.778822 15087.743508 -954.427718 55.745373 8 7 3 120
|
493
|
+
PG15 -7115.569755 -14675.537238 -21010.787488 -255.200568 8 6 5 128
|
494
|
+
PG16 394.390687 26018.516485 4111.333908 -118.484635 8 7 6 124
|
495
|
+
PG17 21168.097141 -15813.689388 -851.638749 -176.058494 7 5 8 120
|
496
|
+
PG18 -15826.069944 1024.569816 -20819.026077 409.703145 5 6 8 115
|
497
|
+
PG19 3230.998452 15620.648316 -21354.277879 -513.462524 6 7 6 114
|
498
|
+
PG20 -12089.254670 -22294.878874 -7980.130852 329.994877 7 6 7 127
|
499
|
+
PG21 -25534.683079 -3495.044881 -6429.569786 -455.634878 11 8 7 103
|
500
|
+
PG22 -11441.106320 14613.473892 -18701.044299 361.388544 7 7 7 127
|
501
|
+
PG23 14067.986832 8048.651216 21255.340711 -115.103479 6 7 5 107
|
502
|
+
PG24 -19539.512421 -14575.336281 -10758.260665 -49.989351 7 7 9 102
|
503
|
+
PG25 -15234.626645 -8869.796569 19818.080453 -2.319600 5 6 7 104
|
504
|
+
PG26 -5547.092689 22078.091338 13667.644547 28.978288 7 5 5 120
|
505
|
+
PG27 -7373.242501 20322.740871 -15370.322478 -2.569880 7 6 8 122
|
506
|
+
PG28 12563.499661 -9733.611675 -20645.699174 447.124129 8 6 9 104
|
507
|
+
PG29 -19405.193343 -637.945038 18122.339592 616.902563 7 3 7 122
|
508
|
+
PG30 21731.998888 -2188.718410 -15173.219218 -42.952986 5 6 5 89
|
509
|
+
PG31 -11278.084106 11216.380259 21452.714377 312.816400 9 6 6 101
|
510
|
+
PG32 4788.732831 26268.482136 2862.952955 -124.365395 7 4 6 99
|
511
|
+
* 2015 6 16 2 0 0.00000000
|
512
|
+
PG01 20233.348484 13629.194257 -10789.676668 -4.220562 7 5 5 128
|
513
|
+
PG02 777.556162 -16010.692492 21582.075535 572.351271 6 5 6 108
|
514
|
+
PG03 13595.017826 19455.179341 11900.649915 350.761968 5 7 4 112
|
515
|
+
PG04 12034.436020 16403.520506 -17538.041715 -19.594147 8 9 3 110
|
516
|
+
PG05 -1859.474012 -25561.702165 6535.778728 -228.944077 7 5 6 116
|
517
|
+
PG06 16311.445084 -9119.817432 18873.860017 185.479747 7 5 5 108
|
518
|
+
PG07 25927.214413 6065.534460 -2638.658561 468.910793 9 8 7 87
|
519
|
+
PG08 -9400.587101 15584.760342 19063.251083 999999.999999
|
520
|
+
PG09 19063.600635 -526.431067 18489.423436 -170.822590 5 3 6 111
|
521
|
+
PG10 11492.528897 -13019.648952 19591.289231 -179.070356 7 5 6 106
|
522
|
+
PG11 16350.387804 12705.686309 -17232.943454 -585.273100 7 7 6 116
|
523
|
+
PG12 -11019.037738 -22272.133150 9582.051192 301.820693 7 7 9 98
|
524
|
+
PG13 7758.302905 -19872.983416 -16039.798293 -123.754514 8 7 6 105
|
525
|
+
PG14 -21637.729183 14705.103859 -3814.497904 55.742885 8 7 3 119
|
526
|
+
PG15 -5385.399289 -16283.825851 -20297.222778 -255.202399 8 5 5 129
|
527
|
+
PG16 104.434368 25408.082035 6953.399056 -118.480683 9 7 7 116
|
528
|
+
PG17 21093.191351 -15442.451590 -3728.240845 -176.060365 7 5 7 120
|
529
|
+
PG18 -16366.218735 -1390.559434 -20412.885121 409.706210 5 6 8 116
|
530
|
+
PG19 1296.169874 16973.327115 -20459.969711 -513.463309 6 7 6 112
|
531
|
+
PG20 -11978.822564 -23106.990938 -5332.608667 329.998263 7 5 7 119
|
532
|
+
PG21 -26077.373942 -3974.155066 -3728.564042 -455.637336 11 8 7 97
|
533
|
+
PG22 -12126.174504 12446.531805 -19807.025111 361.392250 7 7 7 128
|
534
|
+
PG23 12289.127439 9691.870569 21632.232169 -115.105680 6 6 5 101
|
535
|
+
PG24 -18175.463222 -14399.059020 -13120.890056 -49.989711 7 7 9 118
|
536
|
+
PG25 -15615.126509 -11035.777175 18405.092531 -2.323319 5 6 6 98
|
537
|
+
PG26 -6100.824441 20474.123672 15766.242473 28.976320 7 5 6 119
|
538
|
+
PG27 -8700.181001 21294.126874 -13195.022353 -2.567487 7 5 8 113
|
539
|
+
PG28 12988.297366 -7237.454640 -21381.739406 447.126649 8 6 9 98
|
540
|
+
PG29 -17812.688580 -2090.494976 19594.531426 616.904478 7 4 7 125
|
541
|
+
PG30 23152.962870 -1406.344184 -13015.175331 -42.947046 6 6 5 95
|
542
|
+
PG31 -13496.289143 10384.210310 20597.169249 312.815369 9 6 6 108
|
543
|
+
PG32 4560.540435 26469.305624 73.872429 -124.356654 7 4 6 73
|
544
|
+
__SP3_TEXT__
|
545
|
+
# https://cddis.nasa.gov/archive/gnss/products/1849/igs18492.sp3.Z
|
546
|
+
# mirrored: ftp://garner.ucsd.edu/pub/products/1849/igs18492.sp3.Z
|
547
|
+
f.path
|
548
|
+
},
|
549
|
+
:antex => Tempfile::open{|f|
|
550
|
+
f.write(<<-__ANTEX_TEXT__)
|
551
|
+
1.4 M ANTEX VERSION / SYST
|
552
|
+
A PCV TYPE / REFANT
|
553
|
+
END OF HEADER
|
554
|
+
START OF ANTENNA
|
555
|
+
BLOCK IIR-M G12 G058 2006-052A TYPE / SERIAL NO
|
556
|
+
0 29-JAN-17 METH / BY / # / DATE
|
557
|
+
0.0 DAZI
|
558
|
+
0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN
|
559
|
+
2 # OF FREQUENCIES
|
560
|
+
2006 11 17 0 0 0.0000000 VALID FROM
|
561
|
+
IGS14_2196 SINEX CODE
|
562
|
+
G01 START OF FREQUENCY
|
563
|
+
10.20 -5.60 767.80 NORTH / EAST / UP
|
564
|
+
NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60
|
565
|
+
G01 END OF FREQUENCY
|
566
|
+
G02 START OF FREQUENCY
|
567
|
+
10.20 -5.60 767.80 NORTH / EAST / UP
|
568
|
+
NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60
|
569
|
+
G02 END OF FREQUENCY
|
570
|
+
END OF ANTENNA
|
571
|
+
START OF ANTENNA
|
572
|
+
BLOCK IIR-A G18 G054 2001-004A TYPE / SERIAL NO
|
573
|
+
0 29-JAN-17 METH / BY / # / DATE
|
574
|
+
0.0 DAZI
|
575
|
+
0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN
|
576
|
+
2 # OF FREQUENCIES
|
577
|
+
2001 1 30 0 0 0.0000000 VALID FROM
|
578
|
+
2018 1 23 23 59 59.9999999 VALID UNTIL
|
579
|
+
IGS14_2196 SINEX CODE
|
580
|
+
G01 START OF FREQUENCY
|
581
|
+
13.90 0.30 1248.60 NORTH / EAST / UP
|
582
|
+
NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40
|
583
|
+
G01 END OF FREQUENCY
|
584
|
+
G02 START OF FREQUENCY
|
585
|
+
13.90 0.30 1248.60 NORTH / EAST / UP
|
586
|
+
NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40
|
587
|
+
G02 END OF FREQUENCY
|
588
|
+
END OF ANTENNA
|
589
|
+
START OF ANTENNA
|
590
|
+
BLOCK IIF G24 G065 2012-053A TYPE / SERIAL NO
|
591
|
+
0 29-JAN-17 METH / BY / # / DATE
|
592
|
+
0.0 DAZI
|
593
|
+
0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN
|
594
|
+
2 # OF FREQUENCIES
|
595
|
+
2012 10 4 0 0 0.0000000 VALID FROM
|
596
|
+
IGS14_2196 SINEX CODE
|
597
|
+
G01 START OF FREQUENCY
|
598
|
+
394.00 0.00 1407.10 NORTH / EAST / UP
|
599
|
+
NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50
|
600
|
+
G01 END OF FREQUENCY
|
601
|
+
G02 START OF FREQUENCY
|
602
|
+
394.00 0.00 1407.10 NORTH / EAST / UP
|
603
|
+
NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50
|
604
|
+
G02 END OF FREQUENCY
|
605
|
+
END OF ANTENNA
|
606
|
+
START OF ANTENNA
|
607
|
+
BLOCK IIF G25 G062 2010-022A TYPE / SERIAL NO
|
608
|
+
0 29-JAN-17 METH / BY / # / DATE
|
609
|
+
0.0 DAZI
|
610
|
+
0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN
|
611
|
+
2 # OF FREQUENCIES
|
612
|
+
2010 5 28 0 0 0.0000000 VALID FROM
|
613
|
+
IGS14_2196 SINEX CODE
|
614
|
+
G01 START OF FREQUENCY
|
615
|
+
394.00 0.00 1517.40 NORTH / EAST / UP
|
616
|
+
NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50
|
617
|
+
G01 END OF FREQUENCY
|
618
|
+
G02 START OF FREQUENCY
|
619
|
+
394.00 0.00 1517.40 NORTH / EAST / UP
|
620
|
+
NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50
|
621
|
+
G02 END OF FREQUENCY
|
622
|
+
END OF ANTENNA
|
623
|
+
START OF ANTENNA
|
624
|
+
BLOCK IIR-M G29 G057 2007-062A TYPE / SERIAL NO
|
625
|
+
0 29-JAN-17 METH / BY / # / DATE
|
626
|
+
0.0 DAZI
|
627
|
+
0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN
|
628
|
+
2 # OF FREQUENCIES
|
629
|
+
2007 12 20 0 0 0.0000000 VALID FROM
|
630
|
+
IGS14_2196 SINEX CODE
|
631
|
+
G01 START OF FREQUENCY
|
632
|
+
10.90 -4.50 791.80 NORTH / EAST / UP
|
633
|
+
NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60
|
634
|
+
G01 END OF FREQUENCY
|
635
|
+
G02 START OF FREQUENCY
|
636
|
+
10.90 -4.50 791.80 NORTH / EAST / UP
|
637
|
+
NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60
|
638
|
+
G02 END OF FREQUENCY
|
639
|
+
END OF ANTENNA
|
640
|
+
START OF ANTENNA
|
641
|
+
BLOCK IIR-M G31 G052 2006-042A TYPE / SERIAL NO
|
642
|
+
0 29-JAN-17 METH / BY / # / DATE
|
643
|
+
0.0 DAZI
|
644
|
+
0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN
|
645
|
+
2 # OF FREQUENCIES
|
646
|
+
2006 9 25 0 0 0.0000000 VALID FROM
|
647
|
+
IGS14_2196 SINEX CODE
|
648
|
+
G01 START OF FREQUENCY
|
649
|
+
-0.80 5.80 912.50 NORTH / EAST / UP
|
650
|
+
NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60
|
651
|
+
G01 END OF FREQUENCY
|
652
|
+
G02 START OF FREQUENCY
|
653
|
+
-0.80 5.80 912.50 NORTH / EAST / UP
|
654
|
+
NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60
|
655
|
+
G02 END OF FREQUENCY
|
656
|
+
END OF ANTENNA
|
657
|
+
__ANTEX_TEXT__
|
658
|
+
# https://files.igs.org/pub/station/general/igs14.atx
|
659
|
+
f.path
|
660
|
+
},
|
223
661
|
}}
|
224
662
|
let(:solver){
|
225
663
|
res = GPS::Solver::new
|
@@ -375,22 +813,6 @@ __RINEX_OBS_TEXT__
|
|
375
813
|
expect(mat).to respond_to(:resize!)
|
376
814
|
}
|
377
815
|
}
|
378
|
-
solver.hooks[:satellite_position] = proc{
|
379
|
-
i = 0
|
380
|
-
proc{|prn, time, pos|
|
381
|
-
expect(input[:measurement]).to include(prn)
|
382
|
-
expect(pos).to be_a_kind_of(Coordinate::XYZ).or eq(nil)
|
383
|
-
# System_XYZ or [x,y,z] or nil(= unknown position) are acceptable
|
384
|
-
case (i += 1) % 5
|
385
|
-
when 0
|
386
|
-
nil
|
387
|
-
when 1
|
388
|
-
pos.to_a
|
389
|
-
else
|
390
|
-
pos
|
391
|
-
end
|
392
|
-
}
|
393
|
-
}.call
|
394
816
|
pvt = solver.solve(
|
395
817
|
input[:measurement].collect{|prn, items|
|
396
818
|
items.collect{|k, v| [prn, k, v]}
|
@@ -450,5 +872,70 @@ __RINEX_OBS_TEXT__
|
|
450
872
|
}
|
451
873
|
}
|
452
874
|
end
|
875
|
+
it 'calculates satellites position based on SP3 with ANTEX' do
|
876
|
+
sp3, sn = [GPS::SP3::new, solver.gps_space_node]
|
877
|
+
expect(sp3.read(input[:sp3])).to eq(32 * 9)
|
878
|
+
proc{|sats|
|
879
|
+
expect(sats.kind_of?(Array)).to eq(true)
|
880
|
+
expect(sats[sp3.class::SYS_GPS]).to eq(32)
|
881
|
+
}.call(sp3.satellites)
|
882
|
+
expect(sp3.apply_antex(input[:antex])).to eq(6 * 9)
|
883
|
+
sn.read(input[:rinex_nav])
|
884
|
+
|
885
|
+
t0 = GPS::Time::new(1849, 172800)
|
886
|
+
sn.update_all_ephemeris(t0)
|
887
|
+
|
888
|
+
(0..120).step(10){|dt_min|
|
889
|
+
t = t0 + (dt_min * 60)
|
890
|
+
[12, 18, 24, 25, 29, 31].each{|sat_id|
|
891
|
+
eph_pos_vel = sn.ephemeris(sat_id).constellation(t)
|
892
|
+
delta = {
|
893
|
+
:pos => (sp3.position(sat_id, t) - eph_pos_vel[0]).to_a,
|
894
|
+
:vel => (sp3.velocity(sat_id, t) - eph_pos_vel[1]).to_a,
|
895
|
+
}
|
896
|
+
puts "SP3 delta(#{t.seconds}, #{sat_id}): #{delta}"
|
897
|
+
delta[:pos].each{|v|
|
898
|
+
expect(v.abs).to be < 5 # 5m
|
899
|
+
}
|
900
|
+
delta[:vel].each{|v|
|
901
|
+
expect(v.abs).to be < 1E-2 # 10mm
|
902
|
+
}
|
903
|
+
}
|
904
|
+
}
|
905
|
+
end
|
906
|
+
it 'calculates position without any error with SP3 and ANTEX' do
|
907
|
+
sn = solver.gps_space_node
|
908
|
+
sp3 = GPS::SP3::new
|
909
|
+
sp3.read(input[:sp3])
|
910
|
+
sp3.apply_antex(input[:antex])
|
911
|
+
expect(sp3.push(solver, sp3.class::SYS_GPS)).to eq(true)
|
912
|
+
GPS::RINEX_Observation::read(input[:rinex_obs]){|item|
|
913
|
+
t_meas = item[:time]
|
914
|
+
sn.update_all_ephemeris(t_meas)
|
915
|
+
|
916
|
+
meas = GPS::Measurement::new
|
917
|
+
types = (item[:meas_types]['G'] || item[:meas_types][' ']).collect.with_index{|type_, i|
|
918
|
+
type_ = {
|
919
|
+
"C1" => :L1_PSEUDORANGE,
|
920
|
+
"D1" => :L1_RANGE_RATE,
|
921
|
+
}[type_]
|
922
|
+
type_ && [i, GPS::Measurement::const_get(type_)]
|
923
|
+
}.compact
|
924
|
+
item[:meas].each{|k, v|
|
925
|
+
sys, prn = k
|
926
|
+
next unless sys == 'G' # GPS only
|
927
|
+
types.each{|i, type_|
|
928
|
+
meas.add(prn, type_, v[i][0]) if v[i]
|
929
|
+
}
|
930
|
+
}
|
931
|
+
|
932
|
+
pvt = solver.solve(meas, t_meas)
|
933
|
+
expect(pvt.position_solved?).to eq(true)
|
934
|
+
[-3952590.4754, 3360273.8926, 3697987.2632].zip(pvt.xyz.to_a).each{|a, b|
|
935
|
+
expect(a).to be_within(1E+2).of(b) # 10 m
|
936
|
+
}
|
937
|
+
puts ([:lat, :lng].collect{|f| pvt.llh.send(f) / Math::PI * 180} + [pvt.llh.alt]).inspect
|
938
|
+
}
|
939
|
+
end
|
453
940
|
end
|
454
941
|
end
|