QGIS. 여러 포인트에서 다른 여러 포인트로 대응되는 모든 선 그리고 거리 계산하기

이 과정 말고 다른 좋은 방법이 있는지 아직 확인하지는 못했으나, 문제없이 잘 구현이 되길래 포스팅해 봅니다.

  • 사용한 QGIS 버전: 3.34.9-Prizren (long term release)
  • 사용한 좌표계: EPSG:5186 - KGD2002 / Central Belt 2010

1. 포인트 레이어 2개 준비

  • 첫 번째 레이어 이름: 포인트3개
  • 두 번째 레이어 이름: 포인트4개
Qgis lines among lines 01 materials

2. 포인트 레이어에 좌표 넣기

필드 계산기

x좌표

  • 산출 필드 이름: x
  • 산출 필드 유형: 십진수 (실수)
  • 표현식: $x

y좌표

  • 산출 필드 이름: y
  • 산출 필드 유형: 십진수 (실수)
  • 표현식: $y
Qgis lines among lines 02 calculate coordinates

Qgis lines among lines 03 coordinates
속성 테이블에 x좌표, y좌표가 생성됨

3. 가상 레이어 추가

레이어 > 레이어 생성 > 새 가상 레이어

포인트3개포인트4개 간의 포인트를 모두 대응시키는 레이어를 만들기 위해 가상 레이어 추가하고 쿼리 부분에 다음 내용을 넣는다.

  1. SELECT *
  2. FROM 포인트3개
  3. JOIN 포인트4개
Qgis lines among lines 04 virtual layer

Qgis lines among lines 05 attributes
포인트 3개와 포인트 4개가 상호 모두 대응되어 있는 레이어가 생성됨

4. 라인 그리기

공간 처리 툴박스 > 벡터 도형 > 표현식 기반 도형

  • 입력 레이어: virtual_layer
  • 산출 도형 유형: Line
  • 도형 표현식:
    make_line(@geometry, make_point("x:1", "y:1"))
Qgis lines among lines 06 make line

Qgis lines among lines 07 lines
포인트 레이어 간 대응되는 모든 선이 그려짐

5. 거리 계산하기

필드 계산기

새롭게 생성된 '변경된 도형' 레이어에서 필드 계산기를 열고 다음을 실행한다.

  • 산출 필드 이름: $length
  • 산출 필드 유형: 십진수 (실수)
  • 표현식: $length
    만약, 타원체상이 아닌 평면상에서의 거리를 구하고자 할 경우에는 length(@geometry)
Qgis lines among lines 08 field calculator

Qgis lines among lines 09 distance

카테고리의 다른 글

  1. QGIS. DEM(래스터)을 폴리곤(벡터)화 할 때, 고도값 결과물을 정수/실수(소수점)로
  2. QGIS 조건문(if) 연습
  3. QGIS. $area와 area 함수의 면적 값 차이
  4. QGIS 사진 위치정보(GPS) 불러오기 (포인트로 만들기)
  5. QGIS. 평면직각좌표계(TM) XY좌표에서 경위도값 보거나 지리좌표계로 변환하기

댓글 남기기