GeoServer에서 SLD로 폴리곤 레이어의 Labeling 정의할때 질문입니다.

2,673 views
Skip to first unread message

호기심

unread,
Sep 27, 2013, 2:46:22 AM9/27/13
to osge...@googlegroups.com

SLD를 정의하는 구문에서

1. 축척에 따른 라벨의 보임/안보임을 정의하는 명령어는 원래 제공되지 않는건가요?

축척에 따라 레이어의 보임/안보임 제어는 있는데, 라벨만 제어하는 것은 못찾겠습니다. ㅠ.ㅜ

2. 폴리곤 레이어의 컬럼을 Labeling 하려고 하는데, Label이 한개만 보이면 되는데, 여러개가 보입니다. (현상 파일 첨부 드립니다.)

혹시나 해서 " <VendorOption name="repeat">0</VendorOption> " 으로 제어가 될까 싶어서 해봤는데도 소용이 없습니다.

아시는 분은 답변 부탁드려도 될까요?



아래 사이트의 도큐먼트를 찾아봤는데, 제가 잘못찾은건지 내용이 없습니다. ㅠ.ㅜ



캡처.JPG

민경일

unread,
Sep 27, 2013, 3:37:42 AM9/27/13
to osge...@googlegroups.com
안녕하세요. 민경일이라고 합니다.
저도 예전에 고민해 본 내용이라 답변드려 봅니다~ 

1.번내용은  polygonsumbolizer와 textsysbolizer를 서로 다른 rule에 정의하고 textsymbolizer쪽 rule에 축척에 따른 제어 구문을 넣으시면 될듯합니다.

2. label갯수가 많은 이유는 클라이언트에서 multi tile로 요청시 각각의 요청이미지마다 label이 표시되는 현상입니다.
몇가지 방법이 있는데...
일단 클라이언트에서 single tile방식으로 요청하면 깔끔히 해결됩니다.^^
만약 꼭 multi tile  방식의 요청을 원하신다면 
<TextSymbolizer> 
  <Geometry>
    <ogc:Function name="centroid">
      <ogc:PropertyName>the_geom</ogc:PropertyName>
    </ogc:Function>
  </Geometry>
  <Label>
    <ogc:PropertyName>nr</ogc:PropertyName> 
  </Label>
.......
위 붉은색 부분을 sld에 추가하면 폴리곤의 가운데에 하나의 라벨이 뜨게 됩니다.(단점:폴리곤을 많이 확대 하였을때 보고있는 영역이 폴리곤의 중심이 포함되어 있지 않으면 라벨은 보이지 않습니다.)

또 다른 방법은.. geoserver의 meta tiling 기능을 사용하시면 라벨의 중복을 조금이나마 피할수 있습니다.(타일 3*3 영역에 라벨 하나를 표시하게 할수있는.....)
이 문서를 참고 하시면 좋을듯 합니다.

도움이 되었으면 좋겠네요~













2013년 9월 27일 오후 3:46, 호기심 <nonn...@gmail.com>님의 말:

--
Google 그룹스 'OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 osgeo-kr+u...@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 osge...@googlegroups.com(으)로 이메일을 보내세요.
http://groups.google.com/group/osgeo-kr에서 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를) 방문하세요.

호기심

unread,
Sep 30, 2013, 3:04:36 AM9/30/13
to osge...@googlegroups.com
우오오옷!! 민경일님 감사합니다!! ♡♡♡♡♡♡♡♡♡

덕분에 화면에 다닥다닥 나타나던 같은 Label들을 처리할 수 있게 되었습니다. 완젼 감사합니다.

1번 문제는 말씀주신대로 "rule"을 별도로 적용해서 해결 하였구요,

 2번 문제는 


  <Geometry>
    <ogc:Function name="centroid">
      <ogc:PropertyName>the_geom</ogc:PropertyName>
    </ogc:Function>
  </Geometry>

요 구문을 추가해서 처리하였습니다.

근데, 저는 GeoServer의 Style에 바로 적용을 해서 그런지, 

바뀐 Style로 맨처음 로딩될 때는 로딩 시간이 조금 오래 걸리더라구요.

아마 이게 자연스러운 현상이라고 생각하고 있습니다.


다시 한번 너무 감사합니다!! 

복많이 받으십시오!!


Reply all
Reply to author
Forward
0 new messages