[GeoServer] QGIS 로 SLD 생성 및 적용

식빵·2023년 3월 2일
2

Geoserver

목록 보기
4/7
post-thumbnail

velog night theme 로 보셔야 잘 보입니다!
그리고 그림이 좀 큼직큼직하니 zoom out 하셔서 보는 걸 추천합니다.


💬 GeoServer Layer 에 SLD 적용 절차


GeoServer 에 발행한 Layer 와 관련된 디자인을 수정할 때는 SLD 파일을 사용한다.
그리고 내가 일하는 곳에서도 Layer 의 디자인을 수정하는 작업을 하는데,
그 작업 과정은 (일반적으로) 아래와 같았다.

  1. GeoServer 의 PostGIS 기반의 저장소에서 Layer 를 발행한다.
  2. [ QGIS > PostGIS conneciton ] 로 앞서 발행한 Layer(=table)를 화면에 띄운다.
  3. QGIS 에 올라온 Layer 에 심볼, 라벨 등의 디자인 작업을 한다.
  4. 디자인이 완료되면 QGIS 로 style export 하여 SLD 파일을 생성한다.
  5. [ GeoServer > Style ] 메뉴에서 앞서 생성한 SLD 기반으로 Style 생성
  6. [ GeoServer > Layer ] 메뉴에서 1번에서 생성했던 Layer 정보를 조회한다.
  7. 조회된 Layer 의 상세보기 화면에서 발행(Publish) 라는 탭에 가서
    Default Design 에서 5번에서 생성한 Style 을 선택하고 수정사항을 저장한다.

이 글은 위의 복잡한 과정 중에서 3~7번에 대한 것을 그림과 글로 표현하는 게 목표다.
그렇기 때문에 1~2번 과정은 생략되어 있다는 점을 유의하길 바란다.

1~2 번 과정을 알고 싶다면 내가 작성한 Layer Publishing 관련 게시물을 참조해보기 바란다. 너무 긴 내용이므로 여기서 다루진 않는다.

지금부터 3~7번 과정을 상세히 기록해보겠다.




🗺️ QGIS: SLD 추출하기


  • QGIS Layers 에서 디자인을 입히고 싶은 Layer 에 [ 마우스 우클릭 > Properties ] 클릭

  • 팝업 뜨면 좌측 탭에서 Symbology(= 심볼)을 클릭하고
    심볼에 대한 디자인을 모두 마치고, Apply 클릭, Ok 클릭

  • 특정 축척이 되었을 때만 화면에 보이게 하고 싶을 때는 이 작업도 해야한다.
  • Rendering 탭 클릭 > Scale Dependent Visibility 클릭
  • 축척이 1:2500 까지 올라가면(= 지도를 확대하면) 심볼들이 보이도록 처리(=3번)
  • 만약 축척의 Maximum 제약도 걸고 싶다면 4번도 축척값 표기
  • 팝업 하단의 [ Style > Save Style... ] 클릭

  • Save style 에서 As SLD Style File 선택 (1번)
  • 오른쪽에 있는 ... 버튼을 클릭하여 원하는 경로에, 원하는 명칭의 파일이름 지정 (2번)
  • OK 클릭 (3번)
  • 생성된 파일을 열어보면 아래와 같이 xml 형식의 내용을 확인할 수 있다.





🗺️ GeoServer : Layer <- SLD 파일 적용


  • [ 스타일 메뉴 > 새로운 스타일 추가하기 ] 클릭

  • 들어가자 마자 파일 선택 버튼 클릭하고 아까 저장한 SLD 파일을 지정한다.
  • 선택한 후에 업로드... 버튼(④)을 클릭한다.
  • 참고로 업로드 버튼을 누르면 스타일 데이터의 이름 이 자동으로 파일 이름과 같아진다.



  • 업로드... 버튼 클릭 이후 위 그림처럼 SLD 의 내용이 보인다.
  • 유효성 검증하기 버튼을 클릭하고, 하단에 No Validation errors 라는 문구가 보이면
    저장 버튼을 클릭한다.



  • Geoserver 메뉴에서 레이어 를 선택 (1번)
  • 디자인을 입히고자 하는 레이어의 제목을 클릭 (2번)



  • 레이어 편집 화면이 보이면 발행 탭을 클릭한다.



  • 이후 아래로 내려가면 WMS 설정 > 기본 스타일 하단에 select box 가 있다.
  • 해당 select box 에서 앞서 만든 스타일의 이름(= 파일 이름)을 찾고, 선택
  • Apply 버튼 클릭 > 저장 버튼 클릭





🗺️ GeoServer : 디자인 적용 Check


  • 디자인이 정말 적용되었는지 확인하기 위한 단계
  • GeoServer 메뉴 중에서 레이어 미리보기 클릭
  • 앞서 디자인을 적용한 레이어를 목록에서 찾아내고, 그 옆의 OpenLayers 버튼 클릭



  • 디자인이 잘 적용된 것을 확인한다.
  • 이제 퇴근!





🥝 참고 링크

profile
백엔드를 계속 배우고 있는 개발자입니다 😊

0개의 댓글