라벨이 Raster인 게시물 표시

Raster Transformation - Rotate

이미지
Raster transformation - rotate Rotate 45 ˚ * Rotate(Raster raster, Point anchorPoint, double angle, Inerpolation resample)  - Rotation is, by default, around the lower left corner of the raster.  - The rotation point can be changed with the optional Anchor Point parameter.  - Resampling is only done if the angle is not a multiple of 90.  - The rotation angle specified must be between 0 and 360  - The dataset will be rotated clockwise. Rotate 45˚(Orange) vs 315 ˚(Magenta) * process  - rotate image  - recalculate extent * Reference :  http://resources.arcgis.com/en/help/main/10.1/#/Rotate/00170000007s000000/

[ArcGIS]지자체별 평균표고 미만의 셀 갯수와 면적 계산하기

이미지
스크립트나 프로그램을 작성하지 않고 DEM을 이용하여 지자체별 평균표고 미만의 셀 갯수와 면적을 계산하는 과정입니다. 1. 레이어 준비 ArcMap을 실행하여 다음과 같이 시군구 및 dem 레이어를 추가한다.  - 지자체 레이어 명: 시군구  - DEM 레이어 명: dem(셀사이즈 30을 가정함) 2. 필드 추가 TOC에서 시군구 레이어를 선택 후 오른쪽 마우스를 눌러 테이블을 열고 다음과 같이 필드를 추가한다. DEM_MEAN (Double) - 지자체별 평균표고 DEM_MIN (Double) - 지자체별 최소표고 DEM_MAX (Double) - 지자체별 최대표고 UND_CNT (Long Integer) - 지자체별 평균표고 미만의 셀 갯수 UND_ARA (Double) - 평균표고 미만 면적 3. Zonal Statistics 시군구 및 DEM 레이어를 이용해서 다음과 같이 Zonal Statistics 분석을 수행한다. Spatial Analyst 툴바 --> Zonal Statistics 또는 ArcToolbox --> Spatial Analyst Tools --> Zonal --> Zonal Statistics 도구를 사용하면 된다. Zone Field는 Unique한 값이어야 하며 아래에서는 시군구코드를 사용하였다. Join output table to zone layer를 체크하여 분석 후 바로 값을 계산할 수 있도록 한다. 분석이 완료되면 지자체 레이어의 테이블을 열고 Field Calculator를 이용하여 평균, 최소, 최대표고값을 계산한다. 조인테이블에서 평균값은 MEAN, 최소값은 MIN, 최대값은 MAX 필드이다. DEM_MEAN  <-- MEAN DEM_MIN  <-- MIN DEM_MAX  <-- MAX 지자체 레이어를 선택 후 오른쪽 마우스를 눌러 Join or Re...

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

이미지
■ 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...

[ArcGIS]Naming Output Rasters

ArcObjects를 사용하거나 ArcGIS Spatial Analyst 도구를 사용할 경우 래스터를 저장해야 할 경우가 있습니다. 잘못된 이름을 사용할 경우 분석과정에서 오류가 발생할 수 있으므로 저장할 래스터 이름도 잘 정의해야 합니다. 래스터 분석결과를 유추할 수 있는 영문 약어가 좋습니다. 아래는 ArcGIS 래스터(Raster) 저장시 지켜야 할 명명 규칙(naming convention)을 살펴봅니다.   ▣ Naming Output Rasters 래스터 저장 시 다음의 문자열은 사용할 수 없습니다. – 문제를 피하기 위해 영문 캐릭터 셋을 사용하는 것이 좋으며 다음의 문자열 사용이 가능합니다. 한글 이름 역시 사용가능하기는 하나 되도록 피하시는 것이 좋습니다.:  : alphabet (A to Z, a to z)  : digits (0 to 9)  : underscores ('_')  : hyphens ('-') 및 plus ('+') 심볼 – 명시적으로 사용할 수 없는 특수 문자들:  : ( (open parenthesis) ) (close parenthesis)  : { (open brace) } (close brace)  :  [ (open bracket) ] (close bracket)  : \ (backslash) ~ (tilde)  : ' (single quote) " (double quote)  : (comma) ' ' (space) – 'con' 문자열은 사용하면 안됩니다. 이유는 Raster Map Algebra에 Con 함수가 예약어이기 때문입니다. – 일반적으로 래스터 이름의 첫 글자는 숫자나 심볼보다 문자열로 시작하는 것이 좋습니다. ▣ ESRI Grid format 명명규칙 ESRI GRID format 래스터는 다음의 제약사항이 더 있습니다: – 최대 13 characters까지만 가능 – 숫자로 시작할 수 없음 – 공...

