Calcolo della zona UTM da lat / long point?


9

Sto cercando di convertire un punto latlong in UTM.

Per definire la proiezione UTM, devo calcolare la zona per il punto.

Sto cercando di capire il modo migliore per farlo.

Un modo per farlo sarebbe usare i valori di longitudine per trovare la zona corretta.

Ciò richiederebbe molta codifica.

Sono curioso di sapere se esiste un modo migliore per farlo?


1
È sempre possibile eseguire una funzione Seleziona per posizione e selezionare la zona UTM poligonale in cui si trova il punto.
MLowry,

1
Devi considerare tutte le possibili zone UTM (come zone polari, ecc.) O vuoi solo le zone a media latitudine? Questi ultimi sono un semplice calcolo perché sono distribuiti uniformemente ogni sei gradi da -180 a +180.
whuber

Risposte:


18

Non è così difficile, anche se gestisci le zone attorno alle Svalbard e alla Norvegia. Ecco un esempio:

ZoneNumber = floor((LongTemp + 180)/6) + 1;

if( Lat >= 56.0 && Lat < 64.0 && LongTemp >= 3.0 && LongTemp < 12.0 )
    ZoneNumber = 32;
endif
// Special zones for Svalbard
if( Lat >= 72.0 && Lat < 84.0 ) 
  if  ( LongTemp >= 0.0  && LongTemp <  9.0 ) 
    ZoneNumber = 31;
  elseif( LongTemp >= 9.0  && LongTemp < 21.0 )
    ZoneNumber = 33;
  elseif(LongTemp >= 21.0 && LongTemp < 33.0 )
    ZoneNumber = 35;
  elseif(LongTemp >= 33.0 && LongTemp < 42.0 ) 
    ZoneNumber = 37;
  endif
 endif

Converti Latitudine / Longitudine in UTM (attribuito a Chuck Gantz).

Non ho provato questo codice specifico, ma l'algoritmo sembra corretto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.