10월, 2011의 게시물 표시

시군별 해안선 길이 계산해보기

이미지
전국의 해안선 길이는 어떻게 계산할까? ■ 공식자료 * 국토지킴이 - 국토해양부 공식 블로그  - 해안선의 길이는 어떻게 측정할까요?  * 국립해양조사원 해안선 조사측량 * 국립해양조사원  전국 해안선 연장길이 통계 자료 ■ 시군구 행정구역 경계로 시군별 해안선 길이 계산해보기 시군구 행정경계가 해안선과 일치하지는 않으나(실제보다 훨씬 짧음) 아래에서는 일반적인 방법론을 소개한다. ① 시군구 행정경계 준비하기 한번에 작업을 끝내려면 시군별로 Dissolve를 한번 해 주는 것이 좋다. ② Rectangle Polygon Shapefile 생성 ArcCatalog에서 Polygon Feature Type으로 rectangle Shapefile을 하나 생성한다. Edit... 버튼을 눌러 좌표체계는 위 행정경계와 동일하게 정의한다. ArcMap에 생성한 Shapefile을 추가한 후 Editor 도구로 행정경계를 충분히 포함하는 Rectangle 폴리곤 피쳐를 아래와 같이 하나 생성한다. ③ Erase ArcToolbox --> Analysis Tools --> Overlay --> Erase 도구를 실행 후 다음과 같이 Input Features는 rectangle, Erase Features는 행정경계를 선택 후 실행한다. 결과는 다음과 같다 ④ Intersect ArcToolbox --> Analysis Tools --> Overlay --> Intersect 도구를 실행한다. Input Features에 Erase 결과 및 행정경계를 차례대로 추가한다. 여기에서 중요한 포인트는 Output Type을 LINE으로 설정한다는 것이다. ⑤ Editing Intersect 결과는 아래와 같다. 이 그림에서처럼 강원도/경기도 일부 지역은 해안과 접하지 않았으므로 Editor 도구를 사용하여 Intersect 라인 중에서 해안과 접하지 않은 라인을 제거한다....

Combining multiple rasters

이미지
ArcGIS의 Combine (Spatial Analyst)  도구에 대한 이해 ■ 개념 - 여러 래스터의 값을 조합하여 각 셀에 중첩되는 Unique한 값을 결과 래스터에 저장하며, input raster의 값도 모두 유지된다.- 적지분석 등 래스터 중첩분석에 많이 활용된다. - 한 래스터의 각각의 래스터에 대한 정보가 포함되어 있어 데이터 조합이나 통계정보 생성이 쉽다. ■ 제약사항 - Attribute Table을 가진 Integer raster만 사용하며, 만약 Floating point raster의 경우에는 처리과정에서 자동으로 Integer로 변환한다. 따라서 Output Raster는 항상 Integer raster로 생성된다. - 한번에 처리할 수 있는 raster는 20개로 제한 - Input raster 이름이 output raster의 attribute table 필드 이름으로 설정되므로 raster 명명규칙을 따를것 - NoData가 포함된 셀은 output raster 역시 NoData로 처리되므로 필요시 Null값을 0값 등으로 미리 대체할 것 - ESRI GRID 포맷 외의 포맷에 대해서는 기본값으로 output raster는 65536개의 unique 값을 가질 수 있으며, 이는 ArcMap의 Options 메뉴를 통해서 다음 그림처럼 값을 변경할 수 있다. ■ Combine 도구 ○ ArcToolbox - Combine ○ Spatial Analyst Toolbar - Raster Calculator ○ Attribute Table ■ 참고 - ArcGIS Desktop Help: Combine

여러개의 래스터를 하나의 래스터로 합치기

이미지
■ What is a mosaic? 여러개의 Raster 파일을 하나의 Raster로 합치는 과정 [그림출처: http://help.arcgis.com/en/arcgisdesktop/10.0/help/009t/GUID-BCA5B031-B811-424B-9F54-BAB2224FBAD0-web.gif] ■ 모자이크 전에 고려해야 할 사항 ① 좌표체계 on-the-fly projection을 지원하긴 하지만 미리 좌표체계를 통일하는 것이 좋다. ②  서로 다른 해상도 Mosaic 대상  Raster가 서로 다른 해상도일 경우에는 미리 Resample을 하는 것이 좋다. Continuous data type을 경우에는 Bilinear interpolation or Cubic convolution을 Discrete data type일 경우에는 Nearest neighbor resampling을 일반적으로 사용한다. Mosaic를 하는동안 서로 다른 해상도일 경우에 자동으로 Resample을 수행하지만 기본값으로 Nearest neighbor resampling으로 처리한다는 것에 유의한다. ③ 인접부분의 Null값을 최소화하려면 수치지형도를 사용하여 도곽별로 DEM을 생성 후 Mosaic을 수행하는 경우가 있는데 이런 경우 도곽보다 약간 큰 사이즈의 DEM을 만든 후 Mosaic을 수행하는 것이 좋다. ④  처리시간을 줄이려면 Mosaic 대상 Raster의 수가 많을 경우 Mosaic 수행 시 Last Mosaic Operator를 사용하고, 도구는 Raster Catalog To Raster Dataset 도구나 Workspace To Raster Dataset을 사용하는 것이 좋다. --> 원본 Raster의 특성에 맞게 Mosaic 정책을 세우는 것이 중요 * ArcGIS에서 Raster 저장 명명규칙:  [ArcGIS]Naming Output Raste...

격자 폴리곤을 생성하고 각 셀에 도로와의 거리를 계산하기

이미지
■ 미션 격자 폴리곤을 생성하고 각 셀에 도로와의 거리를 계산하기 ■ 데이터 준비  - 도로데이터의 이름 : line ■ ArcToolbox 처리과정 1. Euclidean Distance 분석 ArcToolbox --> Spatial Analyst Tools --> Distance --> Euclidean Distance 도구를 실행한다. 셀의 크기는 500(원본 데이터 단위, 여기에서는 미터)으로 설정하였다. Direction 래스터가 필요하면 옵션으로 설정해도 된다. 또는 Spatial Analyst Toolbar --> Distance --> Straight Line 역시 Euclidean Distance 도구와 같은 분석 도구이다. 결과는 다음과 같은 도로와의 거리값이 계산된 래스터이다. 2. Point 생성 ArcToolbox --> Conversion Tools --> From Raster --> Raster to Point 도구를 실행한다. Input Raster는  Euclidean Distance 분석결과 래스터를 선택한다. 결과값은 거리값이 GRID_CODE 필드에 저장된 포인트 shapefile이다. 3. Fishnet Line 생성 먼저 Euclidean Distance 분석결과 래스터 등록정보를 확인해 보면 셀의 크기는 500이고 Columns는 70, Rows는 59이다. ArcToolbox --> Data Management Tools --> Feature Class --> Create Fishnet 도구를 실행한다. Template Extent는 Euclidean Distance 분석결과 래스터를 선택하고 Columns와 Rows 수를 위 등록정보에서 확인한 값으로 입력한다. Fishnet Line의 생성결과는 다음과 같다. 4. 격자 폴리곤에 도로와의 거리 계산 ArcToolbox --...

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

이미지
■ 미션 도로 데이터셋을 일정 격자 크기 단위로 잘라서 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_...