지오서버 레이어 범례 모두 가져오기
지오서버에 발행된 특정 범례를 시스템에서 표출할 일이 있다면 지오서버에서 제공해주는 API(GetLegendGraphic)를 이용하면 된다.
http://xxxxxxxx/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=24&HEIGHT=24&STRICT=false&
style=${지오서버 작업공간}:{레이어 이름}
지오서버 레이어 특정 범례 가져오기
지오서버에 전체 범례가 아닌 특정 rule에 해당하는 범례를 가져오고 싶을 경우가 있다.
지오서버에 스타일을 적용했다면 sld에 rule name이 존재할 것이다.
http://xxxxxxxx/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=24&HEIGHT=24&STRICT=false&
style=${ 지오서버 작업공간 }:{레이어 이름}&rule=${rule}
내가 만든 javascript util을 공유.
export const getLegend = (rule) => {
const styleNm = '저장소:레이어이름';
const proxyUrl = `${window.location.origin}/proxy/proxyUrl.jsp?url=`;
const geoserverUrl = process.env.GEOSERVER_URL;
const geoserverParam = `/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=24&HEIGHT=24&STRICT=false`;
const src = `${proxyUrl}${geoserverUrl}${geoserverParam}&style=${styleNm}&rule=${rule}`;
return src;
};
'GIS프로그래밍 > GeoServer' 카테고리의 다른 글
javascript ajax 통신을 이용한 Geoserver table 스키마 갱신해주기.feat(REST API) (0) | 2021.03.14 |
---|---|
geoserver 맵 발행 및 openlayers 연동. (8) | 2020.08.09 |