gps_pvt 0.4.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|