2012-06-29 30 views
5

Tôi có hình ảnh có kích thước 3712x3712 pixel của vệ tinh địa tĩnh eumetsat. Có một số màu đen xung quanh trái đất, như vậy mà hình ảnh trông như thế này:Làm thế nào để có được vĩ độ và lâu dài cho một điểm ảnh của một hình ảnh eumetsat bằng cách sử dụng python?

Đối với mỗi điểm ảnh của trái đất, tôi muốn để có được latitute và vĩ độ của nó. Tôi biết rằng có pyproj và tôi đã có thể để nhanh chóng một chiếu như vậy:

sat = pyproj.Proj('+proj=geos +lon_0 +h=035785831.0 +x_0=0 +y_0=0') 

nhưng geting latlon của pixel (sử dụng sat(x,y,inverse=True) nơi xy là tọa độ của điểm ảnh trong hình ảnh) rõ ràng là không thể thực hiện kể từ khi chiếu không biết kích thước (3712x3712) của hình ảnh của tôi.

Tôi đang thiếu gì?

+0

Tôi không quen với pyproj nhưng điều này không đòi hỏi phải "theo dõi" trái đất dựa trên một số vị trí đã biết, tức là nhận ra vị trí của úc liên quan đến hình ảnh? pyproj đã làm điều này chưa? Hay bạn chỉ có nghĩa là lat tương đối dài của một hình tròn? –

+0

Xin lỗi, tôi không hiểu bạn đang hỏi gì. Tôi muốn có thể thực hiện việc này: đối với pixel trong hình ảnh: in latlon (pixel) – AME

+1

Bạn cần phải chính xác đến mức nào? Nếu bạn có thể lấy đi một vài km lỗi, bạn có thể ước tính trái đất như một hình cầu, làm một số hình học đơn giản và quên hoàn toàn pyproj (Tôi không biết gì về pyproj, nhưng tôi có thể giúp với hình học). –

Trả lời

1

Tôi nghĩ bạn đang sử dụng đúng cài đặt và thư viện chiếu.

Độ phân giải pixel điển hình (km trên mỗi pixel) được báo cáo trên trang web eumetsat here Báo cáo khoảng 3km mỗi pixel.

Bạn có thể kiểm tra bằng cách thực hiện chuyển đổi đơn vị/vĩ độ thành x, y trên kinh tuyến và chia số pixel này (-81 độ, 81 độ là phạm vi tối đa, xem trang eumetsat để tham khảo, http://www.eumetsat.int/) :

import pyproj 
sat = pyproj.Proj('+proj=geos +lon_0 +h=035785831.0 +x_0=0 +y_0=0') 
x,y = sat(81.299, 0, radians = False, errcheck = True) 
print (x * 2.0/3712.0)/1000.0 

Sẽ cung cấp cho bạn giá trị 2.927 phù hợp với thông tin do eumetsat cung cấp.

Tiếp theo bạn có thể hiệu chỉnh thêm bằng cách xác định một tập hợp các điểm nổi tiếng của bản đồ (ví dụ: các đối tượng địa lý ven biển), xác định vị trí x/y của chúng và tìm kiếm tọa độ vĩ độ/kinh độ trên mạng. Bạn có thể thử với một loạt các độ phân giải pixel và kiểm tra cái nào phù hợp nhất hoặc sử dụng một thói quen phức tạp hơn.

Độ phân giải có thể phụ thuộc vào mức độ gần với đường xích đạo, xem here). Vì vậy, bạn có thể cần sử dụng thói quen trên ở một số vĩ độ.

+0

Cảm ơn bạn rất nhiều! :) – AME

Các vấn đề liên quan