Notifications
Clear all

is this RINEX format violation ?

9 Posts
2 Users
0 Reactions
1 Views
(@yuriy-lutsyshyn)
Posts: 328
Registered
Topic starter
 

I am convinced that this is RINEX format violation: in the picture bellow it is stated that there are 9 measurements in an epoch, BUT only 8 measurements are actually present. P1 is never present in the files. So 9 != 8. For a program reading this file there is no way to figure out that P1 is actually P2(because P2 is placed where P1 is supposed to be.)

The agency responsible for the files is denying that there is a problem with the files they generate, and they say they put P1, just in case it is ever present.

To me, they should remove P1 record from the line and decrease the number of observables to 8 so the line looks like this:

[inlinecode] 8 C1 L1 D1 S1 P2 L2 D2 S2 # / TYPES OF OBSERV[/inlinecode]

or they should add an extra space where P1 is supposed to be:

What do you think ? Is it contrary to RINEX rules or not ? it would be great to get your voutes, than I could sent them a link to this post.
RINEX says: ... Number of different observation types stored in the file....they do not store P1 so they cant claim 9 observables:
[inlinecode]
+--------------------+------------------------------------------+------------+
|# / TYPES OF OBSERV | - Number of different observation types | I6, |
| | stored in the file | |
| | - Observation types | 9(4X,A2) |
[/inlinecode]

 
Posted : April 9, 2013 10:51 am
(@paul-in-pa)
Posts: 6044
Registered
 

That Is OK, No RINEX Format Violation

Rinex allows for 5 observations on the line, with so many spaces for each observation.

Very few receivers actually output P1 data, most only output C1 data and P2. The C1 can be substituted for P1. I have Ashtech Z-12s and they output C1, P1 and P2 and I can tell you that while C1 and P1 are close they are not exactly the same.

Since the specific receiver you show is not outputting P1 the area to the right on every other line is blank. Had P1 been somewhere else in the data order that area would be blank.

I believe all Ashtech receivers output P1. Some Trimble and Leica do also, but it may not be because of the manufacturere software, but RINEX files can be created by other software. Other data such as D1, D2, S1 and S2 are results of calculations of other observations, and may or may not be output. Some of it depends on what the processing software is looking for, so it is a calculate it now or calculate it later choice.

Whoever sets up an output station has great flexibility in the format of the output lines, just put the data where you say you did. No data is OK in certain fields, if you list a criteria not in current use. L1 and L2 is required for OPUS-S. L1, L2, C1/or/P1 and P2 are required for OPUS-RS.

If this agency would remove P1 as you request, P2 would move up to the fifth position on the first line and 3 observables would be on the second line. No great savings in that.

Paul in PA

 
Posted : April 9, 2013 8:39 pm
(@yuriy-lutsyshyn)
Posts: 328
Registered
Topic starter
 

That Is OK, No RINEX Format Violation

> If this agency would remove P1 as you request, P2 would move up to the fifth position on the first line and 3 observables would be on the second line. No great savings in that.

P2 is already in fifth position (first picture is the original file), and the header record # / TYPES OF OBSERV says it belongs to P1 - this is the whole point of my concern (the program reading this file will think this is a real P1)

ok you thing since there is no fifth record on the FIRST line that means the P2 is in sixth position (the first record, on the second line)- yes this makes sense !,

Leica software would still but 14 whitespaces in the first row, on fifth position, and I think this is more correct than putting CRLF immediately after fourth pos on first line

 
Posted : April 9, 2013 9:08 pm
(@paul-in-pa)
Posts: 6044
Registered
 

Negative, P2 Is Currently In The Sixth Position

Five items can go on the first line, the rest go on the second line. In your example file the fifth position is blank.

I believe only the nine items you list are supported in the RINEX format.

I have attached some lines from my Z-12 RINEX file.

