실습 5. 지오프로세싱을 통한 분석

[1] ArcMap에서 제공하는 Geoprocessing 기능들

Buffer 기능으로 양서파충류 보호구역 설정: ArcMap 구동-> Chapter5/chapter5.mxd 파일 열기 (서울시 2010 도시생태현황도로서 토지이용도와 양서파충류 출현종 지도) -> Geoprocessing ~ Buffer -> Input은 양서파충류_지점별 선택, Output은 chapter5에 result 폴더 추가하고 buffer2km.shp로 입력, Distance는 2km 입력 후 OK (버퍼 생성 확인) -> 다시 Buffer를 실행하고 Input은 양서파충류_지점 선택, Output은 buffer2km_dissolve.shp로 입력, Dissolve type을 ALL로 변경하고 실행하여 버퍼간 융합 확인

Clip 기능으로 총 종수가 21인 버퍼만 잘라 얻기: 위에서 처음 생성한 버퍼레이어(Dissolve가 None인 것)인 buffer2km 우클릭하여 Open Attribute Table ~ Select by Attribute -> 총종수=21 로 입력 후 OK (buffer 중 하나만 선택됨을 확인)-> buffer2km 레이어 우클릭하여 Data ~ Export Data 클릭한 뒤 result 폴더에 21종.shp 로 입력하고 Save as type를 Shapefile로 저장 (선택된 버퍼 하나만 레이어로 생성됨을 확인) -> Geoprocessing ~ Clip -> Input Features는 토지이용도 선택, Clip Features에는 21종 선택, Output은 result 폴더에 21종_토지이용.shp 로 입력 후 OK -> Clip 메뉴에서 21종_토지이용 레이어만 활성화시키고 우클릭 후 Zoom to layer 메뉴를 선택하여 확대해 봄 (토지이용도 중에서 21종 영역만 clip됨을 확인)

Dissolve 기능으로 동일한 토지이용 피쳐들 합치기: Geoprocessing ~ Dissolve -> Input은 21종_토지이용, Output은 result 폴더에 21종_토지이용_dissolve.shp, Dissolve Fields는 토지이용과 이용범례에 체크박스 활성화 한 뒤 OK (동일한 토지이용 범주끼리 합쳐졌음을 확인) -> 21종_토지이용 우클릭 -> Properties ~ Symbology ~ Categories 에서 Unique values many fields 선택, Value Fields에는 토지이용과 이용범례 선택, Color Ramp 적절히 선택 후 Add All Values 누르고 확인 -> Identify로 속성 확인 (Chapter5_자기이름_1.mxd로 저장)

[2] 모델 빌더의 사용

모델 빌더 분석도구 추가: 모델 빌더는 ArcGIS 내의 응용 프로그램으로서 일련의 작업 과정을 흐름도로 작성하여 일괄처리 해주는 기능을 한다. Geoprocessing에서 ArcToolBox 와 ModelBuilder를 순차적으로 클릭 -> ArcToolbox ~ Spatial Statistics Tools ~ Utilities ~ Calculate Areas, ArcToolBox ~ Data Management Tools ~ Fields 아래 Add Field와 Calculate Field 세 도구를 Model 창으로 끌어다 위아래로 순서대로 놓음

Calculate Area 파라미터 채우고 연결: Model 창에서 Calculate Area 더블클릭하여 Input Feature Class는 21종_토지이용_dissolve 선택, Output Feature Class는 result 폴더에 21종_dissolve_area.shp로 입력 후 저장 -> Model 툴바에서 Connect 아이콘 선택한 뒤 21종_dissolve_area.shp와 Add Field를 연결하고 Input Table 선택

Add Field 파라미터 채우고 연결: Model 아이콘에서 Select 선택한 뒤 Add Field를 더블클릭하여 Input Feature parameter는 21종_dissolve_area 선택, Field Name은 Rate 입력, Field Type은 Float로 선택한 뒤 OK -> 21종_dissolve_area(2)를 Calculate Field에 연결하고 Input Table 선택

