QGIS에서 다각형 영역을 계산합니까?


72

면적 모양 파일의 면적을 평방 미터 또는 에이커 (ha)로 어떻게 계산합니까?

벡터 도구에서 해당 기능을 찾지 못했습니다.


후속 질문 : State Plane NAD83에 레이어가 있습니다. 이 명령을 사용하면 피트 영역이 만들어집니다. 에이커 나 평방 마일을 원한다면 어떻게해야합니까? 감사합니다
C_K

두 답변은 효과가 있었지만 많은 다각형 벡터 파일의 영역을 결정하려고 할 때 특히 구현하기가 약간 느립니다. 다각형을 마우스 오른쪽 버튼으로 클릭하여 다각형 영역을 얻는 플러그인이나 다른 방법이 없습니까? 제공된 답변은 새로운 필드 속성 (예 : 영역)으로 끝나지만 다각형이 변경되면 값이 업데이트되지 않습니다. 따라서 많은 경우 영역을 별도의 필드 속성으로 표시 할 필요가 없습니다. 면적이 작은 차트, 페이지 하단 등의 숫자로 표시 될 수 있다면 충분할 것입니다. 그래서
David

2
식별 도구를 사용하여 다각형을 클릭하십시오. 면적은 계산되고 식별 창에서 "파생 됨"으로 표시됩니다. 설정에서 단위를 변경할 수 있습니다.
csk

답변:


70

레이어를 편집 가능하게 만든 다음 필드 계산기 (레이어> 속성 테이블 열기> 필드 계산기 / Ctrl + I 또는 모양 파일> 속성 테이블 열기> 필드 계산기 / Ctrl + I)를 사용하십시오. 테이블에서 각 행의 면적을 계산하는 연산자 "$ area"가 있습니다. 모든 단위는 투영 단위로 계산되므로 위도 / 경도가 아닌 피트 또는 미터를 사용하는 단위로 투영하는 것이 좋습니다.


6
현재 버전의 QGIS에서 데이터가 지리적 CRS에있는 경우 transform () 함수를 사용하여 데이터를 복제 할 필요없이 형상을 투영 된 시스템 (바람직한 영역)에 투영 할 수 있습니다. 필드 계산기에서 다음과 같이 작동합니다. area ($ geometry, 'EPSG : 4326', 'EPSG : 3763')
Alexandre Neto

9
@AlexandreNeto : 무슨 뜻 area(transform($geometry, 'EPSG:4326','EPSG:3763'))인가요?
스튜어트 맥도날드

@ smacdonald 그렇습니다, 내 실수.
Alexandre Neto

18

이것은 또한 벡터 | 지오메트리 도구 | 지오메트리 열 추가 / 내보내기로 수행 할 수 있으며, 이는 면적 및 둘레 (또는 길이) 열이 추가 된 새 모양 파일을 만듭니다.

편집 : (위의 도구를 사용하면 V1.8에서 "새 모양 파일로 저장"을 선택 해제 할 수 있습니다. 이제 모양 파일 만 업데이트됩니다!)

필드 계산기를 사용하는 것이 새 모양 파일을 만들 필요가 없기 때문에 더 좋은 아이디어 일 것입니다.


먼저 편집을 활성화하지 않고 shapefile의 속성을 변경할 수 없습니다 (영역을 계산하면 속성을 편집 한 것으로 간주하여 새 열을 추가 함). 모든 단위는 투영 단위 (기본값은 미터)로 계산되므로 먼저 투영 좌표계에 다시 투영해야합니다.
Hasan Mustafa

4

나는 이것을 위해 특별히 스크립트를 썼다. 데이터를 다시 투영하지 않으려면 타원체 수학을 사용하여 면적을 계산할 수 있습니다.

Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area

스크립트가 설치되어 있습니다. Processing Toolbox -> Utils -> Ellipsoidal area

이 도구는 설명이 필요하며 프로젝션에 관계없이 선택한 단위로 면적을 계산할 수 있습니다.


코드로 더 나은 모범을 보여줄 수 있습니까?
Léo Léopold Hertz 준영

0

인프라 레이아웃, 집수 영역, 연구 영역 등을보고있는 영역을 변경하기 쉬운 경우 해당 영역을 속성으로 추가하는 대신 단순히 레이블을 지정 하는 것이 유용 합니다.

Label-> round($area/10000,2)||' ha'

이 방법으로 속성 테이블의 캐치 영역을 자주 업데이트 할 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.