반응형


- WMS CQL filter 사용하기 -


geoserver에서 wms 를 가져올때 필터 조건을 사용하여


조건에 맞는 부분만 가져오는 방법에 대해 알아보자.


그냥 기존에 가져와서 사용하던 방식에서


params부분에 "CQL_FILTER"를 추가해서 넣어주기만 하면 된다.

(윗부분은 항상 동일하니 script부분만 정리한다.)


var sig = new ol.layer.Tile({
title : 'SIG',
source : new ol.source.TileWMS({
url : 'http://192.168.200.200:8080/geoserver/mine/wms',
params:{
'VERSION': '1.1.0',
'LAYERS' : 'mine:SIG',
'BBOX':[746110.2515145557,1458754.0441563274,1387947.6818815223,2068443.9546290115],
'SRS' : 'EPSG:5179',
'FORMAT': 'image/png',
},
serverType : 'geoserver'
})
});

위에 보여주는 것은 cql_filter를 적용하지 않고 예시로 시군구단위의 지도를 띄운것이다.


이제 여기서 filter를 적용시켜보자.


var sig = new ol.layer.Tile({
title : 'SIG',
source : new ol.source.TileWMS({
url : 'http://192.168.200.200:8080/geoserver/mine/wms',
params:{
'VERSION': '1.1.0',
'LAYERS' : 'mine:SIG',
'BBOX':[746110.2515145557,1458754.0441563274,1387947.6818815223,2068443.9546290115],
'SRS' : 'EPSG:5179',
'FORMAT': 'image/png',
'CQL_FILTER' : 'SIG_CD IN (43750,43770,43130,43150,43800,43760,43745,43114,43113,43112,43111,43720,43730,43740)'
},
serverType : 'geoserver'
})
});

필터를 적용하여 충북지역만 뽑아봤다.


CQL_FILTER를 보면 알겠지만 해당 wms가 가지고있는 

속성정보에서 filter를 적용시키는것을 잊지말자.


반응형