Obliczasz strefę UTM od lat / long point?

9

Próbuję przekonwertować długi punkt na UTM.

Aby zdefiniować projekcję UTM, muszę obliczyć strefę dla punktu.

Staram się znaleźć najlepszy sposób, aby to zrobić.

Jednym ze sposobów na to byłoby użycie wartości długości geograficznej, aby znaleźć odpowiednią strefę.

Wymagałoby to dużo kodowania.

Jestem ciekawy, czy istnieje lepszy sposób na zrobienie tego?

jayGIS
źródło
1
Zawsze możesz wykonać funkcję Wybierz według lokalizacji i wybrać strefę wielokąta UTM, w której znajduje się punkt.
MLowry
1
Czy musisz wziąć pod uwagę wszystkie możliwe strefy UTM (takie jak strefy polarne itp.), Czy po prostu chcesz stref środkowej szerokości geograficznej? Te ostatnie są prostym obliczeniem, ponieważ są równomiernie rozmieszczone co sześć stopni od -180 do +180.
whuber

Odpowiedzi:

18

To nie jest takie trudne, nawet jeśli poradzisz sobie ze strefami wokół Svalbardu i Norwegii. Oto przykład:

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

Konwertuj szerokość / długość geograficzną na UTM (przypisane Chuckowi Gantzowi).

Nie próbowałem tego konkretnego kodu, ale algorytm wygląda poprawnie.

Mkennedy
źródło