2012-06-29 2 views
5

나는 정지 위성 촬영 위성의 3712x3712 픽셀 크기 이미지가 있습니다. 이미지가 다음과 같습니다 있도록 지구 주위 일부 블랙,있다 :python을 사용하여 eumetsat 이미지의 픽셀에 대한 위도와 경도를 얻는 방법은 무엇입니까?

땅의 각 픽셀은, 나는 그것의 latitute와 경도 좀하고 싶습니다. 투사부터 분명히 할 수 없습니다 (xy 이미지에서 픽셀의 좌표는 sat(x,y,inverse=True) 사용)

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

하지만 픽셀의 latlon을에 geting : 나는 pyproj가 있다는 것을 알고 난 그렇게 같은 돌출부를 인스턴스화 할 수 있었다 내 이미지의 크기 (3712x3712)를 알지 못합니다.

무엇이 누락 되었습니까?

+0

pyproj에 익숙하지 않지만 알려진 일부 위치를 기반으로 지구를 "클럭 킹"해야합니다. 즉, 그림과 비교하여 오스트레일리아의 위치를 ​​실현해야합니까? pyproj가 이미이 작업을 수행합니까? 또는 당신은 단지 원형의 오랜 상대적인 길이를 의미 했습니까? –

+0

죄송합니다. 문의하신 내용을 이해할 수 없습니다. 나는 이것을 할 수 있기를 바란다 : image in pixel : print latlon (pixel) – AME

+1

얼마나 정확해야 하는가? 몇 킬로미터의 오차로 벗어날 수 있다면, 지구를 구로 근사 할 수 있고, 단순한 기하학을 수행 할 수 있으며, 전적으로 pyproj를 잊어 버릴 수 있습니다. (나는 pyproj에 대해 아무것도 모르지만 기하학을 도울 수 있습니다.) –

답변

1

정확한 투영 라이브러리 및 설정을 사용하고 있다고 생각합니다.

일반적인 픽셀 해상도 (km 당 픽셀 수)는 유 메멧 웹 사이트 here 에보고됩니다. 픽셀 당 약 3km를보고합니다.

자오선의 x, y에 대한 l/lat 변환을 수행하고 픽셀 수 (-81도, 81 도는 최대 범위)에서 이것을 떼어 내면 확인할 수 있습니다. 참조 용 eumetsat 사이트 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 

는 당신에게 EUMETSAT에 의해 주어진 정보를 맞는 2.927의 값을 제공 할 것입니다.

다음으로지도의 잘 알려진 지점 집합 (예 : 연안 기능)을 정의하고 x/y 위치를 결정하고 온라인에서 위도/경도 좌표를 조회하여 추가로 조정할 수 있습니다. 당신은 다양한 픽셀 해상도를 시도해 볼 수 있으며 어떤 것이 가장 잘 맞는지 확인하거나보다 정교한 루틴을 사용할 수 있습니다.

해상도는 적도에 얼마나 가까운 지에 따라 다를 수 있습니다 (here 참조). 따라서 위의 루틴을 여러 위도에서 사용해야 할 수도 있습니다.

+0

대단히 감사합니다! :) – AME

관련 문제