본문 바로가기
Data Park/QGIS

[QGIS] 서울시 공공와이파이 분포 시각화

by Data Park 2023. 3. 1.

안녕하세요! '데박' 입니다.

오늘의 주제는 최적입지분석에서 자주쓰이는

"폴리곤 내부의 포인트 개수 계산 및 순위산정 코드" 입니다.

□ 데이터 출처

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] 폴리곤에 포함하는 포인트 개수 계산 & 순위 산정 코드"에 대한 글은 여기서 마치겠습니다.

오늘 내용은 현황데이터를 받았고 좌표가 있긴한데 데이터가 너무 많아 한눈에 보기 힘드실때 또는 최적입지분석에서

유용하게 쓰일 것입니다.

 

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