Calculate Field 채우기: Calculate Field 더블클릭하여 Field Name은 Rate로 선택, Expression 계산기 버튼을 눌러 [F_AREA]*100/(3.14*2000*2000) 입력 후 OK -> 21종_dissolve_area(3) 우클릭하여 Add to Display 체크

실행: Model 툴바의 맨오른쪽 Run 버튼을 눌러 실행 -> 21종_dissolve_area.shp을 우클릭하고 Properties ~ Symbology에서 Quantities는 Graduate colors 선택, Field Value는 Rate로 선택, 적당한 color ramp 선택하여 OK -> Model 메뉴의 Save as를 눌러서 Toolbox.tbx 폴더를 찾아 model1으로 저장 (다시 불러올 때는 Model ~ Insert ~ Add Data or Tool ~ model1 선택한 후 우클릭하여 Edit) -> Chapter5_자기이름_2.mxd로 저장

[3] 외부 지오프로세싱 모델의 활용

Xtools pro 8.0 설치: ArcGIS 모두 종료 -> www.xtoolspro.com에 접속하여 Download 메뉴 선택해서 프로그램 다운로드 (또는 http://sar.kangwon.ac.kr/arcgis/XToolsPro.12.0.1747.En.zip)하고 설치 -> ArcMap 다시 구동하면 Xtools Pro가 활성화 되어 있음 (또는 Customize ~ Toolbars ~ Xtools Pro 선택) -> Try 눌러서 개인정보 넣고 이메일로 Activation Key 얻어서 등록. (Microsoft .NET Framework 4.5가 설치되어있어야 함)

Xtools Pro를 이용하여 지하철 2호선 내부폴리곤 생성: Chapter5/chapter5_1.mxd 열기 -> subway_line의 속성테이블(Open Attribute Table)을 열어 ObjectID 3번 순환선 만을 선택하고 속성테이블 닫기 (지선을 포함시키면 폴리곤이 만들어지지 않기 때문) -> Xtools Pro ~ Feature Conversion ~ Make Polygons from Polylines -> Input features에는 Map content 눌러 subway_line 선택, Output Feature class는 Catalog에서 Connect to folder 아이콘을 눌러 chapter5 실습 디렉토리를 링크시키고 result 폴더에 area_subway2.shp로 입력한 뒤 Select 후 Run -> 2호선 내부 순환망을 따라 폴리곤이 형성되었음을 확인

지하철 2호선 내부폴리곤에 격자망 생성: Xtools Pro ~ Create Fishnet -> Output feature class는 result 폴더에 Fishnet_subway2로 입력, Extent는 Current extent 선택, Cell shape and size에서 Rows height 클릭하여 500 입력하고 Meters 선택(500m 간격으로 격자 생성), Rows index type은 Numbers (0, 1, 2,...) 선택, Column width도 500 입력하고 Meters 선택, Column index type도 Numbers (0, 1, 2,...) 선택, Clip Fishnet의 Select overlay dataset에서 Map content를 눌러 area_subway2 선택 후 Run -> 내부 격자망이 생성되었음을 확인

격자망 중심점 생성: Xtools pro ~ Feature Conversions ~ Shapes to Centroids -> Input features에 Map content 눌러 Fishnet_subway2 선택, Output은 result 폴더 밑에 Fishnet_centroids.shp로 입력 후 Run -> 격자망 중심점 생성 확인하되, ArcMap 메뉴에서 Identify 아이콘 클릭해 점을 찍어보고 아직 동의 이름이나 코드가 들어있지 않음을 확인(아래에서 넣을 것임)

격자망 중심점에 동이름과 코드를 중첩기능을 이용해 입력: Xtools pro ~ Layer Operations ~ Identity 선택 -> Input features는 Fishnet_centroids 선택, Input fields는 List of fields 눌러 X_Index와 Y_Index 모두 선택, Overlay features에서 Map content 눌러 dong_outline 선택, Overlay fields로는 List of fields 눌러 DONG과 CODE 선택, Output feature class는 result 폴더에 centroid_name.shp으로 입력, Fields에서 Add ID field of the input feature는 체크, Add ID field of the overlay features는 체크 해제하고 Run -> ArcMap의 Identify 아이콘 선택하고 점을 클릭했을 때 동이름과 동코드가 입력되었음을 확인 -> Chapter5_자기이름_3.mxd 저장

[4] ArcToolBox에 지오프로세싱 모델 추가하기

ESRI사의 ArcScript 검색 및 다운로드: www.esri.com에 접속하여 Support 클릭하고 Search Support 클릭 -> 로그인 필요없고, Downloads 밑의 ArcScripts 클릭하여 spider를 검색한 후 Tony Palmer가 2007년 개발한 Spider Diagram Tools for ArcGIS 다운로드(또는 AS14908.zip) 후 압축해제 -> 생성된 3개의 파일 중에서 SpiderToods.tbx를 ArcGIS가 설치된 경로에서 ArcToolbox 폴더(예: C:/Program Files (x86)/ArcGIS/ Desktop10.3/ArcToolbox)의 Toolboxes 폴더로 복사, Spider_Create.py는  ArcToolbox의 Scripts 폴더로 복사

ArcMap에서 Chapter5\chapter5_2.mxd 열기 -> Geoprocessing ~ ArcToolbox를 열고 ArcToolbox 우클릭하여 Add Toolbox 선택 -> Toolboxes\System Toolboxes\SpiderTools.tbx 선택하고 open -> ArcToolbox에 새로 생성된 Spider Tools를 더블클릭 -> Create Spider Diagrams 우클릭 후 Properties ~ Source 탭에서 Script File을 Spider_Create.py가 위치한 경로로 변경 (예: C:\Program Files (x86)\ArcGIS\Desktop10.3 \ArcToolbox\Scripts\Spider_Create.py) (경로변경이 안되면 Properties에 제시된 폴더를 생성하고 파일 복사)

유선도(Flow map)제작을 위한 spider diagram 생성: Xtools pro ~ Feature Conversions ~ Shape to Centroids -> Input Features의 Map content ~ seoul_gu선택, Output은 result 폴더에 gu_center.shp로 입력 후 Run -> ArcToolbox ~ Spider Tools ~ Create Spider Diagrams 더블클릭하여 Origin Feature Class는 gu_center.shp 선택, Origin Key Field는 SIGG_CODE 선택, Destination Feature Class도 똑같이 gu_center.shp 선택, Destination Key Field도 SIGG_CODE 선택, Output Feature Class는 result 폴더에 seoulflow.shp 입력하고 Save 후 OK (서울시 25개 구 중심점을 기준으로 25x25개의 유선도가 생성됨)

구별인구이동 화살표 표시하기: Add Data 버튼을 누르고 Chapter5\data 폴더의 migration.xlxs (구별 인구이동 자료)에서 flow$ 시트를 가져오기 (실패하면 Excel 97~2003 버전의 migration.xls 파일로 저장) -> seoulflow 레이어의 속성테이블(Open Attribute Table)에서 OD_CODE라는 Text형 컬럼을 하나 추가 -> 생성된 컬럼에서 Field Calculator 선택 후 계산식으로 [ORG_ID] & [DES_ID] 입력하고 OK -> seoulflow 레이어 우클릭하고 Join 선택하여 seoulflow 레이어의 OD_CODE와 flow 시트의 code를 조인 -> seoulflow 레이어 우클릭하고 속성(Properties)의 Symbology 탭에서 Quantities ~ Graduated Symbols 선택 -> Fields value는 migration 선택하고 Classify 눌러서 Exclusion 선택하여 “flow$.migration”<=752 입력 후 OK (인구이동량이 Median 값보다 적은 지역을 표시하지 않기 위함) -> 계급 구간을 적당한 크기로 조절 후 OK -> Symbology의 Template 버튼을 누르고 Arrow at End 심볼을 선택 후 Edit Symbol을 이용해 Cartographic Line의 색깔 조정하고, Line Properties의 Properties의 Symbol을 눌러 화살표 머리 색깔을 선택 한 후 OK(4회) 및 확인 눌러 작성된 인구이동지도를 확인 -> Chapter5_자기이름_4로 저장

[5] 결과물 제출

위 결과물 중에서 의미있는 내용들을 ‘레이아웃’으로 만들고 pdf로 출력하여 3장 이상을 게시판에 올릴 것. 끝.