벡터 shapefile 위에 마스크를 만들고 관련 영역을 확대하는 또 다른 마스크를 만들었습니다. 이 새로운 마스크로 가지고있는 문제는 마스크 된 영역이 내가 원하는 비트이므로, 어떻게 든 그것을 반전시켜야한다는 것입니다. (나는 NP로 NumPy와 수입 주)가면으로 배열 된 numpy 배열을 반전하는 방법은 무엇입니까?
이것은 내가 2 마스크에 사용되는 코드입니다 :
catchment_mask = gmask[minrow:minrow+nrow, mincol:mincol+ncol]
catchment_mask = np.where(catchment_mask == 1, 1., np.nan)
내가 그것을 반전이 코드를 사용하여 시도했지만 그것은을 적용하고 전체 영역의 마스크 :
inverse_catchment_mask = (np.logical_not(catchment_mask))
나는 어떤 제안이라도 정말로 감사 할 것입니다! 당신의 cachement_mask
부울 구성하는 경우
1
또는 NaN
구성으로
들여 쓰기가 꺼져 있습니다. 'np.ma', MaskedArray 서브 클래스가 있습니다 만, 그것이 당신이 가진 것이라고는 생각하지 않습니다. 당신의'mask '가'gmask'의 조각 인 것처럼 보이지만,'where'를 사용하여 새로운 배열을 만듭니다. 왜? 더 이상 '전망'이 아닙니다. 왜'np.nan'인가? 'logical_not'은'False'입니다. – hpaulj