Tính toán vùng UTM từ lat / long point?


9

Tôi đang cố gắng chuyển đổi một điểm latlong sang UTM.

Để xác định phép chiếu UTM, tôi cần tính vùng cho điểm.

Tôi đang cố gắng tìm ra cách tốt nhất để làm điều này.

Một cách để làm điều này sẽ là sử dụng các giá trị kinh độ để tìm vùng thích hợp.

Điều này sẽ đòi hỏi rất nhiều mã hóa.

Tôi tò mò liệu có cách nào tốt hơn để làm điều này?


1
Bạn luôn có thể thực hiện chức năng Chọn theo vị trí và chọn Vùng UTM đa giác mà điểm được đặt bên trong.
MLowry

1
Bạn có cần xem xét tất cả các vùng UTM có thể (như vùng cực, v.v.) hoặc bạn chỉ muốn các vùng vĩ độ trung bình? Cái sau là một phép tính đơn giản vì chúng cách đều nhau cứ sau sáu độ từ -180 đến +180.
whuber

Câu trả lời:


18

Điều đó không khó, ngay cả khi bạn xử lý các khu vực xung quanh Svalbard và Na Uy. Đây là một ví dụ:

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

Chuyển đổi Vĩ độ / Kinh độ thành UTM (được quy cho Chuck Gantz).

Tôi đã không thử mã cụ thể này, nhưng thuật toán có vẻ chính xác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.