2014년 4월 29일 화요일

[QGIS] "Raster Pixel Count By ClassBreak" Plugin...

예전에 osgeo-kr 메일링 리스트에서 문의된 "QGIS를 이용한 경사분석"과 관련하여 간단한 플러그인을 만든적이 있습니다. DEM 자료를 사용하여 경사도 Raster를 만들고, 생성한 경사도 Raster에서 10도 간격별 면적을 확인하고자 하는 내용이었습니다.

그때 임시로 만든 플러그인을 조금 다듬어 QGIS Plugins 공식 저장소(http://plugins.qgis.org/)에 등록하여 승인을 받았습니다. UI적인 면에서 많이 부족하여 "Experimental"로 등록 하였습니다.

▣ Plugin 설명
 - "Raster Pixel Count By ClassBreak" 플러그인의 기능은 다음과 같습니다.
 - 선택한 Raster 레이어의 기본정보 (총 Pixel 개수, Min, Max, Sum, Mean, StdDev, NoData Value, Pixel Size) 출력
 - 사용자가 입력한 급간에 속하는 Pixel의 개수, 면적(Pixel count * PixelSize X * PixelSize Y)을 출력
 - NoData의 개수 및 면적 출력
 - Raster 데이터에 대한 간단한 통계분석에 활용될 수 있음

▣ Plugin 설치
 - QGIS Plugins > Manage and install plugins
 - Settings 탭에서 "Show also experimental plugins" 체크
 - Get more 탭에서 "raster pixel"로 검색
 - Plugin 목록에 "Raster Pixel Count By ClassBreak" 선택
 - Install plugin 버튼을 선택하여 플러그인 설치




▣ Plugin 활용
 - 설치가 완료되면 Plugins > Statistics Raster Pixel Count By ClassBreak > RasterPixelCountStat 메뉴 실행
 - 분석하고자 하는 Raster 데이터를 QGIS로 불러오기 (Raster 레이어가 추가되면 ComboBox의 아이템이 갱신)
 - 분석하고자 하는 Raster 레이어 선택
 - 급간입력 : 급간은 소수점이 가능하며 급간은 Comma(,)로 구분합니다.
 - 급간의 최소값과 최대값을 따로 지정하지 않으며 최소값부터 처음 입력된 급간이 첫번째 급간이 되고, 마지막 입력한 값부터 최대값 까지가 마지막 급간이 됩니다.
 - Calculate 버튼을 선택하여 분석을 시작




 - QGIS 하단 상태바(StatusBar)에 진행사항이 표시되며 분석이 완료되면 메세지 박스와 함께 분석결과 텍스트 출력




▣ 업데이트 예정
 - 현재는 단일밴드(Raster의 첫번째 밴드를 대상)만 지원하며 추후 분석 할 밴드를 선택하는 기능
 - 입력 및 분석결과 UI 업그레이드