Вычисление UTM Zone из широты / долготы?

9

Я пытаюсь преобразовать длинную точку в UTM.

Чтобы определить проекцию UTM, мне нужно рассчитать зону для точки.

Я пытаюсь найти лучший способ сделать это.

Один из способов сделать это - использовать значения долготы, чтобы найти подходящую зону.

Это потребует много кодирования.

Мне интересно, есть ли лучший способ сделать это?

jayGIS
источник
1
Вы всегда можете сделать функцию выбора по местоположению и выбрать зону UTM полигона, внутри которой находится точка.
MLowry
1
Нужно ли учитывать все возможные зоны UTM (например, полярные зоны и т. Д.) Или вам просто нужны зоны средней широты? Последние представляют собой простой расчет, потому что они равномерно распределены каждые шесть градусов от -180 до +180.
whuber

Ответы:

18

Это не так сложно, даже если вы обрабатываете зоны вокруг Шпицбергена и Норвегии. Вот пример:

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

Перевести Широту / Долготу в UTM (приписывается Чаку Ганцу).

Я не пробовал этот конкретный код, но алгоритм выглядит правильно.

mkennedy
источник