개발Story
article thumbnail

지오서버 레이어 범례 모두 가져오기

지오서버에 발행된 특정 범례를 시스템에서 표출할 일이 있다면 지오서버에서 제공해주는 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;
};

 

profile

개발Story

@슬래기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!