Using a Trimble R10 to obtain point coordinates which are held in a V10-70 DC file.
I want to write some code to extract the Lat and Long for the first surveyed point in the file, but first I need to understand what's going on.
The DC file gives me the Lat and Long of the nearest base station but the data for the surveyed points themselves is not in a format I can work out.
For example, here's the data held on one point in the survey:
67RP 126 2944.46616040589-4219.5087853568-2316.7044279017v1 :10.012686563102220.01809678040445
C6NM1013.136707305908201.906208276748662.49104452133179 0001 1859241896.0000000001859241896.0000000001
Does anyone know the formula which I apply to these numbers to get the Lat and Long of this point?
Thanks in advance
Steve
(UK)
It is giving you Cartesian differences for point 126, namely 2944.46616040589 -4219.5087853568 -2316.7044279017 from your base point and the variances after that.
The 67RP record is a "Rapid Point" GPS Vector Record.
It contains the Dx,Dy,Dz vector (Geocentric Cartesian [ECEF]) values in "Project UNITS," along with the "Feature Code, Measurement Method,Classification of the Point, Horizontal and Vertical Precision."
The C6NM record is the "Quality Control 1" Record.
It contains the "minimum Number of Satellites, Relative DOPS, PDOP, HDDOP, VDOP, RMS, Number of GPS positions used, Horizontal standard deviation, Vertical standard deviation, Start GPS week, Start GPS time in seconds [3dp], End GPS week, End GPS time in seconds [3dp], and monitor status.
Loyal
The Trimble DC file is a highly formatted ASCII Text file that contains a butt-load of data...
What you want to do is very "doable," but not nearly as easy as you might think.
The primary "code" that you will have to write, is an XYZ[ECEF] to Lat/Lon/Eh, and LAT/Lon/Eh to XYZ[ECEF] routines.
HI(s), Rods, and antenna calibration offsets factor in, and ideally you will want to also read the 59 (QC-2) record (which contains the correlations).
There is an HTML file available that "decodes" all of the various records in a .DC file, and that is where you will want to start.
Loyal
I would think that there would have to be a Style Sheet that would give you what you want, or at least something that you can work with.
As Lee said above I guess the utility called 'ASCII File Generator' will do wat you want.
If you want to program you may consider starting from the jxl (jobxml) file, that format is a lot more readable than the dc format and it has more data available.
greetz,
Chr.
On that note, if you're proficient in programming, the XLS style sheets are also editable; start with one that's close to what you want and edit to suit your needs.
Wow, that was fast!
Thanks everyone indeed for the advice on this one. I had discovered that the 67RP was indeed the data I was after and had assumed that they were some kind of offset, but I couldn't see what the units were. If I applied them as metres I came pretty close to the correct answer, but no cigar.
Some of this stuff looks way above my league, which is why I am attracted to Loyal's comment "There is an HTML file available that "decodes" all of the various records in a .DC file, and that is where you will want to start." 😀
I cannot seem to find one which explains or - better still - decodes the Cartesian stuff.
My other option is to try and lift the hood on a *.GS5 file, which GeoSite Office produces, but heaven knows how that's put together, which is why I picked the *.DC file, which is at least in ASCII.
Cheers
Steve
DC files are considered obsolete by Trimble; the Job XML (JXL) file might be a better starting point.
Steve Moffat, post: 337342, member: 10514 wrote: If I applied them as metres I came pretty close to the correct answer, but no cigar.
Steve,
The vector data is expressed from the L1 Phase Center (PC) of the "Base," to the L1 Phase Center (PC) of the "Rover."
Soooo... you have to convert the LLH value at the Base GRP (monument) to an LLH @ the Base L1 PC (GRP + HI + ARP to L1 PC)...
Convert that LLH to XYZ (Geocentric Cartesian), apply the vector data (Dx/Dy/Dz) to get the Rover L1 PC coordinate (XYZ)...
Convert that to LLH, and apply the L1 PC to Monument value (rod + Arp to L1 PC).
Loyal
Thanks to all for your invaluable advice. The way ahead seems to be the ASCII File Generator, which I can manipulate via a command line in my application. Thanks again for the help!
Steve
Here is how I do it...
1) convert the base lat/long/HGT to X/Y/Z
X=(N+h)*cos(latitude)*cos(longitude)
Y=(N+h)*cos(latitude)*sin(longitude)
Z=(N*(1-esqr)+h)*sin(latitude)
N is the radius of curvature in the prime vertical, a function of latitude
e is the eccentricity of the ellipsoid (esqr is e squared)
2) convert the HI's (base and rover) to DX/DY/DZ (this is a transformation of local coordinate differences where DN and DE are zero)
DX=HI*cos(latitude)*cos(longitude)
DY=HI*cos(latitude)*sin(longitude)
DZ=HI*sin(longitude)
Note that the HI is the height to the APC, not to the ARP; as someone mentioned above, the DX/DY/DZ in the DC file are APC to APC (APC=antenna phase center)
3) apply the DX/DY/DZ from the 67 record AND the DX/DY/DZ values from step 2 (3 sets of DX/DY/DZ) to get X/Y/Z at the rover (simple addition)
4) convert the X/Y/Z from step 3 to lat/long/HGT
This step is more involved and involves iteration, although there are non-iterative ways to do it I prefer to use the simpler iterative methods and let the computer do the work.
5) apply the geoid separation to get an ortho height if needed
H=h+N
Sounds complicated, and it sort of is, but it can be programmed fairly easily, either in excel or a programming language like C or VB. An excellent source of formulas for all of this (and much more) is "The 3-D Global Spatial Data Model: foundation of the Spatial Data Infrastructure" by Earl Burkholder (CRC press, ISBN978-1-4200-6301-1), in a library it would be found at QA402.B866 2008
I use the above process to load all of the vectors from the dc file into a database, where I can then change HI's, enter adjusted base coordinates, etc and then output coordinates. We often use HERE (i.e. a pseudorange position) for the base, and then have the adjusted position available later in the office.
I put two pdf files out there which explain the dc file formats. As for the .job formats...???
Wow! Thanks John.
A tonne of information.
If you can hear a loud wooshing sound, it is some of this rushing clear over my head, but I am going to take it slow and by the end I will have learned a lot. 😀
AsciiFileGenerator.exe does not seem to run in Windows 10 :pissed: