从经纬度计算UTM区域?


9

我正在尝试将latlong点转换为UTM。

要定义UTM投影,我需要计算该点的区域。

我正在尝试找出最佳方法。

一种方法是使用经度值找到合适的区域。

这将需要大量的编码。

我很好奇是否有更好的方法吗?


1
您始终可以执行“按位置选择”功能,然后选择该点位于其中的多边形UTM区域。
Mowry

1
您是否需要考虑所有可能的UTM区域(例如极地区域等),还是只需要中纬度区域?后者是简单的计算,因为它们从-180到+180每隔6度均匀分布。
ub

Answers:


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(归因于Chuck Gantz)。

我没有尝试过这个特定的代码,但是算法看起来正确。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.