openlayers (3) 썸네일형 리스트형 [OpenLayers] GeoServer Request 414 에러(URI Too Long) 이전 포스팅에 올렸던 버퍼를 이용한 반경검색 기능을 테스트 하던중 414에러가 발생했다. RequestURL이 길면 얼마나 길다고.. 하면서 가보니.. 현재 기능에서 해당 에러가 발생한 원인은 CQL_FILTER를 적용하면서 도형정보(POLYGON(coord1,coord2.....))가 입력되는데 도형의 좌표값들이 많아지다 보면 URL의 최대값을 넘어버리는 경우가 생기는 모양이었다. 기존코드 // ※참고 : param에 들어있는 정보 //var param = { //radius//반경 정보(100m) //bufferFeature_WTK//POLYGON() 객체 정보 //lyrId//검색할 레이어ID(GeoSever에 발행되어있는 레이어 ID) //style//레이어 스타일정보 //} function se.. [OpenLayers] geoServer CQL_FILTER를 활용한 폴리곤 버퍼검색(WITHIN, INTERSECTS) 이전 포스팅에서는 기준점을 기준으로 반경 검색을 하는 것에 대해 알아보았다. 이번에 시도할 기능은 면(POLYGON)에 대한 일정 거리의 버퍼를 부여해서 이 버퍼에 걸리는 Feature들을 검색해 볼 것이다. BUFFER생성 일단 해당 레이어에 대한 버퍼를 만들어준다. 여러 방법이 있겠지만 필자는 JSTS라이브러리를 활용했다. //JSTS를 활용해 Buffer Feature 생성 //필요한 파라미터 : feature, radius //피처 geometry 파싱 var parser = new jsts.io.OL3Parser(); var jstsGeom = parser.read(feature.getGeometry()); //버퍼 geometry 생성 var buffered = jstsGeom.buffer(r.. [OpenLayers] geoServer CQL_FILTER를 활용한 반경검색(DWITHIN) 프로젝트중에 레이어에 대해서 반경에 걸리는 Feature를 찾아야 하는 기능이 필요했다. 원래는 OpenLayers api중 intersectsCoordinate 기능으로 구현 했었지만 전체레이어 Feature수가 많은 레이어에서 수행할 경우 느려지는 이슈가 발생하기도 하고 필요없는 레이어가 보이기도 했다. 그래서 기존 레이어를 활용하는 것이 아닌 geosever에서 필요한 범위만 검색해서 인스턴트 레이어를 생성해 뿌려주는 방법으로 수정방향을 잡았다. DWITHIN 일반적인 geoserver 요청 url 형식에 뒤에 DWITHIN을 이용한 cql_filter 하나만 적용시켜주었다. DWITHIN(geom_col,POINT(x y),radius,unit) //geom_col : 레이어 geometry 스키.. 이전 1 다음