DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Graphic with degree scale for GPS acquired data

Hi everyone.
 
My issue: I have data acquired with Diadem 8.1 from a GPS receiver thru a NMEA protocol. (*.atr) file.
The coordinates "Latitude" and "Longitude" have the following strings: 'ddmm.ssss'.
 
My problem: There is no degrees Y scale in Diadem to plot these data. So when I have a GPS coordinate eg.: Latitude: 22°59'5999" (in Diadem = 2259,5999) the next row will be 23°00'0000" (in Diadem = 2300,00). As the 2D chart has only linear
Y scale, the signal has a displacement from the value 2250 to 2300. This changes the signal scope absolutely from the original test track.
The attached file can make things more clear.
 
Question 01: In Diadem 8.1, there is no chances of having a Y axis with scale in degress, isn`t it ?
 
Question 02: In VIEW mode, is there a chance to performe an autosequence in order to make calculation in the signal, by using the band cursor, so I could select a part of the signal and make an increment/decrement (+/- 40)  in order to concatenate the displaced signal ?
 
Perhaps the attached file could clarify the post.
 
Thanks in advance for any tip.
 
Rodrigo
Sao Paulo - Brazil
0 Kudos
Message 1 of 4
(3,749 Views)
Hello Rodrigo!
 
Answer Q1: As far as I know is there no chance
 
Answer Q2: I dont't think that this is the right way. I would recalc the input data and norm the minutes from a 0-59 range to a 0-99 range. The following script shows how to do it. To make the data flow clear I splitted it in more steps then necessary. You can put the code in a procedure and perform it for both input channels.
' : 100 to get the minutes to decimal places
Call FormulaCalc("Ch('Result1') := Ch('YCop_Latitude') / 100")
 
' get the decimal places only
Call FormulaCalc("Ch('Result2') := Frac( Ch('Result1') )")
 
' Input data without minutes (for later use)
Call FormulaCalc("Ch('Result3') := Ch('YCop_Latitude') - (Ch('Result2') * 100)")
 
' norm minutes from 0-59 to 0-99
Call FormulaCalc("Ch('Result4') := Ch('Result2') * 100/60")
 
' add the minutes back to the input data -> linear data
Call FormulaCalc("Ch('YCop_Latitude_Linear') := Ch('Result3') + Ch('Result4') * 100")
 
' delete the temporary channels
Call ChnDelete("Result1")
Call ChnDelete("Result2")
Call ChnDelete("Result3")
Call ChnDelete("Result4")
Hope this helps
 
Matthias
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 2 of 4
(3,735 Views)

Hi Rodrigo,

Or you could do the same transformation as Matthias suggests, but to pi radians instead of degrees.  The main thing is to transform your data into a range of continuous numbers, instead of having 3 separate numbers encoded in the numeric value that DIAdem is trying to plot.  We're up to DIAdem 10.1 now, and there is no dedicated degrees-minutes-seconds plotting.

Brad Turpin
DIAdem Product Support Engineer
National Instruments

0 Kudos
Message 3 of 4
(3,719 Views)

Once again, problem is solved.

The functions "Frac" and "Trunc" were helpfull !

Thank you very much Sirs.

RodrigoSmiley Wink

Sao Paulo - Brazil

 

0 Kudos
Message 4 of 4
(3,708 Views)