[산림청] 산불취약지도 및 산사태위험도 활용
본 글에선 산불 및 산사태 관련 시스템과 본사의 제품에서 분석활용하는 예시를 정리하였습니다.
예전 부모님도 가평이나 양평에 전원주택을 꿈꾸셨는데 항상 임야지의 산불과 산사태 등 위험을 걱정하시곤 하였습니다. 본사에서는 이러한 위험도가 주위에 어떻게 분포되어 있고 건축/임야 개발시에도 최적지 선정시 고려할 하나의 요소로 분석활용하도록 설계하였습니다.
(1) 산불취약지도 (산불취약등급)
먼저 산림청에서의 2000년대 초반부터 연구개발하던 산불확산예측에 관하여 생각해보면, 확산예측 알고리즘과 국내 산림 데이터를 커스트마이징하여 연구 및 시제품을 만들어 왔습니다. 그때보면 산림과학원은 25년간 이상을 한결같이 ArcGIS 매니아들이네요.
산림과학원+서울대 임업 합작인 "산불확산예측 프로그램"은 한국형으로 연구개발을 꾸준히 하는데는 이바지했으나 실용면에서는 아크프로그램 따라하듯 구축해서 산림정보 shp입력부터 무슨무슨 옵션입력과 분석 시간은 과도하고 GIS개발자의 소스라기보다는 연구목적이라 버그나 미분석 등 오류가 많아 산림청과 지자체 활용이 미비했습니다.
동시에 저희팀은 "산림지리종합관리시스템(FGIS) Plugin 산불상황예측" 을 개발하여 기존 산림지리정보를 활용한 시스템에 산불 확산 예측 및 상황판을 구축하여 산림청 산불상황실과 각 지자체의 상황실에서 활용하도록 하였고, 9시뉴스와 각족 신문에도 기재되었습니다.
[관련글 산불 확산 예측 프로그램 화면과 알고리즘 https://cafe.naver.com/gisapplication/1096 ]
그리고 기존 산불 원인을 구분하여 발생 밀도 및 분포도를 제작하였고 감시초소 및 CCTV등 예방에도 활용하다가,
산림청의 "국가산불위험예보시스템" 에서 사용중인 "산불취약등급지도"를 본 시스템에선 중첩과 분석지의 분포를 분석합니다.
| □ 산불이 자주 발생하고 이로 인한 피해가 예상되는 지역을 공간상으로 분석하여 지도화한 ‘전국산불취약지도’가 제작되었다. □ 산림청 국립산림과학원(원장 전범권)은 지난 1991년부터 2017년까지 27년간 발생한 11,643건의 산불 데이터를 지리정보시스템(GIS, Geographic Information System)을 통해 종합 분석하여 향후 산불의 발생, 확산, 피해 위험이 높은 지역을 선별해 전국 지자체별 ‘산불 취약지도’를 작성하였다. ○ 산불취약지역의 근거가 되는 산불취약위험지수는 산불발생밀도, 침엽수림과의 거리, 인구밀도, 건물밀도, 재해약자시설의 분포, 국가보호시설의 분포를 이용하여 크게 A, B, C, D의 4단계로 산출하였다. ○ 위험 등급은 A등급(상위 0-10%), B등급(상위 10-30%), C등급(상위 30-60%), D등급(상위 60-100%)으로 분류되 며, A등급에 가까울수록 위험도가 높아 해당지역 내 산불로 인한 재산, 인명 피해가 많이 발생할 것으로 예상되므로 적극적 인 산불 예방활동이 요구된다. ...... |
| - ArcGIS에서 데이터셋을 타일맵으로 하여 서비스를 하고 있어 WMS등보단 빠르나 타툴처럼 타일맵만드는 시간과 용량이 큰게 단점이라 구축 레벨을 적게합니다. 현 산불취약지도는 약 15레벨로만 서비스하므로 지도확대시 못읽어오거나 이전 레벨의 흐릿한 주제도를 보여줍니다. 따라서 15레벨까지는 본 타일맵을 사용하고 그 이상의 레벨에서는 WMS 방식으로 전환 사용하는것이 좋습니다. * 아크 타일맵의 정보(파라메터)를 확인하여 그리드셋을 반영해야 합니다. http://fgis.nifos.go.kr:6080/arcgis/rest/services/FFDRI/FFWeakArea_tiled/MapServer?f=json | ||
| var FFWeakArea_url = 'http://fgis.nifos.go.kr:6080/arcgis/rest/services/FFDRI/FFWeakArea_tiled/MapServer/tile/{z}/{y}/{x}?blankTile=false&_ts=1708148363953'; var FFWeakArea_resolutions = [2445.98490512499, 1222.992452562495, 611.4962262813797, 305.74811314055756, 152.87405657041106, 76.43702828507324, 38.21851414253662, 19.10925707126831, 9.554628535634155, 4.77731426794937, 2.388657133974685, 1.1943285668550503, 0.5971642835598172, 0.29858214164761665]; var FFWeakArea_extent = [1.3843403849925814E7, 3499413.0533777704, 1.7580489032262497E7, 5071736.015579829]; var FFWeakArea_tileGrid = new ol.tilegrid.TileGrid({ origin: [-20037700, 30241100], extent: FFWeakArea_extent, resolutions: FFWeakArea_resolutions, tileSize: [512, 512], }); var FFWeakArea_tiled1 = new ol.layer.Tile({ id: "FFWeakArea_tiled1", name: "FFWeakArea_tiled1", layerName: "FFWeakArea_tiled1", opacity: 1.0, source: new ol.source.XYZ({ crossOrigin: 'anonymous', url: ProxyPHPurl + FFWeakArea_url, tileGrid: FFWeakArea_tileGrid, tileSize: [512,512], imageSmoothing: false, tilePixelRatio: 2, maxZoom: 15, //projection: 'EPSG:3857', }), minResolution: resolutionForZoom(15), visible: true, }); var FFWeakArea_url2 = "http://fgis.nifos.go.kr:6080/arcgis/rest/services/FFDRI/FFWeakArea_tiled/MapServer"; var FFWeakArea_tiled2 = new ol.layer.Image({ id: 'FFWeakArea_tiled2', name: 'FFWeakArea_tiled2', layerName: 'FFWeakArea_tiled2', opacity: 1.0, visible: true, maxResolution: resolutionForZoom(15), source: new ol.source.ImageArcGISRest({ ratio: 1, params: { //LAYERS:"show:1", FORMAT:"image/png", 'DPI':300, 'FORMAT':'PNG24' }, crossOrigin: 'anonymous', url: FFWeakArea_url2, imageLoadFunction: function(image, src) { src = ProxyPHPVWorld_URL + src; image.getImage().src = src; }, }) }); | ||
| - 공간데이터 호출과 분석지내 분포와 중첩 비율 분석 소스 var extent = PG_Geometry.getExtent(); var serviceUrl = ProxyGeoserverPHPurl + 'http://fgis.nifos.go.kr:6080/arcgis/rest/services/FFDRI/FFWeakArea_tiled/MapServer/'; serviceUrl = serviceUrl + '1' + '/query?' + 'f=json&' + 'returnGeometry=true&spatialRel=esriSpatialRelIntersects' + '&geometry=' + ('{"xmin":' + extent[0] + ',"ymin":' + extent[1] + ',"xmax":' + extent[2] + ',"ymax":' + extent[3] + '}') + '&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*' + '&outSR=102100'; var esrijsonFormat = new ol.format.EsriJSON(); var features = []; $.ajax({url: serviceUrl, dataType: 'jsonp', success: function(response) { if (response.error) { Call_Function(mode_name, PG_Geometry, features); } else { var features_org = esrijsonFormat.readFeatures(response); for(var i=0; i< features_org.length; i++){ try { var feature = features_org[i]; var _CODE = feature.values_['CODE']; if(_CODE){ features.push(feature); } } catch (error) { } } Call_Function(mode_name, PG_Geometry, features); //srhong SpatialOperationsLayer.getSource().addFeature(PG_feature); PolygonToLineSave(PG_feature, SpatialOperationsLayer); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { Call_Function(mode_name, PG_Geometry, features); } }); } |
***********************************************************************************************************************
(2) 산사태위험도 (산사태위험등급)
먼저 산림청에서의 2000년대 초반부터 참여한 "경사위험지분석 + 산사태(Landslides) 위험등급판정"을 연구 및 개발 과정을 보아야한다. 산림청은 요즘 무슨 필이 꽂혔는지 중국산 슈퍼맵을 주로 사용하고 있다.
[관련글 산사태/경사위험지분석]산사태 위험도 예측 시스템 https://cafe.naver.com/gisapplication/112 ]
비슷한 사례로 "다드림"의 전신인 "적지적수"에도 우리팀이 연구 및 초기 구축을 했었다.
[관련글 적지적수모듈-설명 https://cafe.naver.com/gisapplication/87 ]
산림청의 "산림공간정보" 에서 사용중인 "산사태위험등급지도"를 본 시스템에선 중첩과 분석지의 분포를 분석합니다.
소스는 생략하고 " [OpenLayers] SuperMap 레이어 중첩 및 정보조회 "글을 대신합니다.
| - 산사태에 영향을 미치는 요인은 매우 다양하나 본 산사태위험지도는 임상, 경급, 사면경사 등 9 개 인자를 활용하여 제작함 으로서 이용상의 한계를 지니고 있음 - 국소지역의 토양 물리성(단위중량, 전단강도, 투수계수) 등 많은 요인을 지속적으로 추가 반영하여 정확도를 높일 필요가 있음 - 따라서, 관련 자료는 산사태 예방활동 등 산사태 관련 정책 연구 등에 제한적으로 이용할 것을 권장함 |