2014-04-10 6 views
2

파이썬으로 래스터 셀의 값으로 작업하기 위해 numpy 배열 (arcpy.RasterToNumpyArray)로 변환 한 두 개의 래스터 파일이 두 개 있습니다.numpy 배열에서이 위치에 두 번째 numpy 배열의 값을 가져 오는 위치를 검색하는 방법은 무엇입니까?

래스터 중 하나에는 두 개의 값 "True"와 "False"가 있습니다. 다른 래스터는 0에서 1000 사이의 다른 값을 갖습니다. 두 래스터 모두 정확히 같은 범위를 갖기 때문에 두 numpy 배열은 값을 제외하고 동일하게 (열과 행) 빌드됩니다.

나의 목표 : "참"값을 가진 열세 번째 배열 A의 모든 위치를 식별하고 싶습니다. 이 위치는 NumPy와 배열이 postions에서 값을 얻기 위해 사용되어야한다 B.

당신은 내가이를 구현하는 방법에 어떤 생각을 가지고 있습니까? 나는 당신의 설명 권리를 이해한다면

최저

,

답변

4

, 당신은 단지 B[A]을 할 수 있어야합니다.

+0

덕분에, 그 작품! – Sven

1

당신은 TrueFalse 값을 다른에 단순히 인덱스와 배열을 사용할 수 있습니다. 다음은 샘플입니다 :

import numpy as np 
a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 
b = np.array([[True,False,False],[False,True,False],[False,False,True]]) 
a[b] ## gives array([1, 5, 9]) 
+0

고마워요, 그 작품! – Sven