DataBase/PostGIS

PostGIS 기초(2) 여러 포인트로 선 긋기, 최단 거리측정

범데이 2022. 1. 24. 01:19
728x90

지난 포스팅 참조: https://bumday.tistory.com/57

 

PostGIS 기초(1) 포인트 찍기, 선 긋기

운영환경 <실행환경> 운영체제: Ubuntu 18.04 version PostgreSQL: 10.04 version PostGIS: 2.4 version Database Tool: DBeaver 21.1.3.202107181810 version PostGIS를 사용하기에 앞서 PostGIS의 버전을 확인한..

bumday.tistory.com

 

 

(포스팅 내용 보강 예정)

 

 

지난 샘플에 이어 장소(한솥도시락)를 추가하여 다뤄본다.

 

 

세 포인트의 위도&경도값은 다음과 같다.

 

 

ST_GEOMFROMTEXT("[TEXT]") 명령어로 세 포인트의 연결선을 그린다.

 

 

중간 포인트인 공주대학교에서 한솥도시락 혹은 스타벅스 공주DT점과의 거리중 어느곳이 더 가까울까?

이를 확인해 보자.

 

 

한솥도시락 <> 공주대학교

 

공주대학교 <> 스타벅스 공주DT점

 

이 둘을 비교해 보았을때, 공주대학교에서 한솥도시락과의 거리가 더 가까움을 알 수 있다.

거리 한솥도시락 스타벅스 공주DT점
공주대학교 298.49636278 328.14762023

 

 

 

구글맵에서 거리를 측정해봐도, 공주대학교에서 한솥도시락과의 거리가 더 가까움을 알 수 있다.

거리 한솥도시락 스타벅스 공주DT점
공주대학교 243.15m 276.10m

 

 

거리측정 메서드(ST_DISTANCESPHERE)의 결과 값을 미터 단위로 표시할수는 없을까? 추후 확인해봐야할 사항이다.

 

지금은 실제 거리(m)에 1.2를 곱한 값이 거리 측정 쿼리 값임을 알 수 있어,

거리 측정 쿼리 결과값에 1.2를 나누어 주어 실제 거리(m)값을 대강 확인할 수 있다.

 

 

 

여기서, 공주대학교 대학본부 포인트를 추가해서 더 다뤄보자.

 

 

좀전에 다루었던 세 포인트의 연결선과 새로 추가된 공주대학교 대학본부 포인트를 표시하면 다음과 같다.

이 둘의 거리는 얼마나 될까? ST_DISTANCESPHERE 메서드로 확인해 보자.

 

값은 88.84713084이다.

 

이는 선으로 그려보았을때, 이렇게 선과 포인트의 가장 가까운 거리가 측정되었음을 짐작할 수 있다.

 

 

 

반응형