2017-09-30 3 views
1

OSM 타일 위에 위성 이미지 데이터를 오버플로하려고합니다.Cartopy 믹싱 투영 및 이미지 오버 플로팅

둘 다 별도로 플롯 할 수 있지만 오버 플롯으로는 보이지 않을 수 있으며 이는 예상치 못한 결과라고 생각합니다. 그때

subplot_kw = dict(projection=projection) 
fig, ax = plt.subplots(figsize=(12, 6), subplot_kw=subplot_kw) 

는 그 다음 OSM 타일을 얻을 음모

을 설정

_EPSGProjection(32611) 

내가 투영 정보

ds = gdal.Open(fname) 
data = ds.ReadAsArray() 
gt = ds.GetGeoTransform() 
proj = ds.GetProjection() 

data=data.astype(np.float64) 
projcs = inproj.GetAuthorityCode('PROJCS') 
projection = ccrs.epsg(projcs) 
의 데이터를로드하고 얻을

투사가 설정되어 축 추가 및 추가

(10)는 마지막으로 나는 이미지 데이터의 범위를 설정하고 imshow

extent = (gt[0], gt[0] + ds.RasterXSize * gt[1], 
      gt[3] + ds.RasterYSize * gt[5], gt[3]) 

img=ax.imshow(data, extent=extent, origin='upper', cmap='jet', vmin=1, vmax=1.3, alpha=0.1, transform=imagery.crs) 

이 전혀 이미지 데이터를 표시하지 않습니다, 단지 OSM 타일로 추가합니다.

문제는 변환 키워드와 같다고 생각하지만 해결 방법을 모르겠습니다.

+0

코드가 불완전하고 실행 가능하지 않습니다. 좋은 대답이나 관심을 가질 기회가 적어집니다. – swatchai

+0

라이센스로 인해 데이터를 재배포 할 수 없으므로 실행 가능한 예제를 제공하는 쉬운 방법은 없습니다. 나는 Cartopy에 익숙한 사람이 프로젝션을 올바르게 설정하는 방법을 지적하기를 바란다. – Rob

답변

1

변환 인수의 값은 표시하려는 좌표계가 표시되어야합니다. 시각화하려는 투영법과 관련이 없습니다. 이미지 데이터의 변환으로 OSM 좌표계를 사용하고 있습니다. 잘못된 것입니다. epsg 코드를 통해 이미지에 대해 정의한 투영법을 사용해야합니다.