2010년 8월 19일 목요일

수치지도 Ver.2.0(NGI 포맷)의 변환 및 활용 2

지난 시간에 수치지도 Ver 2.0(NGI 포맷, 국토지리정보원 내부포맷)에 대해서 간략히 살펴보았습니다. 앞서 살펴보았듯이 NGI 포맷의 변환 도구들을 쉽게 구할 수 없습니다.

여기에서는 ArcObject를 활용하여 Custom Plug-in Data Source를 구현했습니다. 일반적으로 ArcObject에서 Custom Data Source를 구현하는 방법은 3가지로 알려져 있으니 한번 확인해 보시기 바랍니다.

1. 구현 환경
- Microsoft Visual Studio 2008 Visual C# 및 .NET Framework 3.5
- ArcGIS Engine Developer Kit 9.3

2. 제약사항
- NGI 및 NDA, 즉 ASCII 포맷만 지원
- NGI 데이터에 읽기전용만 지원
- ArcGIS Desktop이나 ArcGIS Engine 9.3 이상에서 지원하며 반드시 .NET Support 옵션을 설치해야 함
- 국토지리정보원에서 제공하는 샘플 데이터 및 기타 샘플 데이터에서만 테스트 했으므로 다양한 환경에서의 테스트를 못함
- NGI 포맷에서 TEXT(주기) 유형은 포인트(Point)로 인식하도록 설정
- 만약 NGI(공간데이터)만 포함되어 있고 NDA(속성데이터)가 없을 경우에도 확인 및 불러오기 등이 가능하나 변환시 속성정보는 포함하지 않음

3. 향후 일정
- 내보내기 일괄작업을 위한 도구 제공
 : 대량의 NGI 파일 레이어 분류 후 Merge 등
 : 내보내기 일괄작업을 위한 UI
- 속도 개선
 : 현재 그리기할 때 마다 파일 읽기 --> 캐쉬적용
- 기타 버그 수정

4. 프로그램 다운로드 및 라이센스
▣ 라이센스 공지
- 상업적 이용을 제외한 아무나 사용 가능하며, 사용상 오류에 대한 어떤 책임도 없음을 밝혀둡니다.
- 이 프로그램은 이 블로그에서만 배포될 수 있으며, 업데이트 역시 이 블로그를 통해서 이루어집니다.

▣ 프로그램 다운로드

5. 플러그인 데이터소스 설치 및 제거
▣ 설치
위 다운로드 받은 파일을 압축 해제 후 setup.exe 파일을 더블클릭하여 설치합니다.

▣ 제거
[제어판] -> [프로그램 추가/제거] -> [NGI Plugin for ArcGIS] 선택 후 제거 버튼을 눌러 프로그램을 제거합니다.

6. 활용 예
▣ ArcMap에서의 활용
 ◎ 레이어 불러오기
NGI 포맷은 Cad Dataset과 같이 Feature Dataset으로 인식하도록 구현하였으며, NGI 파일 하나를 Feature Dataset으로 인식한다. 다음 그림과 같이 [Add Data]버튼을 이용하여 레이어 불러오기가 가능하며 Feature Dataset을 불러오면 NGI 파일에 포함된 모든 레이어(Feaure Class)를 한번에 불러온다. Feature Dataset을 더블클릭하여 개별 레이어를 하나씩 불러올 수 있다.

 ◎ 레이어 등록정보
NGI 레이어 역시 Feature Layer이므로 레이어 등록정보의 모든 기능을 사용할 수 있음.

 ◎ 속성 확인
NGI 레이어 중 건물 레이어의 속성을 확인하는 예

 ◎ 레이어 내보내기 1
TOC(Table Of Contents) -> 레이어 선택 -> 팝업메뉴 -> Data -> Export Data... 메뉴를 실행하여 다양한 포맷으로 내보내기 실행

 ◎ 여러 레이어 한번에 Shapefile로 내보내기
ArcToolbox -> Conversion Tools -> To Shapefile -> Feature Class To Shapefile (multiple) 도구 실행 후 TOC에서 레이어를 한번에 선택 후 드래그 & 드랍하여 도구에 레이어 추가 후 변환.
현재까지는 반드시 Drag&Drop만 이용가능하며, 직접 불러왔을 경우 오류가 발생하며, 추후 수정 후 공지 예정


 ◎ 기타 기능
편집기능을 제외한 TIN, Raster 변환 등 레이어를 Source로 활용하는 분석 등 가능

▣ ArcCatalog에서의 활용