[OL_WaterLogics] 상수도관망최적유지관리시스템 개발
1.상수시설물관리 : 상수시설물 지도 중첩
* 아래 기능별 사용방법은 유튜브 동영상을 참조하세요. (구독자등록해주시면 더좋아요^^)
https://www.youtube.com/srhong007/
* 데모: OL-WaterLogics Version 2020"
OpenLayers 6.X /JavaScript/html/css으로 그동안 Education을 만들어오면서 별도 프로젝트를 수행하였습니다.
기능중 공통 및 특이한 기능은 "[OpenLayers] OL-FGIS/Pro 2020 상용버전 프로토타입버전"으로 1차 완료하였습니다. 이젠 응용개발로 본연의 효자종목인 "[OL_WaterLogics] 상수도관망최적유지관리시스템" 구축을 진행중에 있습니다. 기존 Flash기반의 "[상수도관망최적관리시스템 2020] 통합모니터링시스템"을 OpenLayers/JavaScript/html5 기반으로 만들어가는 내용을 정리해보려 합니다.
그중 초기 단계로 GeoServer의 상수도 시설물 레이어를 지도에 중첩하는 기초부분부터 시작하려고 합니다.
목표기능은 기존 "WaterLogics"의 기능은 참조하세요.
상수도 시설물 레이어 구성은 간단합니다.
1. Polygon으로 대/중/소 블록경계와 각종 구분을 갖는 영역으로 일반 코딩하면 될거구요.
2. PolyLine으로 상수관로/급수관로로 대용량과 복잡한 선분으로 "VectorTile"을 사용할겁니다.
3. Point으로 벨브(변류시설), 급수전 계량기 등 으로 대용량과 다양한 심볼로 구성되어 "VectorTile"을 사용하면 좋으나
각 타일 사이의 심볼들은 그리지 못하는 단점이 있어서 기존 "Vector"레이어로 하되 대용량으로 속도를 고려하여,
vectorSource에서 ol.loadingstrategy.tile로 나눠 쿼리합니다. "VectorTile"레이어와 똑같이 타일로 쿼리 호출하지만
그릴땐 하나의 캔퍼스에 그려지는 방식으로 구현됩니다.
또한, 많은 종류의 시설물 심볼을 사용하고 크기/색상을 달리하므로 글자 폰트(ttf)에 이미지를 담아 표시하게됩니다.
* 왜 벡터 타일을 사용합니까? (Why use vector tiles?) - 렌더링은 서버가 아닌 클라이언트 (예 : OpenLayers)에 의해 수행됩니다. 이를 통해 다른 맵 / 애플리케이션이 GeoServer를 재구성하지 않고도 맵의 스타일을 다르게 지정할 수 있습니다. - 벡터 타일의 크기는 일반적으로 이미지 타일보다 작 으므로 데이터 전송 속도가 빨라지고 대역폭 사용량이 줄어 듭니다. - GeoServer에 내장 된 GeoWebCache는 벡터 타일 데이터를 효율적으로 저장합니다. 스타일링은 서버가 아닌 클라이언트가 수행하므로 GeoWebCache는 모든 다른 스타일에 대해 하나의 타일 만 저장하면됩니다 . - 벡터 데이터는 클라이언트에서 사용할 수 있으므로 대역폭을 늘리지 않고도 매우 높은 해상도의 맵을 그릴 수 있습니다 . - 클라이언트는 실제 기능 정보 (속성 및 지오메트리)에 기본적으로 액세스 할 수 있으므로 매우 정교한 렌더링이 가능합니다. - 반면, 벡터 타일의 주요 단점은 클라이언트가 필요한 도면을 수행 할 수 있도록 지리 데이터를 사전 처리해야 할 수 있다는 것입니다 (이미지 맵의 전처리 데이터와 유사). 이를 염두에두고 벡터 타일은 렌더링에만 사용해야합니다 . |
![](https://t1.daumcdn.net/cfile/cafe/998732345EA14A4525)
* 주요 소스는 수정관리를 위해 원문( https://cafe.naver.com/gisapplication/1069
(1) "VectorTileLayer" 생성 : GeoServer의 상수도관로/급수관로 등의 대용량을 위에서 설명하였듯이 벡터타일레이어
로 생성합니다. 파라메터중 "StyleFunction"는 레이어 종류별 동적 스타일을 주기 위한 함수링크입니다.
----소스 생략 ---
(2) 포인트형 시설물은 "VectorTileLayer" 생성시 빠른장점을 갖으나, 타일과 타일 사이의 포인트의 심볼 도식시
깨지거나 일부가 그려지지 않는 현상이 일어나므로, 일반 WFS의 벡터레이어로 사용합니다.
그러나, vectorSource에서 ol.loadingstrategy.tile로 나눠 쿼리하게 하면, "VectorTile"레이어와 똑같이 타일로
쿼리 호출하고 그릴땐 하나의 캔퍼스에 그려지는 방식으로 심볼들이 잘 표시됩니다.
파라메터중 "StyleFunction"는 레이어 종류별 동적 스타일을 주기 위한 함수링크입니다.
----소스 생략 ---
카페 게시글
GeoServer활용
[OL_WaterLogics] 상수도관망최적유지관리시스템 개발_1.상수시설물
공공칠빵
추천 0
조회 66
20.04.23 16:58
댓글 0
다음검색