2011년 10월 17일 월요일

레이어를 격자 폴리곤으로 잘라내기

■ 미션
도로 데이터셋을 일정 격자 크기 단위로 잘라서 Shapefile로 저장하기
■ ArcToolbox에서 생성하기
1. 데이터셋 준비
잘라낼 데이터셋(여기에서는 도로 )을 준비한다.
2. Fishnet 생성 
ArcToolbox --> Data Management Tools --> Feature Class --> Create Fishnet 도구를 실행한다
Create Fishnet 도구의 실행 결과는 폴리곤이 아닌 Fishnet 라인(옵션으로 중심점 포인트를 생성할 수 있음)만을 생성한다.

Extent는 레이어의 Extent를 참조하거나 임의로 직접 입력할 수 있다.
Extent를 정의하고 나면 셀의 크기 또는 셀의 갯수를 정의한다.
아래 예에서는 구경계 Extent를 기준으로 가로 4개, 세로 4개의 셀 갯수로 설정하였다.
생성한 결과는 아래 그림과 같은 라인 및 중심점 포인트 데이터이다.
3. 폴리곤 생성 
ArcToolbox --> Data Management Tools --> Features --> Feature To Polygon 도구를 실행한다.
Input Features는 위에서 생성한 fishnet_line이며 Output Feature Class는 생성될 폴리곤(fishnet)이다.
4. ID 계산 
Feature To Polygon으로 생성된 fishnet 폴리곤 레이어 선택 후 팝업메뉴의 Open Attribute Table...  메뉴를 실행한다.

4.1 테이블 우 하단의 Options --> Add Field...  메뉴를 실행 후 필드이름(TID), 유형(Text, String), 길이는 적절한 크기(아래에서는 50)을 설정 후 필드를 추가한다.

4.2 테이블의 TID필드 헤더를 선택한 후 팝업메뉴 --> Field Calculator... 실행한다.
필드 규칙은 사용자가 임의로 정의할 수 있으며 여기에서는 T_1 ~T_16(셀이 16개 임)의 규칙으로 ID가 부여되도록 설정하였다.   규칙 계산 : "T_" & ([FID] + 1)


ID는 좌하단에서 오른쪽, 위로 넘버링 된다는 것을 기억하자(이 페이지의 결과 참조)

Field Calculator를 이용해서 TID 값을 계산한 결과는 다음과 같다.
이 TID는 이후에 각 폴리곤마다 피쳐를 잘라낸 후 저장에 사용될 이름이라 보면 된다.
5. Split Features 
마지막으로 생성한 격자별로 도로를 잘라내면 된다. ArcToolbox --> Analysis Tools --> Extract --> Split 도구를 실행한다.

Input Features는 도로, Split Features는 폴리곤 fishnet, Split Field는 생성한 타일 규칙(ITD), Target Workspace는 저장할 Shapefile 폴더(폴더 외에도 Personal GeoDatabase나 File GeoDatabase와 같은 Workspace를 선택할 수 있음)
6. 결과
타일별로 잘라낸 결과는 다음과 같다. 만약 시군구경계별로 잘라내기 하려면 5. Split Features 도구에서 Split Feature를 구경계로 선택하면 된다.