Trasformazione coordinate su Google Maps
31 10 2007Per l’esame di Cartografia e Sistemi Informativi Territoriali (GIS) mi è capitato di realizzare un programmino che effettua la trasformazioni di coordinate dal sistema WGS84 al sistema UTM chiamato anche Gauss (coordinate geodetiche), compatibile con la cartografia ufficiale italiana IGM (Istituto Geografico Militare) in coordinate cartesiane (kilometriche). La trasformazione avviene per punti fissati oppure dinamicamente per il punto in cui viene posizionato il cursore in Google Maps.
Demo di trasformazione di coordinate
UPDATE:
Ho corretto un errore che ultimamente il programma di conversione dava, a causa di un cambiamente che Google ha fatto alle sue API.
Ora la conversione funziona correttamente, inoltre ho anche aggiunto la funzionalità per inserire manualmente delle coordinate. Grazie a Marco e Umberto per la segnalazione.
L’obiettivo di questo programma è quello di costruire un sistema di trasformazione delle coordinate che funzioni su un qualsiasi browser di qualsiasi sistema operativo.
La parte innovativa e interessante è l’integrazione con le Google Maps, uno dei sistemi interattivi per la navigazione nelle mappe del mondo più in voga in questi tempi. Il vantaggio nell’utilizzo delle Google Maps sta nell’avere a disposizione un sistema già pronto per la visualizzazione delle mappe con le seguenti caratteristiche:
- visualizzazione delle mappe stradali, satellitari e ibride
- 20 livelli di zoom (accessibili anche tramite la rotella del mouse)
- vasta disponibilità di API (funzioni di libreria) con cui poter interagire
- possibilità di fissare marcatori e layer aggiuntivi sulla mappa
- costante aggiornamento delle funzionalità da parte di Google
- portabilità: funziona in tutti i sistemi operativi con quasi tutti i browser moderni
- efficienza: il sistema di visualizzazione è veloce e le mappe vengono scaricate solo per le zone effettivamente visualizzate
Le funzionalità che si vogliono implementare sono due:
- Conversione delle coordinate di punti prefissati (latitudine, longitudine, altitudine) con visualizzazione delle coordinate tramite un marcatore nelle Google Maps.
- Possibilità di poter spostare il marcatore trascinandolo con il mouse con rilevamente delle coordinate e conversione delle stesse in automatico.
Browser supportati:
- Microsoft Internet Explorer 6, 7
- Mozilla Firefox 1.5, 2.0
- Safari
Dispositivi hardware supportato:
- Personal Computer con qualsiasi sistema operativo
- PDA, cellulare e altri dispositivi provvisti delle funzionalità per navigare in internet avanzate
Bisogna inoltre ricordare che le nuove tecnologie hanno portato questi browser all’interno di numerosi dispositivi portatili (PDA, cellulari, ecc), pertanto la maggior parte di questi dispositivi che sono in grado di navigare in internet dovrebbero essere in grado di eseguire il programma della conversione.
Javascript è un linguaggio interpretato, pertanto non permette il raggiungimento delle prestazioni ottimali della macchina, tuttavia la velocità di esecuzione in questo caso è completamente soddisfacente, e permette un utilizzo completo in real-time.







[…] Il sistema si basa su un progetto di Lorenzo Dal Col. « Riconoscimento vocale su architettura client-server WinSCP, un ottimo client FTP / SFTP » […]
VI denuncio tutti per plagio. LMAO!
Ringraziamo PowerBallTabs, dal cui progetto abbiamo preso qualche spunto…
Molto interessante.
Ma se si volesse implementare il tutto su Gauss-Boaga Roma40 (MonteMario)?
Sarebbe sufficiente cambiare l’orientamento dell’ellissoide finale di riferimento.
Se hai dimestichezza con javascript puoi scaricare tutto il progetto (gratuitamente). Nel file RotationElipsoid.js alla fine del file bisogna decommentare le righe:
var WGS84_Hayford = new RotationElipsoid(6378137.0,0.00669437999, new Orientation(0,0,0));
var ITA40 = new RotationElipsoid(6378388,0.00672267002, new Orientation(-104.1,-49.1,-9.9,-11.68,0.971,-2.917,0.714));
var ED50 = new RotationElipsoid(6378388,0.00672267002, new Orientation(-87,-98,-121));
Abilitando quindi l’ellissoide ITA40 (Monte Mario).
Poi nel file che chiama le conversioni (generic.js) sostituire tutti i riferimenti della variabile ED50 con ITA40.
Se non hai dimestichezza con il codice posso fare io la versione ITA40, ma devi attendere un paio di settimane perchè sono strapieno di impegni.
Grazie mille, vedrò di arrangiarmi.
rambo smettila di copiare …sei un ingegnere fasullo..lo diremo alla cefalo..le mandiamo una mail con il link..tagliati i capelli..ti osserviamo..