본문 바로가기
공간정보/Geoserver

OGC WMS와 SLD를 활용한 건물 층수 시각화하기

by 요긴소프트 2024. 11. 22.
728x90
반응형

안녕하세요! 오늘은 브이월드 API를 활용하여 건물의 층수를 시각화하는 방법에 대해 알아보겠습니다.

WMS 요청 분석

https://api.vworld.kr/req/wms?SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&LAYERS=lt_c_spbd&STYLES=&CRS=EPSG:900913&BBOX=14133818.022824,4520485.8511757,14134123.770937,4520791.5992888&WIDTH=256&HEIGHT=256&FORMAT=image/png&TRANSPARENT=false&BGCOLOR=0xFFFFFF&EXCEPTIONS=text/xml&KEY=브이월드인증키&DOMAIN=localhost&SLD_BODY=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0D%0A%3CStyledLayerDescriptor+version%3D%221.0.0%22%0D%0A+++++++++++++++++++++++xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld+http%3A%2F%2Fschemas.opengis.net%2Fsld%2F1.0.0%2FStyledLayerDescriptor.xsd%22%0D%0A+++++++++++++++++++++++xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%22+xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%0D%0A+++++++++++++++++++++++xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%0D%0A+++++++++++++++++++++++xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%3E%0D%0A++++%3CNamedLayer%3E%0D%0A++++++++%3CName%3Esop%3Alt_c_spbd%3C%2FName%3E%0D%0A++++++++%3CUserStyle%3E%0D%0A++++++++++++%3CTitle%3Epolygon+style%3C%2FTitle%3E%0D%0A++++++++++++%3CFeatureTypeStyle%3E%0D%0A++++++++++++++++%3CRule%3E%0D%0A++++++++++++++++++++%3CName%3E0%3C%2FName%3E%0D%0A++++++++++++++++++++%3CTitle%3E0%3C%2FTitle%3E%0D%0A++++++++++++++++++++%3Cogc%3AFilter%3E%0D%0A++++++++++++++++++++++++%3Cogc%3APropertyIsGreaterThan%3E%0D%0A++++++++++++++++++++++++++++%3Cogc%3APropertyName%3Egro_flo_co%3C%2Fogc%3APropertyName%3E%0D%0A++++++++++++++++++++++++++++%3Cogc%3ALiteral%3E3%3C%2Fogc%3ALiteral%3E%0D%0A++++++++++++++++++++++++%3C%2Fogc%3APropertyIsGreaterThan%3E%0D%0A++++++++++++++++++++%3C%2Fogc%3AFilter%3E%0D%0A++++++++++++++++++++%3CPolygonSymbolizer%3E%0D%0A++++++++++++++++++++++++%3CFill%3E%0D%0A++++++++++++++++++++++++++++%3CCssParameter+name%3D%22fill%22%3E%23FFFF00%3C%2FCssParameter%3E%0D%0A++++++++++++++++++++++++++++%3CCssParameter+name%3D%22fill-opacity%22%3E1.0%3C%2FCssParameter%3E%0D%0A++++++++++++++++++++++++%3C%2FFill%3E%0D%0A++++++++++++++++++++++++%3CStroke%3E%0D%0A++++++++++++++++++++++++++++%3CCssParameter+name%3D%22stroke%22%3E%23FF0000%3C%2FCssParameter%3E%0D%0A++++++++++++++++++++++++++++%3CCssParameter+name%3D%22stroke-width%22%3E1.0%3C%2FCssParameter%3E%0D%0A++++++++++++++++++++++++%3C%2FStroke%3E%0D%0A++++++++++++++++++++%3C%2FPolygonSymbolizer%3E%0D%0A++++++++++++++++%3C%2FRule%3E%0D%0A++++++++++++%3C%2FFeatureTypeStyle%3E%0D%0A++++++++%3C%2FUserStyle%3E%0D%0A++++%3C%2FNamedLayer%3E%0D%0A%3C%2FStyledLayerDescriptor%3E

위 URL은 브이월드의 WMS 서비스를 호출하는 요청으로, 주요 파라미터를 살펴보면:

기본 파라미터

  • SERVICE: WMS
  • REQUEST: GetMap
  • VERSION: 1.3.0
  • LAYERS: lt_c_spbd (건물통합정보)
  • CRS: EPSG:900913 (구글 메르카토르 좌표계)

시각화 범위

  • BBOX: 14133818.022824,4520485.8511757,14134123.770937,4520791.5992888
  • WIDTH: 256
  • HEIGHT: 256

스타일 정의
요청에 포함된 SLD_BODY는 다음과 같은 스타일을 정의합니다:

  • 3층 초과 건물만 필터링
  • 채우기 색상: 노란색 (#FFFF00)
  • 외곽선: 빨간색 (#FF0000)
  • 투명도: 불투명

주요 특징

  • 필터 조건
<ogc:PropertyIsGreaterThan>
    <ogc:PropertyName>gro_flo_co</ogc:PropertyName>
    <ogc:Literal>3</ogc:Literal>
</ogc:PropertyIsGreaterThan>

gro_flo_co(건물 층수) 속성이 3을 초과하는 건물만 선택합니다.

  • 스타일링
<Fill>
    <CssParameter name="fill">#FFFF00</CssParameter>
    <CssParameter name="fill-opacity">1.0</CssParameter>
</Fill>
<Stroke>
    <CssParameter name="stroke">#FF0000</CssParameter>
    <CssParameter name="stroke-width">1.0</CssParameter>
</Stroke>

선택된 건물은 노란색 채우기와 빨간색 외곽선으로 표시됩니다.

활용 방안

이러한 WMS 요청은 다음과 같은 용도로 활용할 수 있습니다:

  • 도시계획 분석
  • 고층 건물 분포 파악
  • 도시 개발 현황 모니터링
  • 지역별 건축물 특성 연구

필터 조건과 스타일을 수정하면 다양한 시각화가 가능하니 여러분의 필요에 맞게 커스터마이징해 보세요!

728x90
반응형