안녕하세요! '데박' 입니다.
오늘의 주제는 최적입지분석에서 자주쓰이는
"폴리곤 내부의 포인트 개수 계산 및 순위산정 코드" 입니다.

□ 데이터 출처
1. 서울시 공공와이파이 서비스 위치 정보(CSV) : https://data.seoul.go.kr/dataList/OA-20883/S/1/datasetView.do
- 건수 : 13648건
- 좌표계 : 4326
2. 서울시 500m 헥사곤 그리드(shapefile)
- 지역 : 서울 전체
- 좌표계 : 5179
자!~ 시작합니다!
□ 데이터 불러오기




보시는 바와 같이 [서울시 공공와이파이 서비스 위치] 데이터는 약 13000건이라서
어디에 공공와이파이가 많은지, 적은지 공간적 분포를 파악하기 힘들죠,
이럴때 추천드리는 방법이 그리드를 생성하여 공간적 분포로 나타내는 것입니다.
□ 폴리곤에 포함하는 포인트 개수 계산
[벡터] - [분석 도구] - [폴리곤에 포함하는 포인트 개수 계산]





□ 공공와이파이의 공간적 분포 시각화
[속성] - [단계구분] - [값:NUMPOINTS] - [색상표:맘에 드는 색상 선택] - [모드:네츄럴 브레이크] - [분류] - [분류조정] - [적용 및 확인]




□ 순위 산정
[속성테이블 열기] - [필드계산기] - [표현식에 코드 입력] - [확인]
#순위산정 코드
array_find(array_reverse( array_agg( "NUMPOINTS",order_by:= "NUMPOINTS") ), "NUMPOINTS") +1

순위를 내림차순으로 순위를 산정하였고 생성된 것을 확인!
□ 표현식을 통해 "순위(개수)" 라벨링
[속성] - [라벨] - [단일라벨] - [표현식 대화창] - [표현식에 코드입력] - [확인]
if( "순위"<20, concat("순위",'(',"NUMPOINTS",')'),null)

지도단위로 라벨링한 이유는 지도를 선택적으로 확대했을때만 잘 보이게 하기 위함입니다.
만약 지도단위가 아닌 밀리미터로 라벨링을 한다면 아래와 같이 축소, 확대할때 모두 잘 보이게 되어
저는 전체를 보고싶을때 불편함이 있었습니다.


이상으로 "[QGIS] 폴리곤에 포함하는 포인트 개수 계산 & 순위 산정 코드"에 대한 글은 여기서 마치겠습니다.
오늘 내용은 현황데이터를 받았고 좌표가 있긴한데 데이터가 너무 많아 한눈에 보기 힘드실때 또는 최적입지분석에서
유용하게 쓰일 것입니다.


긴글 읽어주셔서 대단히 감사합니다.

'Data Park > QGIS' 카테고리의 다른 글
[QGIS] QNEAT3 - OD Matrix (점과 점 사이의 최단 거리 구하기) (0) | 2023.02.08 |
---|---|
[QGIS] 차등점수 부여 방법 (0) | 2023.01.30 |
[QGIS] Heat-map 시각화 (0) | 2023.01.28 |
[QGIS] 자주 쓰는 버퍼 정리 및 비교 (0) | 2023.01.22 |