Komputasi UTM Zone dari titik lat / long?

9

Saya mencoba mengubah titik latlong menjadi UTM.

Untuk menentukan proyeksi UTM, saya perlu menghitung zona untuk titik tersebut.

Saya mencoba mencari cara terbaik untuk melakukan ini.

Salah satu cara untuk melakukan ini adalah menggunakan nilai bujur untuk menemukan zona yang tepat.

Ini akan membutuhkan banyak pengkodean.

Saya ingin tahu apakah ada cara yang lebih baik untuk melakukan ini?

jayGIS
sumber
1
Anda selalu dapat melakukan fungsi Pilih Menurut Lokasi dan pilih Zona UTM poligon yang titiknya berada di dalamnya.
MLowry
1
Apakah Anda perlu mempertimbangkan semua zona UTM yang memungkinkan (seperti zona kutub, dll.) Atau apakah Anda hanya menginginkan zona garis lintang menengah? Yang terakhir adalah perhitungan sederhana karena mereka ditempatkan secara merata setiap enam derajat dari -180 ke +180.
whuber

Jawaban:

18

Ini tidak terlalu sulit, bahkan jika Anda menangani zona di sekitar Svalbard dan Norwegia. Ini sebuah contoh:

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

Ubah Latitude / Longitude menjadi UTM (dikaitkan dengan Chuck Gantz).

Saya belum mencoba kode khusus ini, tetapi algoritme terlihat benar.

mkennedy
sumber