본문 바로가기
[QGIS] QGIS 따라하기

[QGIS] QNEAT3 플러그인을 활용하여 두 지점 최단경로 (Shortest path) 계산하기 (포인트 대 포인트)

by étoile에뚜왈 2023. 1. 20.
반응형

 

🚩 목표: 경상북도 낚시터 데이터 중 임의 2곳을 추출하여 최단거리 구하기

과정은 크게 다음과 같습니다.

1. 데이터 수집

2. 플러그인 설치 및 확인 (QNEAT3)

3. 최단경로 분석 (Shortest path) 계산하기 (포인트 대 포인트)

 

 

🟨 1. 데이터 수집

도로망 데이터 : KTDB 국가교통데이터베이스 (회원가입 및 로그인 필요) - 자료 신청하기 (로그인후)

 

[도로망 데이터 신청 방법 참고 링크] 

↓아래 링크에 도로망 데이터 자료를 신청하는 방법이 자세히 설명되어 있습니다. 참고해주세요

https://www.ktdb.go.kr/www/index.doKTDB 교통망 GIS DB 신청하기

 

경상도 낚시터 위치정보 : 행정안전부_LOCALDATA_생활밀착데이터_ 경상북도 낚시터 위치 데이터

링크 : LOCALDATA - 지방행정인허가데이터개방:생활밀착데이터


 

🟨 2. 플러그인 설치 및 확인 (QNEAT3)

STEP 1) QNEAT3 플러그인 설치

◾ 플러그인 > 플러그인 관리 및 설치 > QNEAT3 검색 및 설치

 
 

공간처리 > 툴박스 > QNEAT3 -Qgis Network Anlysis Toolbox > Routing > Shortest path (point to point) 확인

플러그인이 잘 설치된 것을 확인하였으면

이번에는 경상북도 포인트 데이터를 레이어에 불러온 후 낚시터 위치 포인트 데이터 중에서 임의 2곳을 추출해보겠습니다.

 


 

 

🟨 3. 최단경로 분석 (Shortest path) 계산하기 (포인트 대 포인트)

STEP1) 전국도로망 데이터 QGIS 레이어에 불러오기 ▶ ad0022.shp

 

 

STEP2) 전국도로망 데이터 좌표계 재설정 (좌표계: 5179)

ad0022.shp 우클릭> 내보내기 > 객체를 다른이름으로 저장 (저는 roadway 로 파일명을 지정해주었습니다)

[전국 도로망 확인]
 

 

STEP3) 경상북도 낚시터 위치정보 불러오기 (불러올때 좌표계: 4326 → 다른이름으로 내보내기 할 때 좌표계 : 5179)

 

csv 파일을 qgis 에 불러오는 작업은 교육시간 때도 많이 했기 때문에 설명은 생략하겠습니다.

저는 경상북도 낚시터 위치.shp(5179) 로 저장했습니다 (파일 첨부해둘테니 shp 전환 과정이 귀찮다 하시면 사용해주세요)

 

 

STEP4) 랜덤추출을 활용하여 경상북도 낚시터 임의로 2곳 추출

◾공간처리 > 툴박스 > 랜덤 추출 클릭 > 아래와 같이 옵션 설정 > 실행

◾입력레이어 : 경상북도 낚시터 위치 (EPSG:5179)

◾객체수 2개

 

 
 

 

😲 앗! 경상북도 낚시터 2곳을 임의로 추출하였더니 심볼 스타일 지정이 풀려버렸네요.

이럴 때, 꿀팁에서 언급드렸던 “스타일 복사” / “스타일 붙여넣기” 기능을 활용하면 이전 step3 에서 지정해두었던 물고기 심볼과 라벨링 값을 그대로 지정해줄 수 있습니다.

https://wonny-world.tistory.com/10

 

[QGIS 꿀팁] 알아두면 유용한 단축키 & 자주 쓰는 기능 단축키 설정하는 방법

‘제주도 관광지점 입장객수(내국인/외국인) 시각화’ 를 진행하면서 유용하게 쓸 수 있는 QGIS 단축키 꿀팁🍯 QGIS 기본 단축키 ⌨️ 🟧 F6 : 속성테이블 열기 🟧 F7 : 레이어 스타일 작업 QGIS 키

wonny-world.tistory.com

 

➕ [스타일 복사]

경상북도 낚시터 위치 레이어 우클릭 > 스타일 > 스타일 복사 > 모든 스타일 범주

➕ [스타일 붙여넣기 ]

추출한 산출물(랜덤) 레이어 우클릭 > 스타일 > 스타일 붙여넣기 > 모든 스타일 범주

 

👏 심볼 색깔이 뭐였는지, 크기가 어땠는지, 라벨링 값 무엇으로 줬는지 다시 확인 할 필요 없이 너무 쉽게 서식을 지정해줄 수 있죠?! 시간 단축하는데 너무 유용한 기능입니다.

 

이제 다시 QNEAT3 플러그인으로 돌아와서 Shortest path 기능을 적용해보겠습니다.

 

STEP5) Shortest path 옵션 지정

Network Layer : roadway (line vector 입력해주셔야 합니다)

Start Point : 오른쪽 … 클릭 > 지도 상 “왜관 ic 실내바다 낚시터 “ 포인터 클릭

End Point : 오른쪽 … 클릭 > 지도 상 “장기 낚시터 “ 포인터 클릭

 Opitimization Criterion : Shortest Path

 

실행 버튼 클릭 하면 작업이 완료되는데 조금 시간이 걸립니다.

👉 total_cost 가 start 지점(왜관 ic 실내바다 낚시터) 와 end 지점(장기낚시터) 간의 최단거리를 나타냅니다.

 


 

제 글이 도움이 되었다면 공감 ♥ 꾸욱 

공감은 언제든 환영입니다 

반응형

댓글