다양한 옵션이 있습니다. 다각형을 고려하십시오. 대부분의 GIS 프로그램에서 첫 번째와 마지막 점은 다각형으로 'A'위의 DTYPE 간단한 float64입니다
import numpy as np
a = np.array([[0., 0.], [0., 1000.], [1000., 1000.], [1000., 0.], [ 0., 0.]])
a
array([[ 0., 0.],
[ 0., 1000.],
[ 1000., 1000.],
[ 1000., 0.],
[ 0., 0.]])
을 NumPy와 사용 아래 폐쇄를 형성하기 위해 반복된다. 다음과 같이 적절한 데이터 형식을 지정하여 구조화 된 배열로 변환 할 수 있습니다 : 당신은 한 단계 더 나아가 당신이 당신의 객체 표기법을 object.property 사용하는 것을 선호하는 경우 'recarray'를 생성 할 수 있습니다
b = np.zeros((a.shape[0]), dtype=[('Xs', '<f8'), ('Ys', '<f8')])
b['Xs'] = a[:,0]; b['Ys'] = a[:,1]
b
array([(0.0, 0.0), (0.0, 1000.0), (1000.0, 1000.0), (1000.0, 0.0), (0.0, 0.0)],
dtype=[('Xs', '<f8'), ('Ys', '<f8')])
. 균일 DTYPE와 표준 배열로
c = b.view(np.recarray)
, 당신은 당신이 개체를 사용할 수있는 recarray와 함께, 마지막으로 당신이 열 이름으로 슬라이스 할 수있는 기능을 추가 구조화 된 배열, 슬라이스를 사용하여 X 값에 액세스 할 수 있습니다. 속성 표기법.
args = [a[:,0], b['Xs'], c.Xs] # ---- get the X coordinates
print('{}\n{}\n{}'.format(*args))
[ 0. 0. 1000. 1000. 0.]
[ 0. 0. 1000. 1000. 0.]
[ 0. 0. 1000. 1000. 0.]
당신은 .. 배열의 독특한 점에서 다각형의 중심을 얻을 수
np.mean(a[:-1], axis=0)
array([ 500., 500.])
가 올바른 형태
np.unique(b)
array([(0.0, 0.0), (0.0, 1000.0), (1000.0, 0.0), (1000.0, 1000.0)],
dtype=[('Xs', '<f8'), ('Ys', '<f8')])
주어진 배열에서 독특한 포인트를 쉽게 얻을 사실
당신은 기존의 ndarrays, 명명 된 필드 및 재 배열을 사용하는 사람들 사이를왔다 갔다하고 왔다는 것을 알았을 것입니다. 원하는 경우 동일한 데이터를 사용하고 다른 방식으로 볼 수 있기 때문입니다.
감사합니다. 내 직관은 튜플이 옳다는 소리도 들려 왔지만, 나는지도/조작자 같은 것을 모르고 있었고 (b) 당신이 말한 것처럼, 사실 나는 할 수 없다. tuple_coord [0] = 12. 그러나 이러한 종류의 불편 함은 좌표의 본질을 그들이 관련되어 있음을 반영한다고 생각하기 시작했다. 그리고 작업으로 인해 변경 될 수 있다면 거의 항상 잠재적으로 변경 될 수있다. 다른 하나. – levraininjaneer