I have a logger which records lat and long GPS data in Degrees Minutes Decimal format and I need to convert it into Degrees Decimal. For example the format from the logger is:
3947.787, -10454.28
I need to split this into:
39 47.787 -104 54.28
I can then convert these values into Degrees Decimal. The part I'm struggling with in my head is having the degrees value either 2 or 3 characters. If they where all the same size I think it's be far easier.
Thanks in advance everyone.

1 comentario

James Tursa
James Tursa el 15 de Mzo. de 2018
Do you have those lat/long values in your MATLAB workspace as char data or as double data?

Iniciar sesión para comentar.

 Respuesta aceptada

Stephen23
Stephen23 el 15 de Mzo. de 2018
Editada: Stephen23 el 15 de Mzo. de 2018

0 votos

If the minutes always has exactly two digits then this can be easily solved using a regular expression:
>> str = '3947.787, -10454.28';
>> tkn = regexp(str,'(\d+)(\d{2}\.\d+)','tokens');
>> str2double(vertcat(tkn{:}))
ans =
39 47.787
104 54.28
Note that this regular expression will not work if minutes can have other than two digits.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 15 de Mzo. de 2018

Editada:

el 15 de Mzo. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by