Fullly parsing of CRD
Consolidated Laser Ranging Data Format (CRD) is the standard format of ILRS data. Currently only the most significant are parsed. There are CRDParser.java, CRDHeader.java, CRDConfiguration.java, CRD.java and the test class CRDParserTest.java.
I am working on the fully parsing CRD.
The highlight features are as followings:
- All fields, all records are parsed.
- Comment lines can occur anywhere within a file, including the first line of a file.
- C0-C7 can be in any order and can be multiple records, in case of two color laser ranging.
- C0-C7 can be after H2 or H3 or H4, that is H1 H2 C0 C1 C2 C3 H3 H4, or H1 H2 H3 H4 C0 C1 C2 C3.
- The case of many targets, single system configuration, that is H1 H2 C1 C2 C3 C0 40 H3 H4 .. H8 H4 .. H8 .... H3 H4 .. H8 H9.
- All record related classes have
toCrdString()
method. -
RangeMeasurement
is extended asNptRangeMeasurement
for Normal point andFRRangeMeasurement
for Full rate, separately. And the classRangeMeasurement
is changed toabstract
.
Then the wavelength used to calculate the troposhperic refraction correction should be get as the followings:
final double wavelength = block.getConfigurationRecords().getSystemRecord(range.getSystemConfigurationId()).getWavelength();