¿Calculando la zona UTM desde el punto lat / long?

9

Estoy tratando de convertir un punto latlong a UTM.

Para definir la proyección UTM, necesito calcular la zona para el punto.

Estoy tratando de descubrir la mejor manera de hacer esto.

Una forma de hacerlo sería usar valores de longitud para encontrar la zona adecuada.

Esto requeriría mucha codificación.

Tengo curiosidad si hay una mejor manera de hacer esto?

jayGIS
fuente
1
Siempre puede hacer una función Seleccionar por ubicación y seleccionar la zona UTM del polígono en la que se encuentra el punto.
MLowry
1
¿Necesita considerar todas las zonas UTM posibles (como zonas polares, etc.) o simplemente desea las zonas de latitud media? Estos últimos son un cálculo simple porque están espaciados uniformemente cada seis grados de -180 a +180.
whuber

Respuestas:

18

No es tan difícil, incluso si manejas las zonas alrededor de Svalbard y Noruega. Aquí hay un ejemplo:

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

Convertir Latitud / Longitud a UTM (atribuido a Chuck Gantz).

No he probado este código específico, pero el algoritmo parece correcto.

mkennedy
fuente