2 OBSERVATION DATA G (GPS) RINEX VERSION / TYPE
RINEXDLL.DLL V2.70 06 - APR - 13 20:56 PGM / RUN BY / DATE
COMMENT
M037 MARKER NAME
MARKER NUMBER
OBSERVER / AGENCY
Z12 ASHTECH Z-XII P3 1L00 1D04 REC # / TYPE / VERS
ANT # / TYPE
1234125.8700 -4681450.5100 4138498.8400 APPROX POSITION XYZ
0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N
1 1 WAVELENGTH FACT L1/2
7 L1 L2 C1 P1 P2 D1 D2 # / TYPES OF OBSERV
10.0000 INTERVAL
LEAP SECONDS
2013 4 6 15 47 30.000000 GPS TIME OF FIRST OBS
2013 4 6 17 27 20.000000 GPS TIME OF LAST OBS
END OF HEADER
13 4 6 15 47 30.0000000 0 5G24G14G12G22G18 0.000740255
413664.856 9 313870.07249 21724927.067 21724927.4754 21724934.7474
-2191.956 -1708.018
-381416.452 9 -287963.46849 21856454.997 21856454.7334 21856460.6524
1522.124 1186.071
-230830.582 9 -162144.32149 23777125.003 23777128.5994 23777134.2684
2396.863 1867.685
-270314.796 9 -201637.46249 20928434.554 20928433.8634 20928436.9454
1332.790 1038.538
99858.189 9 76639.07549 20547811.516 20547810.8244 20547815.0814
-474.480 -369.725

Once it ran awhile I had 8 satellites.

13 4 6 16 54 0.0000000 0 8G24G25G31G11G14G12G22G18 0.000510750
8016589.086 9 6238220.31049 23771305.354 23771306.1894 23771315.8674
-1897.906 -1478.888
-10057828.785 9 -7813787.86749 22432295.077 22432295.1184 22432303.2384
3743.177 2916.761
-14839258.178 9 -11543502.38249 22873854.033 22873854.2804 22873862.0374
4553.004 3547.795
-1538212.065 9 -1190055.18349 24741028.691 24741028.8434 24741037.5454
1415.649 1103.103
-8606185.246 9 -6696872.16849 20890919.293 20890918.8834 20890923.8354
2086.985 1626.222
-10224905.240 9 -7949726.80349 22474898.023 22474898.1014 22474902.9984
1855.013 1445.465
-6138863.638 9 -4774533.51549 20411273.621 20411272.6874 20411275.8804
962.944 750.346
1696820.944 9 1321020.49349 21451293.539 21451292.9364 21451297.4784
-837.915 -652.921

Take a look at the similarity of the C1 P1 versus the P2 data.

Paul in PA

 
Posted : April 9, 2013 9:22 pm
(@paul-in-pa)
Posts: 6044
Registered
 

Depending On With What You Read A RINEX File, The Flags Are?

I cannot read them since I open my RINEX in Wordpad. However I am aware they are there.

Are you having some kind of processing problem that you bring this up as a possible cause?

Paul in PA

 
Posted : April 9, 2013 9:27 pm
(@yuriy-lutsyshyn)
Posts: 328
Registered
Topic starter
 

Negative, P2 Is Currently In The Sixth Position

editing time expired...... You are right no fifth place on first line = no P1. Thanks !! But Leica does not mind putting extra whitespaces for clarity at the end of second and third lines for clarity:

[inlinecode] 2.11 OBSERVATION DATA M RINEX VERSION / TYPE
SpiderWeb 4.2 2013 04 08 08:47 PGM / RUN BY / DATE [/inlinecode]
.....
[inlinecode] 13 C1 L1 D1 S1 P2 L2 D2 S2 C2# / TYPES OF OBSERV
C5 L5 D5 S5 # / TYPES OF OBSERV [/inlinecode]
.....

 
Posted : April 9, 2013 9:32 pm
(@yuriy-lutsyshyn)
Posts: 328
Registered
Topic starter
 

Depending On With What You Read A RINEX File, The Flags Are?

I was told TGO had problem reading their files long time ago. I am develipong my own RINEX reading c++ class and got stuck on this, but now I know how to get around, thanks !.

(I put images because the show CRLF characters and whitespaces as well, inserting text her does not show that)

 
Posted : April 9, 2013 9:37 pm
(@paul-in-pa)
Posts: 6044
Registered
 

I Would Be Interested In A "C++" Rinex Reading File

From time to time I do some serious editing.

I would like to be able to compare 2 RINEX files observation by observation and edit out certain data. Mostly zero baseline stuff, 2 different receivers using a single antenna and a splitter.

"teqc" allows you to edit out and/or rearrange RINEX data observations.

Paul in PA

 
Posted : April 9, 2013 10:03 pm
(@yuriy-lutsyshyn)
Posts: 328
Registered
Topic starter
 

I Would Be Interested In A "C++" Rinex Reading File

I could share the c++ class files when I finish them, but the methods are reading data and placing it into my other classes objects, so there is really no much use from them... for someone else

I am reading rinex files from base and rover, like if they are coming in real time, and this way I will be feeding them to the RTK part of my program, which is just starting to materialize very very slowly...

 
Posted : April 10, 2013 12:49 am