[Spatial Analysis]분석환경의 정의가 중요하다

이미지
래스터 중첩분석 등 분석 후 셀 크기를 이용하여 면적을 산출하곤 한다. 특히 표고/경사 등 Continuous 데이터가 아닌 카테고리(Ordinal, Norminal)데이터의 경우에 분석영역 및 Extent 등을 설정하지 않고 분석할 경우 값별 면적이 분석할 때마다(분석인자의 Extent가 다를경우) 달라질 수 있다. 따라서, 정확한 면적(래스터에 대해서 정확한 면적을 논하기는 무의미하지만)의 측정 또는 분석의 일관성을 유지하기 위해 분석환경을 설정하는 것이 매우 중요하다. 분석환경 설정에는 분석영역 정의(Mask Dataset, Extent)와 분석 셀 크기 정의 등이 있다. ArcGIS에서 Spatial Analyst Toolbar를 사용하는 경우에는 Option... 메뉴의 Analysis mask 및 Analysis Extent를 설정할 수 있으며, ArcToolbox의 경우에는 Environment... 버튼의 Raster Analysis Setting 및 General Settings 탭에서 설정하면 된다. 1. 분석영역 정의하기 래스터 데이터를 생성할 경우 Origin Point, 셀크기(X, Y), Column/Row 갯수, 픽셀 유형 등을 설정한다. Origin Point는 래스터 생성을 위한 기준점인데 그림과 같이 좌하단을 기준점으로 사용한다. 또한 PixelBlock을 이용하여 Double[x,y]와 같은 방법으로 래스터 셀의 값에 접근할 수 있으며, 이때는 그림과 같이 좌상단이 (0, 0)이다. 아래 그림은 1미터 셀 크기의 래스터를 행/열 갯수를 10개로 설정하고 생성한 후 각 셀 값에는 좌상단부터 일련번호값을 부여한 예이다. 2. Extent 및 Mask DataSet 정의하기 분석 전에 Extent 및 Mask Dataset 정의를 반드시 고려해야 한다. Mask Dataset을 적용하면 아래와 같이 분석영역에 대해서만 처리하게된다. Mask Dataset을 적용하는 시기는 모든 분석(중첩, 일반화 등...

Raster Pyramids에 대해서...

이미지
래스터의 피라미드(Pyramids)는 디스플레이 속도 향상을 위해 원본 래스터의 해상도를 축소하여 생성한 데이터셋을 말합니다. 이미지의 Extent 및 픽셀값이 변경되지 않는 한 최초 한번 생성하며, 확대/축소시 축척에 맞는 적절한 피라미드 레벨을 선택하여 디스플레이합니다. 피라미드는 0 레벨에서 시작하고 이 레벨이 가장 높은 해상도를 가지며, 다른 레벨은 원본 데이터의 픽셀을 리샘플링(원본 데이터의 값을 보간)하여 사용합니다. 단. 래스터 분석에는 0 레벨의 원본 데이터를 활용합니다. 출처: http://edndoc.esri.com/arcsde/9.3/images/rasterpyramids.gif ▣ Reduced-resolution dataset Reduced-Resolution Dataset(RRD)은 원본 래스터보다 낮은 해상도로 만들어진 리샘플링된 래스터 데이터셋으로, 물리적으로 .rrd라는 확장자의 단일 파일로 저장/관리된다. 각각의 피라미드(RRD)의 레이어는 1/4 축척으로 연속적으로 다운샘플링 된다. 크기는 압축되지 않은 원본 파일의 8% 정도이며, 만약 압축된 래스터의 경우에는 이보다 더 커질 수 있다. ▣ Pyramid resampling methods 피라미드를 생성하기 위해 Nearest Neighbor, Bilinear, Bicubic Interpolation 의 3가지 방법을 사용할 수 있으며, 픽셀 데이터의 유형(discrete or continuous)에 따라 가장 적절한 방법을 선택하면 된다. ※ Data는 어떤 척도(Scale)를 기준으로 수치화 했는지에 따라 다음과 같이 구분할 수 있다. - 범주(categorical): 명목척도(nominal scale), 서열척도(ordinal scale) - 연속(continuous): 등간척도(interval scale), 비율척도(ratio scale) ① Nearest Neighbor interpolation 가장 근접한 값을 취하는 방법으로 새로운 값을 생성(추정)하지 않으...

[ArcGIS]포인트에 래스터 픽셀값 계산하기 VBA Script

이미지
포인트 레이어의 필드에 래스터의 픽셀값을 계산하는 VBA 스크립트 예입니다. 가령, DEM(Digital Elevation Model)과 사용자가 수집한 포인트 레이어가 있을 경우, 포인트 위치의 표고값을  필드값으로 계산하고자 할 때 사용할 수 있습니다. 소스를 수정/확장하면 더 많은 결과를 만들어 낼 수 있을 것입니다. ▣ 전제사항  - ArcMap에 포인트 레이어 및 래스터 레이어가 추가되어 있을 것  - 포인트 레이어는 Shapefile, Personal GDB(mdb), File GDB일 것  - 래스터 레이어는 단일밴드일 것  - 스크립트 실행 조건은 편집 상태가 아닐것(Update Cursor를 사용하기 때문임) ▣ 메인 코드 펼쳐두기.. [code vb] Option Explicit Private m_ipMap As IMap Public Sub CalculateRasterValue()     Dim ipDoc As IMxDocument     Set ipDoc = ThisDocument     Set m_ipMap = ipDoc.FocusMap     Dim ipFeatureLayer As IFeatureLayer, ipFeatureClass As IFeatureClass     Dim fieldName As String, idxField As Long, ipField As IField     Dim ipRasterLayer As IRasterLayer         Set ipFeatureLayer = GetFeatureLayer(m_ipMap, "POINT")     Set ipRasterLayer = GetRasterLayer(m_ipMap, "DEM")         If (ipFeat...

[ArcGIS]Hydro Analysis - Arc Hydro의 활용

이미지
Arc Hydro는 Hydro Data Model과 함께 수문분석을 활용하고자 하는 일반 사용자들에게 Step-by-Step 방식의 분석을 제공하는 수문분석 도구입니다. 이 자료는 단계별 Arc Hydro의 설치 및 주요 사용법을 설명하기 위해 작성되었습니다. 더 자세한 내용은 Arc Hydro 도움말 및 ArcGIS Desktop Help를 참고하기 바랍니다. ESRI Hydro Data Model Support Center http://support.esri.com/index.cfm?fa=downloads.dataModels.filteredGateway&dmid=15 ▣ 목차 펼쳐두기.. 1.    Hydro Analysis 소개    4 2.    Arc Hydro Tool설치    5 2.1.    Arc Hydro 운영환경    5 2.2.    프로그램 다운로드    6 2.3.    설치하기    7     Setup ApFramework    7     Setup XMLDataExchange    7     Setup Arc Hydro    7     설치 확인    7 3.    Hydro Analysis Concept    9 3.1.    Understanding drainage systems    9 3.2.    Exploring Digital Elevation Models (DEM)    10 3.3.    Delineating watersheds    1...

[ArcGIS]Raster(Grid) 최대 크기

이미지
▣ Raster(Grid의) 최대 크기 ArcGIS 8.x, ArcInfo Workstation and ArcView 3.x 버전의 소프트웨어를 사용하면 단일 파일의 최대크기는 2.147 GB까지 가능하다. 이는 32 bit 응용 소프트웨어의 한계이며 운영체제에 의존적이다. 설령 64 bit OS를 사용한다 하더라도, 예를 들면, 2^31 - 1 bytes(2,147,483,647, 약 2테라바이트)를 넘을 수 없다. Grid 폴더의 w001001.adf 파일이나 w001001x.adf 파일과 같은 단일 파일은 위의 크기를 넘을 수 없다. 일반적으로 Floating Point Grid는 Integer Grid보다 더 많은 공간이 필요하다. 공간적으로 다양한 분포값을 가진(셀 주변에 같은 값이 없는) Grid는, 균등한 값을 가진 Grid보다 더 많은 디스크 공간을 필요로 한다. Grid 포맷은 Run-Length Encoding 을 사용하며, 주변 셀 값의 분포정도에 따라 압축 효율은 달라진다. 샘플 Grid 사이즈: - 100,000 x 100,000 cells of a constant integer value is about 110 MB - 100,000 x 100,000 cells of alternating integer cell values of 0 and 1 is about 1.4 GB. - 23,000 x 23,000 cells of random floating point numbers from 0 to 1 is about 2.12 GB. 만약 위에서 제시된 한계치를 초과할 경우에 몇가지 해결책이 있다. - 데이터를 분할하여 처리. - 데이터의 해상도(셀 크기)를 줄여서 처리. - 값을 변경해도 상관없다면 Integer Grid로 변환해서 처리. 이 이슈는 ArcGIS 9.x 버전에서 해결되었으며, ArcGIS Desktop 내에서 ESRI Grid의 크기에 대한 제약사항은 없어졌다. 이는 ESRI 그리드를 내부적으로 타일링(tiling)함으로써...

[ArcGIS]Raster의 pixel depth 및 크기 산정

이미지
▣ Raster pixel depth란?  - pixel depth 또는 bit depth는 래스터 파일에 저장될 수 있는 값의 범위를 말하며, 2^n식(n=pixel depth)에 의해 값의 범위가 결정된다. 예를 들어 8-bit 래스터는 256(2^8)개의 고유값을 가질 수 있으며 범위는 0에서 255까지이다. 아래는 bit depth의 각 유형 마다 저장 가능한 범위를 나타낸다. unsigned 1 bit = 0 to 1 unsigned 2 bit = 0 to 4 unsigned 4 bit = 0 to 16 unsigned 8 bit = 0 to 255 signed 8 bit = -128 to 127 unsigned 16 bit = 0 to 65535 signed 16 bit = -32768 to 32767 unsigned 32 bit = 0 to 4294967295 signed 32 bit = -2147483648 to 2147483647 floating point 32 bit = -3.402823466e+38 to 3.402823466e+38 또한 사용자에게 숨겨진 다음의 예외사항이 있다. GRID 데이터 셋은 항상 32 bit(signed, unsigned, float)이지만, ArcGIS는 위 유형 중 최적의 bit depth를 보여주고, ArcInfo Workstation은 항상 GRID의 bit depth를 보여준다. 이미 전체 bit 범위값이 포함된 래스터(가령  0 ~ 255(unsigned 8 bit)의 값이 모두 포함된 음영기복도)가 있고, 이 래스터에 NoData가 추가되는 경우 더 높은 bit depth(unsigned 16 bit)로 표시된다. ▣ Raster 파일 크기 산정 ArcGIS에서 새 이미지를 생성하거나 기존 이미지를 내보내기하는 경우에 bit-depth가 변경될 수 있다. 이는 저장될 이미지가 필요로 하는 디스크 공간과 관련된 문제로 여러가지 이유에서 발생될 수 있는데, 래스터 이미지 내의 개별 픽셀(...