UTM-Zone vom Lat / Long-Punkt berechnen?

9

Ich versuche, einen Latlong-Punkt in UTM umzuwandeln.

Um die UTM-Projektion zu definieren, muss ich die Zone für den Punkt berechnen.

Ich versuche herauszufinden, wie ich das am besten machen kann.

Eine Möglichkeit, dies zu tun, besteht darin, Längengrade zu verwenden, um die richtige Zone zu finden.

Dies würde viel Codierung erfordern.

Ich bin gespannt, ob es dafür einen besseren Weg gibt.

jayGIS
quelle
1
Sie können jederzeit die Funktion Nach Standort auswählen ausführen und die Polygon-UTM-Zone auswählen, in der sich der Punkt befindet.
MLowry
1
Müssen Sie alle möglichen UTM-Zonen (wie z. B. Polarzonen usw.) berücksichtigen oder möchten Sie nur die Zonen mittlerer Breite? Letztere sind eine einfache Berechnung, da sie alle sechs Grad gleichmäßig von -180 bis +180 verteilt sind.
whuber

Antworten:

18

Es ist nicht so schwierig, selbst wenn Sie die Zonen um Spitzbergen und Norwegen bewältigen. Hier ist ein Beispiel:

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

Breiten- / Längengrad in UTM konvertieren (Chuck Gantz zugeschrieben).

Ich habe diesen speziellen Code nicht ausprobiert, aber der Algorithmus sieht korrekt aus.

mkennedy
quelle