- 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를 적용시키는것을 잊지말자.
'GIS 프로그래밍 > OpenLayers' 카테고리의 다른 글
[OpenLayers] 특정 영역으로 지도 화면 이동하기 (ft. fit() / duration) (0) | 2020.12.07 |
---|---|
[OpenLayers] 현재 지도 화면의 영역(extent) 가져오기 (ft. calculateExtent()) (0) | 2020.12.07 |
[OpenLayers] CQL filter 사용하기 (ft. geoserver WMS) (0) | 2020.09.09 |
[OpenLayers] 좌표 경도(x),위도(y) 의 좌표계 변경하기 (from 4326 to 3857) (2) | 2020.08.18 |
[OpenLayers] features from GeoJSON import (피처정보 가져오기) (2) | 2020.08.17 |
[OpenLayers] features to GeoJSON export (피처정보 추출하기) (0) | 2020.08.17 |