2011년 10월 19일 수요일

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

What is a mosaic?
여러개의 Raster 파일을 하나의 Raster로 합치는 과정
mosaic operation example
[그림출처: 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 Rasters
* Mosaic Operator : Mosaic operators

■ ArcGIS에서 활용가능한 mosaicking 도구들
○ Mosaic
○ Mosaic To New Raster
○ Raster Catalog To Raster Dataset
○ Workspace To Raster Dataset
○ ArcMap Spatial Analyst Toolbar
■ Raster Catalog는 어떻게 만드나?
Raster Catalog는 GeoDatabase(File, Personal, SDE)에서만 생성 관리될 수 있다. 따라서 Raster Catalog를 생성하기 전에 미리 GeoDatabse를 생성해야 하며 로컬에서 사용할 경우 File GeoDatabse를 추천한다.
다음 과정은 폴더에 합칠 Raster 데이터셋이 특정 폴더(Raster Workspace)에 있으며 이를 Raster Catalog로 등록하는 과정이다.
○ Create Raster Catalog
ArcToolbox --> Data Management Tools --> Raster --> Raster Catalog --> Create Raster Catalog 도구를 실행한다.
GeoDatabse에서는 Raster Management 유형은 Managed, Unmanaged by GDB 방식의 2가지가 있다.
Managed 방식은 GeoDatabse 내에 Raster 데이터를 저장/관리하며, Unmanaged by GDB 방식은 Raster의 메터데이터(셀, Extent 등)와 저장경로만을 포함한다.
Mosaic을 위한 Raster Catalog를 생성하는 경우 속도면에서 Unmanaged by GDB 방식이 효율적이다.
① Managed by GDB
Raster Catalog에 Raster 로딩 후 각각의 등록정보를 보면 다음 그림과 같이 Managed by GDB 속성이 Yes로 표시된다.
② Unmanaged by GDB
Raster Catalog에 Raster 로딩 후 각각의 등록정보를 보면 다음 그림과 같이 Managed by GDB 속성이 No로 표시되고 실제 데이터 경로가 Full Path 속성으로 표시된다.
○ Raster Catalog에 래스터를 로딩하는 방법 
Raster를 Catalog에 로딩하는 방법은 일반적으로 2가지를 사용한다.
 ① Workspace To Raster Catalog 
같은 Raster Workspace에 포함된 모든 Raster를 Catalog에 로딩하는 기능이다.
ArcToolbox --> Data Management Tools --> Raster --> Raster Catalog --> Workspace To Raster Catalog 도구를 실행한다.
Raster Catalog는 미리 생성되어 있어야 하며, 서브 디렉터리를 포함할지 좌표체계가 다를 경우 좌표변환을 수행할 지 여부를 체크할 수 있다.

 ② Raster To GeoDatabase(Multiple)
 ArcCatalog에서 Raster Catalog를 선택 후 오른쪽 마우스를 눌러 Load --> Load Data... 메뉴를 실행한다.
 다음 그림과 같이 Load할 Raster를 추가하여 변환할 수 있다.
이 기능은 로딩 후 Calculate Default Spatial Grid Index 가 필요하며 ArcToolbox의 기능 외에, 이는 다음 그림과 같이 Raster Catalog 등록정보에서도 갱신할 수 있다.
데이터 로딩 후 Raster Catalog는 다음과 같다.
미리보기를 하면 각각의 Raster Extent를 격자단위의 셀로 확인할 수 있으며 속성정보 확인을 통해서 각 타일별 Raster를 미리보기할 수 있다.
ArcMap에서는 Raster Catalog에 포함된 Raster를 여러 옵션을 통해서 시각화할 수 있다.
■ Mosaicking 도구들 활용하기
○ Mosaic
결과에 사용될 Target Raster를 준비한다. 이는 ArcCatalog에서 템플릿 Raster(Mosaic 대상 Raster 중 하나를 선택)를 복사하여 저장할 위치에 붙여넣거나 빈 Raster(Create Raster Dataset 도구를 사용하며 셀크기나 좌표체계는 Mosaic 대상 레이어와 동일하게 설정할 것)를 준비하면 된다.

ArcToolbox --> Data Management Tools --> Raster --> Raster Dataset --> Mosaic 도구를 실행한다. Mosaic Method는 Input Raster의 특성에 맞게 선택한다.
○ Mosaic To New Raster
위 Mosaic 도구와 유사하나  Output Raster를 사용자가 직접 설정할 수 있다.
ArcToolbox --> Data Management Tools --> Raster --> Raster Dataset --> Mosaic To New Raster 도구를 실행한다.
○ Raster Catalog To Raster Dataset
Mosaic To New Raster 도구처럼 Output Raster를 사용자가 직접 설정할 수 있다.
ArcToolbox --> Data Management Tools --> Raster --> Raster Dataset --> Raster Catalog To Raster Dataset 도구를 실행한다.
○ Workspace To Raster Dataset
결과에 사용될 Target Raster를 준비한다.
ArcToolbox --> Data Management Tools --> Raster --> Raster Dataset --> Workspace To Raster Dataset 도구를 실행한다.
○ ArcMap Spatial Analyst Toolbar --> Raster Calculator
ArcMap 환경에서 Spatial Analyst Toolbar의 Raster Calculator를 이용해서 Mosaic 기능을 수행할 수 있다.
■ 합쳐야 할 래스터가 많은 경우 
Mosaic 대상 Raster가 아래 그림처럼 아주 많을 경우(아래 예는 1:25,000 전국이므로 약 750여 도엽)에는 Mosaic 시간을 고려해야 한다.

도구 측면에서는 Workspace To Raster Dataset, Raster Catalog To Raster Dataset이 다른 도구들보다 빠르며, Mosaic operator는 LAST 옵션이 속도면에서 가장 효율적이다.

Raster Catalog To Raster Dataset, Workspace To Raster Dataset 도구도 오래 걸리는 경우
다음 그림과 같이 임의의 타일을 구성 후 타일 별로 Raster를 나누고 모자이킹 후 다시 전체 모자이킹하는 방법도 고려해 볼 만 하다.
■ 참고
What is a mosaic?
Mosaic operators
What mosaicking tools are available in ArcGIS?
Mosaic(Data Management)
Mosaic To New Raster(Data Management)
Workspace To Raster Dataset (Data Management)
Raster Catalog To Raster Dataset (Data Management)