Calcul de la zone UTM à partir du point lat / long?

9

J'essaie de convertir un point latlong en UTM.

Pour définir la projection UTM, j'ai besoin de calculer la zone pour le point.

J'essaie de trouver la meilleure façon de procéder.

Une façon de le faire serait d'utiliser des valeurs de longitude pour trouver la zone appropriée.

Cela nécessiterait beaucoup de codage.

Je suis curieux de savoir s'il existe une meilleure façon de procéder?

jayGIS
la source
1
Vous pouvez toujours faire une fonction Sélectionner par emplacement et sélectionner la zone UTM du polygone dans laquelle se trouve le point.
MLowry
1
Avez-vous besoin de considérer toutes les zones UTM possibles (telles que les zones polaires, etc.) ou voulez-vous simplement les zones de latitude moyenne? Ces derniers sont un calcul simple car ils sont régulièrement espacés tous les six degrés de -180 à +180.
whuber

Réponses:

18

Ce n'est pas si difficile, même si vous gérez les zones autour du Svalbard et de la Norvège. Voici un exemple:

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

Convertissez Latitude / Longitude en UTM (attribué à Chuck Gantz).

Je n'ai pas essayé ce code spécifique, mais l'algorithme semble correct.

mkennedy
la source