Ciao,
se l'input è file di testo e LON/LAT è nel formato
dd°mm'ss"
si può usare la seguente regexp con parentesi per catturare i diversi
elementi:
/([0-9]+)°[[:space:]]*([0-9]+)'[[:space:]]*([0-9]+)"/
diversi linguaggi e ambienti danno diversi modi per farlo, ad esempio le
funzioni preg_match_all (PHP) o match (AWK) scrivono in un array le
sottoespressioni trovate, ovvero
match[0] = intera stringa in input
match[1] = gradi
match[2] = primi
match[3] = secondi
che possono essere usate per applicare la formula fornita da flavio. in
PHP:
$degrees = '15° 30\' 30"';
if
(preg_match_all('/([0-9]+)°[[:space:]]*([0-9]+)\'[[:space:]]*([0-9]+)"/',$degrees, $matches)) {
$decimal_degrees = $matches[1][0] + ($matches[2][0] / 60) +
($matches[3][0] / 3600);
print $decimal_degrees . "\n";
}
Sig
Il giorno mer, 22/06/2011 alle 11.52 +0200, flavio rigolon ha scritto:
Il 22 giugno 2011 11:07, marco zanieri <marcozanieri@gmail.com> ha scritto:
> Salve,
> dovrei eseguire una conversione batch di coordinate da formato sessagesimale
> a formato sessadecimale, qualcuno ha qualche tool da propormi?
>
ciao Marco,
non è quel che cerchi per una operazione in batch
ma passo comunque un piccolo programmino in C (un timido tentativo di
programmazione
fatto tempo fa) per convertire da dms a dd da riga di comando. Trovi
sorgente e compilato nell'allegato.
Nel mio lavoro torna utile spesso.
ciao
flavio
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
518 iscritti al 3.6.2011
_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).