Open the Doah !

《QGIS》 히트맵 / 폴리곤 내 점벡터 개수 세기 / 단계구분 본문

QGIS

《QGIS》 히트맵 / 폴리곤 내 점벡터 개수 세기 / 단계구분

한돠 2022. 11. 14. 00:22

 

 

 

 

 

 

 

 

 

 

 

 

QGIS에서

 

바탕이 되는 폴리곤 + 점벡터가 있다면 

 

아래처럼 표현할 수 있죠   

 

지도 위에 해당 점벡터의 위치만을 보기 위해서라면 아래의 내용으로 충분하지만 

 

 

 

 

 

 

 

만약 점의 개수가 셀 수 없이 많은 경우라면, 지도와 점으로 표현하는 경우 

점이 구름처럼 보이게 됩니다 

 

점의 개수가 무수히 많은 경우에는 지역별 / 구간별로 많고 적음을 비교해보는 것이 더 효율적일 수 있습니다 

 

 

 

 

 

 

 

히트맵 / 열지도 

 

먼저 지도상에서 점의 밀도를 볼 수 있는 간편한 방법으로 히트맵이 있습니다 

 

 

 

 

 

📌 [점벡터 오른쪽 마우스 클릭 - 속성 - 심볼 - 열지도] 를 선택해주세요 

 

 

 

📌 원하는 색상표를 선택/생성 해주고, 반경과 가중치를 설정한 뒤 적용하면 됩니다 

 

 

저는 많을수록 진한 초록 - 적을수록 분홍 - 0에 가까운 부분을 투명하게 표현했어요 ! 

지도위에 보기 위해서는 0에 가까운 값은 투명하게 표현하는 것이 좋습니다 

 

 

 

* 히트맵 표현은 이렇게 축척에따라 자동으로 변동되어 보입니다 ! 

원한다면 좁은 지역에서의 밀도를 볼 수도 있겠죠 

 

 

 

 

 

 

 

 

 

 

 

 

폴리곤에 포함하는 포인트 개수 계산

 

 

이제 지도(폴리곤 레이어)당 점벡터를 계산하여 표현하는 방법을 알려드릴게요 

 

"폴리곤에 포함하는 포인트 개수 계산" 을 사용할 수 있는데요  

 

말 그대로 폴리곤포인트벡터 이 두 레이어가 필요합니다 

 

 

 

 

📌 [ 툴박스에 "폴리곤에 포함하는 포인트 개수 계산" - 폴리곤 레이어 설정 - 포인트 레이어 설정 - 실행 ] 해주세요 

 

  

 

 

❗ 이때, 포인트레이어 필드 중 숫자의 합으로 비교해야하는 경우라면 가중치 필드에 해당 필드를 선택해주시면 됩니다. 

예를 들어, 단위 면적 당 "수목원의 개수"가 필요하다면 가중치 필드를 지정하지 않고 실행하여 점의 개수를 세면 되지만 

"수목원의 입장객의 수" 를 비교해야하는 경우라면 입장객의 수를 비교함이 필요하겠죠 ?

수목원마다 "입장객의 수" 필드에 서로 다른 숫자를 가지고 있을테고, 이를 비교하기 위해서 가중치필드로 설정해주시면 됩니다 

간단히 말해서 점 하나 당 1 로 할 것인지, 점 하나 당 가지고 있는 숫자로 비교할 것인지 생각해주시면 돼요 ! 

 

 

 

 

 

실행이 완료되면, 랜덤한 색상을 가진 폴리곤 레이어가 생겨요 

 

 

(이 레이어를 계속 사용하실 예정이라면 꼭 스크래치 레이어를 저장해주셔야 합니다. )

🔻

 

《QGIS》 스크래치 데이터 / 레이어 처리하기

스크래치 레이어 처리하기 🪄 프로젝트 내에서 새로운 레이어를 생성하면 레이어 이름 오른쪽에 타원형의 가시가 있는 아이콘이 생기는데요 ! 이런 레이어는 스크래치 레이어로, 현재는 프로

open-the-doah.tistory.com

 

 

 

 

새로 만들어진 레이어의 속성테이블을 열어보니, NUMPOINTS 필드가 새로 생긴 것을 확인할 수 있습니다 

각 지역구별로 다른 NUMOINTS 값을 가지게 되었다는 것을 알 수 있습니다 

이제 이 필드 값으로 단계구분을 표현해보도록 할게요 

 

 

 

 

📌 [ 레이어 오른쪽 마우스 클릭 - 속성 - 심볼 - 1.단계 구분 - 2.값에 NUMPOINTS(개수 필드 이름) - 3.색상설정 - 4.모드 - 5.분류 설정 - 분류 클릭 - 적용 ] 

 

 

 

분류가 성공적으로 되었다면 아래처럼 구별간 차이를 한 눈에 볼 수 있습니다 ! 

모드별, 분류별, 값 범주별로 나타내고자 하는 색상도 변경할 수 있으니 

데이터에 맞추어 원하시는대로 설정해주세요

 

 

 

 

 

저는 최대 / 중간 / 최소를 구분하여 보고싶어서 아래와 같이 표현해봤습니다 🌿

 

 

 

 

 

 

 

 


 

만약, 정해진 거리별로 점의 개수를 비교하고 싶다면,

지도에 맞는 격자를 만든 뒤 동일하게 진행할 수도 있어요 ~ 

 

 

 

 

 

 

 

 

 

 

격자만들기도 곧 업로드 하겠습니다.. 

coming soon ... 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

🚨 

만약 [폴리곤에 포함하는 포인트 개수 계산]을 실행했을 때, 

 

아래와 같은 

 

 1. 포인트 레이어에 공간 인덱스가 존재하지 않기 때문에, 수행 속도가 크게 느려질 것입니다.

 2. 유효하지 않은 도형을 가지고 있습니다. 도형을 수정하거나, 공간 처리 설정을 “유효하지 않은 입력 객체 무시” 옵션으로 변경해주십시오.

 

오류 메시지가 나오는 경우라면 

 

 

 

📌 1. 포인트 레이어에 공간 인덱스를 생성해주세요 

[ 포인트 레이어 마우스 오른쪽 키 - 속성 - 원본 - 공간 인덱스 생성 - 적용 - 확인 ]

 

 

 

 📌 2. 폴리곤 레이어의 도형 수정을 해주세요 

[ 공간 처리 툴박스 - "도형 수정" 검색 - 입력 레이어에 "수정할 폴리곤 레이어 " - 실행 ]  

 

 

 

 

 

그러면 이렇게 "수정한 도형"이라는 스크래치 레이어가 생성됩니다

만약, 기존 shp 파일과 동일하다면 해당 파일을 동일한 이름으로 export 해주시면 돼요 ! 

 

 

그리고 새로 생성되는 레이어의 스타일은 매번 랜덤한 색상으로 탄생되는데요 

기존 레이어와 동일한 스타일을 가져오고 싶으시다면 

 

[ 복사할 레이어 마우스 오른쪽 키 - 스타일 - 스타일 복사 - 모든 스타일 범주 (또는 원하는 속성만) ]

[ 붙여넣기할 레이어 마우스 오른쪽 키 - 스타일 - 스타일 붙여넣기 ] 

 

해주시면 동일한 스타일을 복붙해올 수 있습니다 

 

 

 

 

 

 

👏 읽을만 하셨다면, 하트 부탁드립니다 ❤️‍🔥

Comments