🗺️ GIS & RS/📍 ArcGIS・QGIS

[ArcMap] feature point 간의 유클리드 거리를 계산하기 (필드 계산기, Python 스크립트)

김 홍시 2023. 10. 5.
반응형

물론이죠. Field Calculator를 사용하여 Python 스크립트로 필드 값들을 계산하는 방법을 설명하겠습니다.

  1. 속성 테이블 열기:

    • 원하는 레이어에서 마우스 오른쪽 버튼을 클릭하고 'Open Attribute Table'을 선택하여 속성 테이블을 엽니다.
  2. 새로운 필드 생성:

    • 필요한 경우 새로운 필드를 생성합니다. 속성 테이블에서 상단 메뉴의 'Add Field' 버튼을 클릭하여 새 필드를 추가합니다.
  3. Field Calculator 실행:

    • 거리를 계산하고자 하는 필드를 선택한 후에, 상단 메뉴의 'Field Calculator' 아이콘을 클릭합니다.
  4. Python 선택:

    • Field Calculator가 열리면, 'Parser' 영역에서 'Python'을 선택합니다.
  5. 코드 입력:

    • 대상 필드명은 이미 상단에 표시됩니다. 그 아래에 스크립트를 입력합니다.

예를 들어, 두 개의 X, Y 필드 값이 있고, 이들로부터 유클리드 거리를 계산하려는 경우의 간단한 코드 예시는 다음과 같습니다.

import math
def calc_distance(x1, y1, x2, y2):
    return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)

calc_distance(!X_Field1!, !Y_Field1!, !X_Field2!, !Y_Field2!)

위의 코드에서 !X_Field1!, !Y_Field1!, !X_Field2!, !Y_Field2!는 해당 필드 값을 참조하는 방법입니다. 실제 필드 이름으로 바꿔야 합니다.

  1. 계산 실행:
    • 스크립트를 입력한 후 'OK' 버튼을 클릭하여 계산을 실행합니다. 계산이 완료되면 해당 필드에 결과 값이 저장됩니다.

참고로, 매우 복잡한 스크립트나 여러 행에 걸친 계산을 수행할 때는, 때로는 파이썬 스크립트 도구나 ArcPy를 사용하여 별도의 스크립트를 작성하는 것이 더 효과적일 수 있습니다.

반응형

댓글