이 과정 말고 다른 좋은 방법이 있는지 아직 확인하지는 못했으나, 문제없이 잘 구현이 되길래 포스팅해 봅니다.
- 사용한 QGIS 버전: 3.34.9-Prizren (long term release)
- 사용한 좌표계: EPSG:5186 - KGD2002 / Central Belt 2010
1. 포인트 레이어 2개 준비
- 첫 번째 레이어 이름: 포인트3개
- 두 번째 레이어 이름: 포인트4개
2. 포인트 레이어에 좌표 넣기
필드 계산기
x좌표
- 산출 필드 이름: x
- 산출 필드 유형: 십진수 (실수)
- 표현식: $x
y좌표
- 산출 필드 이름: y
- 산출 필드 유형: 십진수 (실수)
- 표현식: $y
3. 가상 레이어 추가
레이어 > 레이어 생성 > 새 가상 레이어
포인트3개와 포인트4개 간의 포인트를 모두 대응시키는 레이어를 만들기 위해 가상 레이어 추가하고 쿼리 부분에 다음 내용을 넣는다.
- SELECT *
- FROM 포인트3개
- JOIN 포인트4개
4. 라인 그리기
공간 처리 툴박스 > 벡터 도형 > 표현식 기반 도형
- 입력 레이어: virtual_layer
- 산출 도형 유형: Line
- 도형 표현식:
make_line(@geometry, make_point("x:1", "y:1"))
5. 거리 계산하기
필드 계산기
새롭게 생성된 '변경된 도형' 레이어에서 필드 계산기를 열고 다음을 실행한다.
- 산출 필드 이름: $length
- 산출 필드 유형: 십진수 (실수)
- 표현식: $length
만약, 타원체상이 아닌 평면상에서의 거리를 구하고자 할 경우에는 length(@geometry)