From dac4a8ec2b832eb419847c8dc41324612e382dff Mon Sep 17 00:00:00 2001 From: Yves Gouriou <yves.gouriou@ird.fr> Date: Tue, 27 Nov 2007 13:11:38 +0000 Subject: [PATCH] Ajout du fichier dd2dm.m --- tsg_util/dd2dm.m | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 tsg_util/dd2dm.m diff --git a/tsg_util/dd2dm.m b/tsg_util/dd2dm.m new file mode 100644 index 0000000..8ea98c1 --- /dev/null +++ b/tsg_util/dd2dm.m @@ -0,0 +1,51 @@ +function string = dd2dm( posit, latlon ) +% STRING = DD2DM( posit, latlon ) +% Convertit une position decimale en chaine de caractere +% +% string chaine de caracteres + +% posit en degres decimaux +% latlon 0 pour la latitude - 1 pour la longitude +% +% $Id: dd2dm.m 297 2007-07-17 13:56:00Z jgrelet $ + + +% representation ASCII du caractere degre +% pour assurer la comptatibilite windows/linux (ISO8859/UTF8) +degre = 176; + +% Determine si latitude ou longitude +% ---------------------------------- +if latlon == 1 + neg = 'W'; + pos = 'E'; +else + neg = 'S'; + pos = 'N'; +end + +% Cree les labels +% --------------- +if posit < 0 + geo = neg; +else + geo = pos; +end + +% Conversion et formattage +% on n'affiche pas les decimales pour les minutes +% car la precision n'est pas suffisante (currentpoint) +% --------------------------------------------- +% posit +h = fix( posit ); +m = (posit - h ) * 60; +if abs(m) > 59 + if posit > 0 + h = h+1; + else + h = h-1; + end + m = 0; +end +string = sprintf( '%02d%c%06.3f %c', abs(h), degre, abs(m), geo ); + -- GitLab