2011년 3월 4일 금요일

[ArcGIS]포인트 레이어에 TIN Elevation, Slope, Aspect 값 계산

포인트 레이어의 필드에 TIN의 Elevation, Slope, Aspect값을 계산하는 VBA 스크립트 예입니다.
TIN(Triangulated Irregular Network) 레이어와 사용자가 수집한 포인트 레이어가 있을 경우 각 포인트 위치의 Elevation, Slope, Aspect값을 필드값으로 계산할 수 있습니다.


▣ 전제사항
- ArcMap에 포인트 레이어 및 TIN 레이어가 추가되어 있을 것
- 포인트 레이어는 Shapefile, Personal GDB(mdb), File GDB일 것
- 스크립트 실행 조건은 편집 상태가 아닐것(Update Cursor를 사용하기 때문임)


▣ 결과
- 포인트 레이어에 Elevation, Slope, Aspect 필드(Double형)가 생성되고, 각 필드에 TIN으로부터 추출한 값이 계산


▣ 주요 인터페이스
 -  ITinLayer,  ITinSurface2, ITinSurfaceElement Interface를 사용


▣ 전체 소스코드 첨부
- TINValueCalculator.bas

▣ 계산결과 예시

댓글 2개:

  1. tin 자료에서만 사용가능한 소스인가요???

    답글삭제
  2. 래스터는 이 블로그의 아래 링크 소스를 사용하세요.
    http://www.onspatial.com/2010/01/arcgis%ED%8F%AC%EC%9D%B8%ED%8A%B8%EC%97%90-%EB%9E%98%EC%8A%A4%ED%84%B0-%ED%94%BD%EC%85%80%EA%B0%92-%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0-vba-script.html

    답글삭제