Salve,
dovrei eseguire una conversione batch di coordinate da formato sessagesimale a formato sessadecimale, qualcuno ha qualche tool da propormi? Grazie mille, marco -- dott. Marco Zanieri e-mail: [hidden email] cartografia tematica banche dati territoriali sistemi informativi geografici applicazioni GIS e webGIS _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] 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 |
Il 22 giugno 2011 11:07, marco zanieri <[hidden email]> 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 [hidden email] 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 |
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 <[hidden email]> 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 > [hidden email] > 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). _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] 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 |
In reply to this post by marcozanieri
se l'input è così: 9d14'45" puoi usare anche cs2cs (in ubuntu / debian pacchettizzato con proj-bin) : echo "9d48'15.168\" 52d19'14.45\"" | cs2cs +init=epsg:4326 +to +init=epsg:4326 -f "%.10f" 9.8042133333 52.3206805556 0.0000000000 funziona anche al contrario: echo "9.8042132531 52.3206806231" | cs2cs +init=epsg:4326 +to +init=epsg:4326 9d48'15.168"E 52d19'14.45"N 0.000 con cs2cs puoi anche trasformare le coordinate in un'altra proiezione e fare un sacco di altre cose. man cs2cs ciao Tommaso On Wed, 2011-06-22 at 11:07 +0200, marco zanieri wrote: Salve, _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] 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 |
Free forum by Nabble | Edit this page |