2. 2
목차
1. GeoServer 개요
2. GeoServer 설치
3. Data Publishig
4. Map Styling
5. Styling 고급
6. 재미있는 기능들
7. 성능향상 전략
3. 3
1. GeoServer 개요
1.1 GeoServer란?
1.2 GeoServer가 하는 일
1.3 WMS 인터페이스
1.4 WFS 인터페이스
1.5 WCS 인터페이스
1.6 GeoServer의 주요 특징
1.7 지원 포맷 일람
4. QGIS
• 공간데이터 생산/편집 도구
• 서비스 할 원본 데이터를 만들어 낸다.
Post
GIS
• 공간데이터 관리도구
• 다듬어진 공간데이터를 효과적으로 관리하고 조건에 맞는 데이터를 제공한다.
Geo
Server
• 공간데이터 서비스도구
• 잘 다듬어진 자료를 웹에서 예쁘게 서비스 한다.
Open
Layers
• 웹 GIS 제작용 라이브러리
• 사용자가 웹상에서 공간정보를 편히 사용할 수 있는 UI를 제공한다.
4
13. 사용 편한 UI 제공
WEB 기반의 Admin 페이지
OS에 구애 받지 않음
JAVA 기반, WEB 인터페이스기반
캐시 지원
서버 캐시(GWC), Cache-Control
다양한 좌표계로 실시간 변환 가능
2.1.3 버전부터 국내 좌표계도 모두 지원
Data Processing도 가능
WPS (참고: http://www.onspatial.com/2009/12/ogc-wps-
operation-quick-reference.html)
거의 모든 GIS 자료 이용 가능
13
16. 16
다운로드 사이트
독립형 GeoServer 버전
http://geoserver.org/download
OpenGeo Suite 버전
http://boundlessgeo.com/solutions/opengeo-
suite/download/
※ OpenGeo Suite 버전이 확장 기능 더 많음
※ 독립형 버전은 Service로 설치 가능
※ 상용서버에는 War로 설치하는 것을 권장
17. 17
Download
안정적인 버전 잘 관리되고 있는 버전
기능: Stable > Maintenance
안정성: Stable < Maintenance
19. 19
독립형 버전 서비스 설치
설치 마지막 단계에서
Install as a Service옵션
선택
서비스로 설치하면
리부팅해도 자동으로
GeoServer가 실행됨
테스트용 설치는
Run manually 권장
20. 20
War 버전 설치
상용 WAS가 설치된 경우 이용
WAS 별로 war 파일 배포법 다름
Tomcat인 경우 webapp 폴더에
복사하는 것으로 설치 완료
기타 WAS의 경우 UI나 명령으로
손쉽게 배포 가능
21. 21
서비스로 등록한 경우
시작에서 ‘서비스'검색하여 실행
혹은 services.msc 실행
22. 22
Vista 이상의 경우
UAC(사용자 계정 콘트
롤) 때문에 실행 복잡
관리자 권한 있는 도스
창에서 startup.bat 실행
해야 정상 실행
시작에서 cmd 입력 후
Control-Shift-Enter 로 실
행해야 관리자 권한 도
스창 띠울 수 있음
Run Manually로 설치한 경우
23. 23
시작하기
브라우저 이용
http://localhost:8080/geoserver/
IE 사용 비권장: 느리고 안되는 기능이 간혹 있음
기본비번: admin / geoserver
25. 25
정보 & 상태 섹션
GseServer의 진단과 환경을 설정할 수 있으며 특히 디버깅에 유용합니다.
데이터
Workspace, Stores, Layers, Layer Groups, Styles 등을 설정할 수 있으며, 각각의
하위 섹션은 비슷한 설정방법을 따르고 있습니다.
서비스
GeoServer 에서 서비스 가능한 WMS, WFS, WCS 서비스 환경 및 상태(시작/멈춤
등)나 고급 서비스 옵션을 설정할 수 있습니다.
환경설정
GeoWebCache 등의 GeoServer 고급 환경을 설정합니다.
타일캐시
Geowebcache에 의해 생성된 캐쉬레이어를 관리합니다.
보안
사용자나 서비스에 대한 보안정책을 설정합니다.
데모
GeoServer 에서 제공하는 SRS(Spatial Reference System)정보 및 폼 기반의 OGC
WMS, WFS, WCS Operation 에 대한 request 결과물을 확인 할 수 있습니다.
29. 29
3. Data Publishing
3.1 Data Publishing 과정
3.2 Workspace 추가하기
3.3 Shapefile 서비스하기
3.4 GeoTIFF 서비스하기
3.5 PostGIS 레이어 서비스하기
30. 30
작업공간(Workspace) 생성
자료를 관리를 위한 그룹
보통 업무 프로젝트 단위로 생성
저장소(Store) 생성
자료의 물리적 위치를 등록
폴더, DBMS, 파일 등 등록
스타일(Style) 생성 (옵션)
자료를 표현하는 방법을 상세히 정의
레이어(Layer) 생성
실제 개별 자료를 등록
Data와 Publishing 섹션으로 구성
레이어 그룹(Layer Group) 생성 (옵션)
관련 자료를 묶어서 제공
타일 캐시 설정 (옵션)
서비스 효율화
51. 51
4. Map Styling
4.1 SLD의 이해
4.2 SLD Sample
4.3 적용된 스타일 확인
4.4 Vector 스타일 수정
4.5 Raster 스타일 수정
52. 52
Styled Layer Descriptor(SLD)란?
• 벡터 및 래스터 레이어 시각화를 위한 스타일
마크업 언어
• 심볼, 필터, 라벨, 최대/최소축척 등을 정의
• WMS의 핵심
• XML 기반의 OGC 표준 스펙
• http://www.opengeospatial.org/standards/sld
53. 53
SLD로 할 수 있는 것
점 도형/색/크기/아이콘 등 설정
선 색/두께/점선/연결방법 등 설정
면 색/패턴채움/이미지채움 등 설정
텍스트 참조컬럼/색/강조/위치/회전 등 설정
투명도 조절
축척에 따른 자료 보이기
조건에 따른 자료 표현(가시/크기/색/회전/아이
콘 등) 변경
76. GeoServer의 버그로 주의 필요
Style에서 population_density 편집
첫줄의 UTF-8을 EUC-KR로 수정
font-family 부분을 검색
값을 ‘맑은 고딕’으로 변경
[Submit] 선택하여 저장
Preview로 적용 확인
77. 레이어 그룹의 필요성
지도는 보통 여러 레이어를 조합해 사용
여러 레이어 조합시 순서가 매우 중요
호출시에도 한 레이어 처럼 호출 가능
※ 리스트에서 가장 위의 레이어가 가장 먼저 그려져 다른 레이어에
의해 덮어짐
84. 84
Google Earth에서의 범례 기능은 WMS
표준 기능을 사용한 것임
http://localhost:8080/geoserver/wms?REQUEST=
GetLegendGraphic&VERSION=1.0.0&FORMAT=im
age/png&WIDTH=20&HEIGHT=20&LAYER=seoul:
admin_emd
GeoServer 관리UI에서 Publish 탭에서도
이 기능 이용
SLD의 각 Role Title이 범례에 표시됨
LEGEND_OPTIONS로 상세한 형태정의도
가능
http://docs.geoserver.org/stable/en/user/serv
ices/wms/get_legend_graphic/legendgraphic.
html?highlight=legend
88. 88
7. 성능향상 전략
7.1 Web Cache Logic 이해
7.2 Response Cache Header 적용
7.3 Geo Web Cache(GWC) 적용
7.4 서버 설정 변경
7.5 데이터 폴더 이동
7.5 데이터 최적화
89. 89
Text
Text
Web Browser
GIS Server
URI 요청
Browser Cache 확인
있는가?
유효기간?
Browser Cache Hit!
End
헤더에 If-Modified-Since:
LastModifiedTime 붙여 요청
컨텐츠 요청
304 not modified
새 버전이 있는가?
컨텐츠 생산
(GeoServer)
서버캐시에 있는가?
200 OK + 컨텐츠 전송
컨텐츠 사용
No
Yes
Remain
Expire
No
Yes
0.1 ms
10 ms 50 ms
No
Yes
500 ms
90. 90
Client A
App Server
Server
Cache
Contents
Builder
Browse
Cache
Client B
Browse
Cache
①RequestContents
②Check cache
and ask the
Production
③Storage Contents
⑧Check cache
and reuse
⑥Check
browser cache
and reuse
⑤Request
Same Contents
⑦RequestContents
Server Cache
• On server machine
• Can share with
others
Browser Cache
• On each client
machine
• Can not share with
others
91. GeoServer Admin 화면 접속
왼쪽 Data 항목 중 Layers 선택
WorldCountries Layer 선택
Publishing 탭 선택
Edit Layer 아래 Response
Cache Headers 체크
Cache Time에 초단위로 컨텐츠
유효기간 604800 (7일) 입력.
60초 * 60분 *24시간 * 7일 =
604800
[Save] 눌러 완료
91
92. GeoServer Admin 화면 접속
왼쪽 Data 항목 중 Layer Preview 선택
demo:WorldCountries Layer의
OpenLayers 선택
지도창이 뜨면 Http 헤더 분석도구로
Response 확인 (Chrome [F12], FireFox
FireBug, IE HttpWatch)
Response Header 부분에 Expires, Cache-
Control: max-age=604800 값이 추가되었
음을 확인
휠로 줌 인, 줌 아웃 반복 별로 빨라지
지 않은 것 같다 ㅠㅠ
지도 우상단의 옵션버튼 클릭
Tiling에서 Tiled 선택
휠로 줌 인, 줌 아웃 반복 이번엔 확실
히 빨라진 것이 보인다.
92
Cache가 되려면 Tiled로
호출하여야만 한다!
93. 9393
• 지도가 나타내는 영역을 일정한 간격의 연속된
사각형 이미지로 미리 만들어 저장소에 저장
• 타일 이미지는 PNG/JPG등 다양한 포맷으로 생성
가능
• 타일영역을 레벨별로 피라미드화 하여 캐시 이미
지 저장
• 레벨별 해상도(resolution), 축척(scale)을 설정하
여 레벨 규칙을 정함
• 일반적으로 전국레벨의 캐시 이미지를 생성하는
데에는 많은 시간적인 자원을 필요로함
• 일부 많이 사용될 것으로 예상되는 지역 또는 많
은 형상들이 집중되어있는 부분을 지정하여 캐
시 설정하여 해결
94.
95.
96. 96
Enable direct integration with GeoServer WMS 옵션을 활성
화 하고, 호출시 Tiled=true 옵션을 추가하면 GWC 사용가능
혹은 일반 WMS 인터페이스가 아닌 GWC 인터페이스를 호출
해야 동작 (일반 WMS인터페이스가
‘http://localhost:8080/geoserver/wms’라면 GWC 인터페이스
는 ‘http://localhost:8080/geoserver/gwc/service/wms’임)
GWC를 통해 서비스된 컨텐츠의 Response Header에는
geowebcache-tile-index 라는 헤더가 추가됨
WMS Tile Client Recommendation 규약을 따르지 않는 요
청은 캐시 안됨
때문에 OpenLayers에서 WMS 레이어 설정시 레이어의 범
위와 타일크기를 정확히 지정해 주어야 함
2.3.x 버전부터 Grid Set을 만드는 UI를 제공하여 국내 좌표
계도 어렵지 않게 이용 가능
var maxExtent = new OpenLayers.Bounds(-20037508, -20037508, 20037508,
20037508),
restrictedExtent = maxExtent.clone(),
maxResolution = 156543.0339;
var options = {
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: "m",
numZoomLevels: 18,
maxResolution: maxResolution,
maxExtent: maxExtent,
restrictedExtent: restrictedExtent
};
map = new OpenLayers.Map('map', options);
97. JVM Setting
512MB 이상의 메모리: -Xmx512m –Xms128m
캐시가 오래 남게 설정: -XX:SoftRefLRUPolicyMSPerMB=36000
영구 객체가 사용할 메모리 확보: -XX:MaxPermSize=128m
병렬 가베지 콜렉션: -XX:+UseParallelGC
OpenGeo Suite로 실행시
opengeo-suite.bat 파일 수정
set VMOPTS=-Xms128m -Xmx512m -XX:MaxPermSize=128m
GeoServer 실행형 실행시
bin/startup.bat 파일 수정
-Xms128m -Xmx512m
GeoServer 서비스 등록시
Wrapper/wrapper.conf 파일 수정
wrapper.java.initmemory=128
wrapper.java.maxmemory=512
Tomcat에서 실행시
Configure Tomcat 기능 사용
97
98. Logging 정책 변경
관리 UI의 global Setting에서 조정할 수 있다.
DEFAULT, VERBOSE, PRODUCTION,
GEOTOOLS_DEVELOPER,
GEOSERVER_DEVELOPER로 정책 변경 가능하다.
PRODUCTION이 가장 적은 정보를 기록하므로
빠르다.
Service Strategy 변경
GeoServer의 web.xml 파일에서 조정 가능하다.
SPEED는 스트리밍만으로 결과를 보내 빠르지만
안정성 떨어진다.
BUFFER는 모든 결과를 메모리에 만든후 서비스
한다.
FILE은 모든 결과를 파일로 만든 후 서비스 한다.
PARTIAL-BUFFER는 BUFFER과 SPEED를 결합한
형태로 빠르고 어느정도 안정성도 있다.
98
99. data_dir 폴더 포함내용
Workspace, Store, Layer, Style 구성
사용자 보안설정, GWC 캐시 파일, 로그 등
data_dir 폴더 이동의 장점
늘어나는 데이터가 System 디스크 소모하는 것을 막음
GeoServer와 관련된 모든 설정을 묶어 관리 및 타 시스템 복사를
통한 병렬 확장 용이
data_dir 이동 방법
Web.xml 파일 수정
<context-param> 중 GEOSERVER_DATA_DIR 항목부분 리마크 풀
고 값 수정
수정 예
<context-param>
<param-name>GEOSERVER_DATA_DIR</param-name>
<param-value>D:geoserver_data_dir</param-value>
</context-param>
99
100. Vector Data
서비스할 좌표계로 소스데이터 미리 변환하라!
GeoServer는 실시간 좌표계 변환도 잘 지원한다.
하지만 실시간 변환은 느릴 수 밖에 없다.
스타일을 이용하여 적당한 정보만 표출되게 제어하라!
스타일 정보를 조정하여 스케일에 따라 적정한 레이어만 보이게 한다.
같은 레이어도 스케일에 따라 적절한 심벌이 부여되게 한다.
피처를 다듬어라!
피처를 정규화(Simplofiy)하여 불필요한 점을 없엔다.
각 스케일에 맞게 정규화된 어러 레이어를 사용하면 효과적이다.
지나치게 넓은 범위의 MBR을 가지는 피처는 적절히 분리한다.
느린 스타일의 사용을 최소화하라!
투명도(Transparecy)의 사용은 기본적으로 2배 이상의 랜더링 시간이 걸
린다.
라벨을 뿌리는 것은 비싼 비용을 각오해야 한다.
라벨에 테두리(Halo)를 주는 것은 더 비산 비용이 필요하다.
100
101. Raster Data
JPEG나 ArcGRID의 사용을 자제하라!
이런 포맷들은 디코딩에 많은 비용이 든다.
가능한 한 인코딩 되지 않은 GeoTiff를 사용하라.
ECW나 JPEG2000와 같은 진보된 웨이블릿 포맷도 바람직하다.
다단계 타일링 된 GeoTiff를 사용하라!
GDAL 툴인 gdaladdo 명령을 이용하면 다단계 타일링된 GeoTiff를 만들
수 있다.
Ex) gdaladdo -r average mytiff.tif 2 4 8 16
가능한 한, 영상을 합쳐라!
여러 장의 영상을 여러 레이어로 서비스 하는 것이 가장 느리다.
여러 장의 영상을 레이어 그룹으로 묶어 서비스 하면 조금(아주조금) 빨
라진다.
한 개의 영상으로 합처 서비스 하면 많이 빨라진다.
하지만 약 4GB 이상의 영상은 보통 GeoServer에 올릴 수 없기에 나눌 수
밖에 없다.
101
102. Output Format Selection
벡터 레이어
png로 요청하는 것이 일반적으로 좋다. 빠르며 크지않고 투명처리가 된다.
png8로 요청시 크기는 더 작아지지만 약간 느리고 색이 이상해질 수 있다.
Gif는 png8과 유사하지만, 브라우저에 따라 투명처리가 안되는 경우가 있다.
Jpeg는 느리고 투명처리 안되기에 비권장이다.
위성영상/항공사진
Jpeg가 용량이 작아 일반적으로 좋다.
Jpeg가 인코딩이 느린 것은 캐시로 해결 가능하다.
Null value 부분을 투명처리 하려면 PNG로 요청할 수 밖에 없다.
안티알리어싱 비활성화
빠른 속도를 원한다면 요청시 “format option”에서 안티알리어싱을 끌 수 있다.
&format_options=antialias:none
“Web safe” palette 이용
이 옵션은 png8과 gif 포멧 이용시만 유효하다.
&palette:safe
102
제3차시 GeoServer 입니다.이번 차시에 학습할 내용은 GeoServer를 설치하고 Shapefile, Geotiff, PostGIS 등과 연동하여 서비스하는 과정입니다.
학습은 다음의 순서로 진행합니다.
먼저 GeoServer의 개요, 주요기능 및 특징에 대해 알아보도록 하겠습니다.
고객님. 매번 비슷한거 계속 반복해서 많이 당황하셨지요?
오늘 강의할 GeoServer 라는 것이 도대체 무엇일까요?
한마디로 정의하면 Geospatial Gateway라 할 수 있는데… 어렵지요.
좀 더 풀어서 설명하면,
다양한 공간 데이터를, 인터넷 GIS 인터페이스로, 공급하는 서버 프로그램이라 정의 할 수 있습니다.
아직도 그다지 쉽지 않지요.
그림으로 다시 보겠습니다.
지오서버의 가장 중요한 역할은 내 컴퓨터에 있는 공간자료를 인터넷에 서비스 한다는 것입니다.
앞의 정의를 다시 보지요. 다양한 공간 데이터를 인터넷…
다양한 공간데이터 라는 것은 Vector데이터와 Raster 데이터를 의미하는데
벡터는 우리가 많이 사용하는 Shape과 거의 대부분의 공간자료를 지원하는 DBMS와 다 연결 가능합니다.
심지어 국내에서 개발된 티베로, 카이로스 등의 DBMS도 역시 GeoServer와 연결해서 서비스 가능합니다.
레스터는 위성사진과 항공사진을 담는데 주로 사용되는 GeoTiff, IMG 등의 자료와 Jpeg등의 일반 이미지도 다 가능하고요
ArcGrid, DTED 등 ArcGIS에서 사용 가능한 레스터 자료들은 다 사용 가능하다 생각하시면 됩니다.
그리고 인터넷 GIS 인터페이스 라는 것은 WMS, WFS, WCS 등을 의미하는데, 웹브라우저로도 받을 수 있고
인터넷만 연결되면 여러 가지 GIS 프로그램들이 끌어다 쓸 수 있도록 자료를 제공해 주는 것을 말하지요.
-전세계 위성사진 (나사 블루마블)
-한반도 평균 야간 지역 (나사)
-전세계 화제 (나사)
-실시간 교통정보 (국가교통정보센터)
-OpenLayers에서 제공하는 WFS 이용 사진검색
-GML로 데이터 받은 결과
-JSON으로 데이터 받은 결과
GeoServer의 주요 기능 및 특징은 다음과 같습니다.
첫째, OGC 웹서비스인 WMS, WFS, WCS 표준을 구현하고 인증받은 제품이며 WPS를 Extension으로 지원하고 있습니다.
둘째, 웹 기반의 손쉬운 설정 도구를 지원합니다.
셋째, PostGIS, Shapefile, ArcSDE, DB2, Oracle, MySQL 등 오프소스에서부터 상용 RDBMS에 이르기까지 다양한 데이터 소스를 지원합니다.
넷째, GeoTIFF, GTOPO30, ArcGrid, World Images, Image Mosiacs, Image Pyramids 등 래스터 포맷을 Native Java로 지원하며, GDAL ImageIO Extension 을 사용하면 MrSID, ECW, JPEG2000, DTED, Erdas Imagine, NITF 등 GDAL이 지원하는 모든 래스터 포맷을 사용할 수 있습니다.
다섯째, On the fly 좌표변환(reprojection)을 지원합니다.
여섯째, JPEG, GIF, PNG, PDF, SVG, KML, [GeoRSS] 등의 Web Map output을 지원합니다.
일곱째, 지도 이미지 캐시 엔진인 GeoWebCache와 통합되어 있습니다.
여덟째, WMS를 이용하면 Google Earth를 사용하여 벡터, 래스터 등을 동적으로 시각화할 수 있습니다.
GeoServer는 3가지 버전이 있습니다.
우리는 이번에 openGeo Suite 커뮤니티 버전으로 강의를 진행합니다.
GeoServer에 대한 판매사의 기술지원과 보증을 받고 싶으신 분은 상용버전을 사용하십시오.
GeoServer 만을 설치하고 싶으신 분은 공개버전을 받으시면 됩니다.
다운로드 한 OpenGeoSuite-ce-2.4.4.exe 파일을 더블 클릭하여 설치를 시작합니다.
OpenGeo Suite의 설치 마법사 윈도구가 나타나면 Next버튼을 눌러 라이선스를 확인합니다.
OpenGeo Suite은 GNU GPL 라이선스 하에 배포됩니다. 찬찬히 라이선스 정보를 읽은 후 I Agree 버튼을 눌러 다음으로 이동합니다.
윈도우OS에서 서비스로 등록한 경우 제어판의 서비스에서 시작과 종료를 할 수 있습니다.
OpenGeo Suite의 시작과 종료는 Dashboard 외에 윈도우 시작메뉴의 OpenGeo Suite 프로그램 그룹에 등록된 Start OpenGeo Suite, Stop OpenGeo Suite 메뉴를 이용하거나 명령 프롬프트를 사용할 수 있습니다.
명령 프롬프트를 사용하는 경우에는 명령 프롬프트를 실행 후 설치 디렉터리(C:Program FilesOpenGeoOpenGeo Suite)로 이동하여 다음의 명령을 실행하면 됩니다.
시작하기
> opengeo-suite start
종료하기:
> opengeo-suite stop
GeoServer는 웹 기반 관리 인터페이스를 포함하고 있으며 대부분의 설정을 이 인터페이스를 통해 수행할 수 있습니다.
이제 GeoServer의 관리도구를 실행해 보도록 하겠습니다.
Dashboard의 Components 패널에서 GeoServer의 Manage 버튼을 누릅니다.
또는 웹 브라우저를 실행하고 다음의 URL을 직접 입력해도 됩니다.
http://localhost:8080/geoserver/
로그인 후에는 그림과 같이 더 많은 옵션들이 표시됩니다.
그림을 보면 현재 서비스중인 WMS, WFS, WCS 지원버전이 오른쪽에 표시되고, 화면 중앙에는 현재 서비스중인 Layer(레이어) 및 workspace(워크스페이스), store(스토어) 정보가 표시됩니다.
왼쪽 링크 메뉴의 개략적인 내용은 다음과 같습니다.
▷ About & Status 섹션
GseServer의 진단과 환경을 설정할 수 있으며 특히 디버깅에 유용합니다.
▷ Data
Workspace, Stores, Layers, Layer Groups, Styles 등을 설정할 수 있으며, 각각의 하위 섹션은 비슷한 설정방법을 따르고 있습니다.
▷ Services
GeoServer 에서 서비스 가능한 WMS, WFS, WCS 서비스 환경 및 상태(시작/멈춤 등)나 고급 서비스 옵션을 설정할 수 있습니다.
▷ Settings
GeoWebCache 등의 GeoServer 고급 환경을 설정합니다.
▷ Security
사용자나 서비스에 대한 보안정책을 설정합니다.
▷ Demos
GeoServer 에서 제공하는 SRS(Spatial Reference System)정보 및 폼 기반의 OGC WMS, WFS, WCS Operation 에 대한 request 결과물을 확인 할 수 있습니다.
각각의 서브메뉴들을 눌러 둘러보시기 바랍니다. 특히 Demos 메뉴는 처음 접하는 사용자에게 많은 도움이 됩니다.
로그인 후에는 그림과 같이 더 많은 옵션들이 표시됩니다.
그림을 보면 현재 서비스중인 WMS, WFS, WCS 지원버전이 오른쪽에 표시되고, 화면 중앙에는 현재 서비스중인 Layer(레이어) 및 workspace(워크스페이스), store(스토어) 정보가 표시됩니다.
왼쪽 링크 메뉴의 개략적인 내용은 다음과 같습니다.
▷ About & Status 섹션
GseServer의 진단과 환경을 설정할 수 있으며 특히 디버깅에 유용합니다.
▷ Data
Workspace, Stores, Layers, Layer Groups, Styles 등을 설정할 수 있으며, 각각의 하위 섹션은 비슷한 설정방법을 따르고 있습니다.
▷ Services
GeoServer 에서 서비스 가능한 WMS, WFS, WCS 서비스 환경 및 상태(시작/멈춤 등)나 고급 서비스 옵션을 설정할 수 있습니다.
▷ Settings
GeoWebCache 등의 GeoServer 고급 환경을 설정합니다.
▷ Security
사용자나 서비스에 대한 보안정책을 설정합니다.
▷ Demos
GeoServer 에서 제공하는 SRS(Spatial Reference System)정보 및 폼 기반의 OGC WMS, WFS, WCS Operation 에 대한 request 결과물을 확인 할 수 있습니다.
각각의 서브메뉴들을 눌러 둘러보시기 바랍니다. 특히 Demos 메뉴는 처음 접하는 사용자에게 많은 도움이 됩니다.
여기에서는 이미 등록된 샘플데이터를 GeoServer에 내장된 OpenLayers를 이용해서 미리보기해 보도록 하겠습니다.
Layer Preview 페이지에서는 OpenLayers를 이용하여 웹 브라우저에서 직접 지도를 확인하거나 Google Earth버튼을 눌러 KML 파일로 내보내기하여 Google Earth에서도 레이어를 확인할 수 있습니다.
OpenGeo Suite를 사용하는 경우에는 Styler를 웹브라우저상에 구동시켜 심볼을 변경할 수도 있습니다.
우선 그림과 같이 Layer Preview 링크 메뉴를 클릭한 후 USA-Population 레이어의 OpenLayers 링크를 클릭합니다.
그림과 같이 미리 정의된 심볼 스타일로 USA-Population 레이어를 확인할 수 있습니다.
이 지도는 GeoServer의 Web Map Service (WMS) 를 통해 서비스됩니다. 지도상에 마우스를 클릭하면 속성정보도 확인할 수 있습니다.
확장버튼을 눌러 지도의 크기나 이미지 포맷 등의 옵션을 변경해 보시기 바랍니다.
GeoServer는 명령프롬프트와 같은 커멘드 환경 없이도 로그를 확인할 수 있습니다.
이는 운영상 문제가 생겼을 때 아주 유용하며 GeoServer Logs 링크 메뉴를 클릭하면 됩니다.
익숙해 질 수 있도록 링크 메뉴를 하나씩 확인해 보기 바랍니다.
데이터를 Loading하고 Publishing하는 것은 GeoServer의 핵심 기능입니다.
이 장에서는 Shapefile, GeoTiff, PostGIS로부터 데이터를 불러와서 서비스를 발행(Publishing)하는 과정을 설명합니다.
또한 여러 레이어를 하나의 레이어처럼 서비스할 수 있는 레이어 그룹을 만드는 과정을 포함합니다.
데이터 로딩을 위한 첫번째 단계는 Workspace를 생성하는 것입니다.
Workspace는 가상의 컨테이너 역할을 하며 다양한 데이터 소스들로부터 여러 레이어를 담을 수 있으며 Workspace 내에서 레이어 이름은 유일해야 합니다. 또한 GeoServer에서는 여러 Workspace를 생성할 수 있으며 이 이름 또한 유일해야 합니다.
GeoServer Web Administration 페이지에서 그림과 같이 Data 메뉴 아래의 Workspace를 클릭 후 Add new Workspace를 클릭합니다.
Workspace는 Name(때로는 namespace prefix라 부름)과 Namespace URI로 구성됩니다.
그림에서와 같이 다음 항목을 입력합니다.
Name: seoul
Namespace URI: http://geoserver.org/seoul
Default workspace: 체크
이제 Submit 버튼을 눌러 Workspace를 생성합니다.
Workspace가 생성된 화면입니다.
이제 다운로드 한 샘플 데이터를 이 Workspace에 로딩할 준비가 완료되었습니다.
Shapefile을 GeoServer에 로딩하는 것은 가장 간단한 방법이며 GeoServer에서는 단일 Shapefile 또는 Shapefile 폴더를 Data Store로 사용할 수 있습니다. 여기에서는 여러 Shapefile을 사용할 수 있는 Directory of spatial files(shapefiles)를 사용하는 방법을 설명합니다.
우선 Shapefile Data Store를 생성해야 합니다.
GeoServer Web Administration 페이지에서 그림과 같이 Data 메뉴 아래의 Stores 링크를 클릭한 후 Add new Store 링크를 클릭합니다.
New data source 페이지에서 Vector Data Sources 아래의 Directory of spatial files(shapefiles) 링크를 클릭합니다.
Shapefile을 GeoServer에 로딩하는 것은 가장 간단한 방법이며 GeoServer에서는 단일 Shapefile 또는 Shapefile 폴더를 Data Store로 사용할 수 있습니다. 여기에서는 여러 Shapefile을 사용할 수 있는 Directory of spatial files(shapefiles)를 사용하는 방법을 설명합니다.
우선 Shapefile Data Store를 생성해야 합니다.
GeoServer Web Administration 페이지에서 그림과 같이 Data 메뉴 아래의 Stores 링크를 클릭한 후 Add new Store 링크를 클릭합니다.
New data source 페이지에서 Vector Data Sources 아래의 Directory of spatial files(shapefiles) 링크를 클릭합니다.
New Vector Data Source 페이지는 그림과 같습니다.
페이지에서 정보를 다음과 같이 입력합니다.
Connection Parameters 탭에서 그림과 같이 [Browse…] 버튼을 눌러 로컬 디스크를 직접 탐색할 수 있습니다.
DBF 캐릭터셋(charset)은 반드시 EUC-KR을 선택해야 합니다. 그렇지 않으면 한글이 포함된 속성정보는 제대로 표시되지 않습니다.
Workspace: seoul
Data Source Name: seoul
Enabled: Checked
Description: seoul 주제도
Connection Parameters: file:/C:/OpenGeoSuite/data/seoul/
DBF charset: EUC-KR
Create spatial index if missing/outdated: Checked
Use memory mapped buffers: Unchecked
Cache and reuse memory maps: Checked
정보 입력을 마친 후 [Save]버튼을 눌러 Store를 등록합니다.
이제 seoul 폴더에 포함된 모든 Shapefile 목록이 표시됩니다.
GeoServer Web Administration 페이지에서 그림과 같이 Data 메뉴 아래의 Layers 링크를 클릭한 후 Add new Resouce 링크를 클릭합니다.
New Layer 페이지가 표시되면 Add layer from 콤보박스에서 seoul:seoul(Workspace:Store 이름)을 선택합니다.
그림과 같이 seoul Data Store에 포함된 모든 레이어 목록이 표시됩니다.
현재까지는 데이터가 로딩만 되었고 서비스 상태는 아닙니다. 레이어가 서비스 상태이면 Publish again이라는 상태로 변경이 됩니다.
첫 레이어(admin_emd)에서 Publish 링크를 클릭합니다.
이 그림은 서비스 Publishing 전 레이어 configuration 페이지입니다. 많은 설정 항목이 있지만 지금 당장 전체 정보를 다 입력할 필요는 없으며, 나중에 다시 이 설정정보를 변경할 것입니다.
우선 Declared SRS 를 EPSG:2097로, SRS handling을 Force declared로 설정합니다.
Bounding Boxes 섹션에서 Compute from data, Compute from native bounds 링크를 차례로 클릭합니다.
이 과정이 끝나면 Save 버튼을 눌러 레이어를 Publishing합니다.
이제 Layer Preview 페이지로 이동하면 방금 Publishing한 seoul:admin_emd 레이어를 미리보기 할 수 있습니다.
이 레이어에 대한 심볼설정(Styling)은 다음 장에서 설명하도록 하겠습니다.
이제 Layer Preview 페이지로 이동하면 방금 Publishing한 seoul:admin_emd 레이어를 미리보기 할 수 있습니다.
이 레이어에 대한 심볼설정(Styling)은 다음 장에서 설명하도록 하겠습니다.
이제 Layer Preview 페이지로 이동하면 방금 Publishing한 seoul:admin_emd 레이어를 미리보기 할 수 있습니다.
이 레이어에 대한 심볼설정(Styling)은 다음 장에서 설명하도록 하겠습니다.
GeoServer에서는 Shapefile과 같은 벡터 데이터 외에 래스터(Raster) 데이터도 Publishing 가능합니다.
래스터 데이터는 DEM이나 항공영상 등 좌표정보가 입력된(georeferenced) 이미지를 포함합니다.
GeoServer Web Administration page에서 그림과 같이 Stores를 클릭 후 Add new Store링크를 클릭합니다.
Raster Data Sources 페이지에서 GeoTIFF를 클릭합니다.
Add Raster Data Source 페이지에서 다음의 정보를 입력합니다.
Connection Parameters 섹션에서는 Browse… 버튼을 눌러 C:OpenGeoSuitedataseoul_raster 폴더의 landsat.tif 파일을 선택합니다.
Workspace: seoul
Data Source Name: landsat
Enabled: Checked
Description: 레이어 메타정보를 입력
Connection Parameters: file://C:OpenGeoSuitedataseoul_rasterlandsatf.tif
입력이 완료되면 Save 버튼을 클릭하여 Store를 생성합니다.
Add Raster Data Source 페이지에서 다음의 정보를 입력합니다.
Connection Parameters 섹션에서는 Browse… 버튼을 눌러 C:OpenGeoSuitedataseoul_raster 폴더의 landsat.tif 파일을 선택합니다.
Workspace: seoul
Data Source Name: landsat
Enabled: Checked
Description: 레이어 메타정보를 입력
Connection Parameters: file://C:OpenGeoSuitedataseoul_rasterlandsatf.tif
입력이 완료되면 Save 버튼을 클릭하여 Store를 생성합니다.
New Layer 페이지가 표시되면 Shapefile 서비스 Publishing 과정과 같이 설정하면 됩니다.
우선 Declared SRS 를 EPSG:2097로, SRS handling을 Force declared로 설정합니다.
Bounding Boxes 섹션에서 Compute from data, Compute from native bounds 링크를 차례로 클릭합니다.
이 과정이 끝나면 Save 버튼을 눌러 레이어를 Publishing합니다.
이제 Layer Preview 페이지로 이동하면 방금 Publishing한 seoul:landsat 레이어를 미리보기 할 수 있습니다.
이 레이어에 대한 심볼설정(Styling)은 다음 장에서 설명하도록 하겠습니다.
이번에는 지난 차시에서 배운 PostGIS 데이터베이스를 이용하여 GeoServer에서 Publishing하는 과정입니다.
GeoServer Web Administration page에서 그림과 같이 Stores를 클릭 후 Add new Store 링크를 클릭합니다.
New data source 페이지로 전환되면 Vector Data Sources 탭의 PostGIS를 클릭합니다.
New Vector Data Source 페이지에서 다음의 정보를 입력합니다.
Data Source Name: postgis_seoul
Enabled: Checked
Description: postgis 메타데이타 입력
Connection Parameters:
Host: localhost
Port: 54321
Database: seoul
Schema: public
User: postgres
Password: postgis
설정이 완료되면 Save 버튼을 눌러 PostGIS Data Store를 생성합니다. 이후 PostGIS 레이어에 대한 서비스 Publishing은 Shapefile Publishing 과정과 동일합니다.
New Vector Data Source 페이지에서 다음의 정보를 입력합니다.
Data Source Name: postgis_seoul
Enabled: Checked
Description: postgis 메타데이타 입력
Connection Parameters:
Host: localhost
Port: 54321
Database: seoul
Schema: public
User: postgres
Password: postgis
설정이 완료되면 Save 버튼을 눌러 PostGIS Data Store를 생성합니다. 이후 PostGIS 레이어에 대한 서비스 Publishing은 Shapefile Publishing 과정과 동일합니다.
다양한 스타일링은 지오서버의 강력한 기능 중 하나입니다.
지오서버는 SLD를 이용하여 상업적인 서비스가 가능한 수준의 심벌링을 제공합니다.
GeoServer는 지리(geospatial) 데이터를 이미지로 렌더링할 수 있으며 생성된 이미지는 브라우저에서 볼 수 있습니다.
이 과정이 바로 WMS(Web Map Service)의 핵심입니다.
그러나 지리 데이터 자체에는 시각화를 위한 어떤 정보도 포함되어 있지 않습니다. 따라서 시각화를 위해서는 스타일의 형태로 추가적인 정보가 제공되어야 합니다.
GeoServer는 지리데이터를 표현하기 위해 Styled Layer Descriptor (SLD) 마크업 언어를 사용합니다.
SLD는 심볼, 필터, 라벨, 최대/최소축척 등을 정의할 수 있으며 XML 기반의 OGC 표준 스펙입니다.
OGC SLD 표준 스펙은 다음의 URL에서 확인이 가능합니다.
http://www.opengeospatial.org/standards/sld
이 장에서는 먼저 기본 SLD 의 구조와 문법을 알아보도록 하겠습니다.
SLD는 Header, FeatureTypeStyles, Rules, Symbolizers의 계층구조로 이루어져 있습니다.
Header는 XML 네임스페이스(namepaces)에 대한 메타데이터를 담고 있습니다.
FeatureTypeStyle은 스타일링 규칙(styling rules)의 집합이며 FeatureTypeStyle의 순서대로 렌더링을 수행합니다.
Rule은 단일 스타일 지시자로 구성되며 필터 조건 및 축척별 데이터 보이기/감추기를 정의할 수 있습니다.
Symbolizer는 Feature에 대한 스타일 정의와 맵 위에 Feature를 표현하는 방법을 기술하여 모양을 정의하고 색상이나 투명도 같은 그래픽 요소를 설정하는 가장 중요한 요소라 할 수 있습니다.
SLD에는 하나 이상의 FeatureTypeStyle을, FeatureTypeStyle은 하나 이상의 Rule을, Rule은 하나 이상의 Symbolizer를 포함할 수 있습니다.
Symbolizer는 5가지 유형이 있습니다. 각 역할은 다음과 같습니다.
PointSymbolizer는 Point를 Graphic Symbol로 표현하기 위해 사용됩니다.
LineSymbolizer는 Line의 색상, 굵기, 투명도 등을 표현하기 위해 사용됩니다.
PolygonSymbolizer는 Polygon의 외곽선 및 내부영역을 채우는 속성이 있어 Polygon을 그리는데 사용됩니다.
RasterSymbolizer는 DEM과 같은 raster/matrix-coverage data를 표현하는 방법을 정의하기 위해 사용됩니다.
TextSymbolizer는 레이어의 필드 속성값을 사용하여 Label을 표현하기 위해 사용됩니다.
다음은 각각의 포인트 데이터에 대해서 간단한 6픽셀(6 size)의 빨강색(#FF0000) 원(circle)을 그리는 SLD 예제입니다.
첫 11 라인은 XML 네임 스페이스 정보를 포함한 헤더부분으로 SLD의 이름과 제목을 포함합니다.
실제 스타일링의 정보는 <FeatureTypeStyle> 태그(12-26 라인)에서 설정합니다.
FeatureTypeStyle 태그는 하나의 <Rule>(13-25 라인)을 가지고 있으며 <Rule>은 하나의 <PointSymbolizer>(14-24라인)를 포함합니다.
<PointSymbolizer>는 “well known name”이라는 Circle 그래픽 마크(17 라인), 원의 색상을 설정하는 <Fill> 파라미터에 RED(#FF0000, RGB), 원의 크기를 설정하는 <Size> 파라미터에 6(6 픽셀)을 설정했습니다.
이 SLD를 이용하여 GeoServer에서 그려진 결과는 오른쪽 그림과 같습니다.
다음은 속성 기반 스타일링의 예입니다.
각 피쳐의 속성값 범위에 따라 포인트 크기를 달리하는 세 가지의 Rule이 포함되어 있으며 각각의 Rule은 다음과 같은 속성조건(Filter)를 포함하고 있습니다.
피쳐의 Pop이라는 필드값에서
- 50000 미만(<ogc:PropertyIsLessThan> 태그)이면 파랑색 원의 크기가 8
50000이상(<ogc:PropertyIsGreaterThanOrEqualTo> 태그) 100000미만(<ogc:PropertyIsLessThan> 태그)이면 파랑색 원의 크기 12
100000 이상(<ogc:PropertyIsGreaterThanOrEqualTo> 태그) 이면 파랑색 원의 크기 16
으로 그린다는 의미입니다.
GeoServer 문서(http://docs.geoserver.org)는 SLD Cookbook이라고 하는 챕터가 있어 SLD를 배울 수 있도록 지원합니다.
다음의 URL에 접속하여 다양한 SLD 활용법을 익힐 수 있습니다.
http://docs.geoserver.org/stable/en/user/styling/sld-cookbook/index.html
GeoServer에서 Publishing된 모든 레이어는 이 레이어와 연결된 스타일(Style)을 가집니다.
Shapefile이나 GeoTiff를 하나씩 로딩하는 경우에 GeoServer는 그 데이터의 Geometry 유형 등의 특성을 판단하여 기본 스타일을 지정하여 Publishing합니다.
만약 OpenGeo Suite에서 제공하는 Import Data 기능을 이용할 경우에는 각각의 레이어와 같은 이름의 스타일을 따로 생성하여 Publishing합니다.
현재 등록된 레이어의 스타일을 확인하기 위해서는 다음의 과정을 거치면 됩니다.
Layer Preview 링크 메뉴를 클릭한 후 seoul:admin_sgg 레이어를 선택하고 OpenLayers 링크를 클릭하면 그림과 같이 admin_sgg 레이어에 기본값으로 적용된 스타일을 시각적으로 확인할 수 있습니다.
현재 등록된 레이어의 스타일을 확인하거나 변경하기 위해서는 다음의 과정을 거치면 됩니다.
Layers 링크 메뉴를 클릭한 후 Layers 페이지에서 변경하고자 하는 레이어(seoul:admin_sgg)를 선택 후 Layer Name을 클릭한다.
이제 레이어 configuration 페이지로 돌아왔습니다.
이 페이지는 Data와 Publishing 2개의 탭으로 구성되어 있습니다.
Publishing 탭을 클릭한 후 그림과 같이 Default Style 항목에 설정된 스타일을 확인합니다.
여기에서는 polygon이 기본값입니다.
이제 Styles 링크 메뉴를 클릭하여 Styles 페이지로 이동합니다.
앞에서 확인한 polygon이라는 스타일을 클릭하면 그림과 같이 웹 기반의 텍스트 편집기가 열리고 이 스타일에서 정의된 SLD 코드를 확인할 수 있습니다.
여기에서는 polygon 스타일에서 폴리곤의 색상을 파랑색(blue, #0000ff)으로 변경해 보도록 하겠습니다.
#0000ff 코드는 Blue 색상의 RGB(0, 0, 255)값을 Hex Color 코드로 변환한 값입니다.
그림과 같이 텍스트 편집기에서 <sld:CssParameter name="fill“>#0000ff</sld:CssParameter> 항목을 수정합니다.
하단의 Validate 버튼을 눌러 오류 유무를 확인합니다.
오류가 없을 경우 Submit 버튼을 눌러 스타일을 갱신한 후 Layer Preview 메뉴로 이동하여 seoul:admin_sgg 레이어를 OpenLayers를 통해 확인합니다.
* 주의사항
위에서 변경한 polygon 스타일은 이와 연결된 모든 레이어에 적용됩니다. 따라서 실제 서비스에 적용하기 위해서는 각 레이어별로 스타일을 생성해서 적용해야 합니다.
만약 텍스트 파일로 SLD를 저장하고 있을 경우 GeoServer는 쉽게 업로드 할 수 있습니다.
우선 샘플데이터 폴더의 C:ProgramDataBoundlessOpenGeogeoserverstyles 폴더를 확인합니다.
Styles 링크 메뉴를 클릭하여 Styles 페이지의 Add a new style 링크를 클릭합니다.
빈 텍스트 편집기가 열리면 페이지의 하단부에 있는 파일 선택 버튼을 눌러 sld 폴더의 population_density.sld를 선택합니다.
이제 Upload… 버튼을 눌러 서버에 스타일을 불러옵니다.
텍스트 편집기에 SLD가 표시되고 SLD 이름이 스타일 이름으로 자동 등록됩니다.
이 SLD는 서울시 읍면동(seoul:admin_emd) 레이어의 인구밀도를 단계구분도로 정의한 스타일입니다.
Validate 버튼을 눌러 오류를 확인 후 Submit 버튼을 클릭하여 GeoServer에 새로운 스타일을 등록합니다.
나머지 SLD에 대해서도 C:OpenGeoSuitesld 에 포함된 모든 레이어를 각가 스타일로 등록합니다.
스타일을 모두 등록 완료했다면 이제 각 레이어별로 스타일을 할당해 주는 일만 남았습니다.
Layers 링크 메뉴를 클릭한 후 Layers 페이지에서 seoul Workspace에 포함된 레이어를 하나씩 선택하여 레이어 configuration 페이지로 이동한 후 Publishing 탭의 Style을 레이어와 일치하도록 하나씩 변경합니다.
이 그림은 seoul:admin_emd 레이어에 population_density 스타일을 적용한 후 미리보기 한 결과입니다.
New Layer 페이지가 표시되면 Shapefile 서비스 Publishing 과정과 같이 설정하면 됩니다.
우선 Declared SRS 를 EPSG:2097로, SRS handling을 Force declared로 설정합니다.
Bounding Boxes 섹션에서 Compute from data, Compute from native bounds 링크를 차례로 클릭합니다.
이 과정이 끝나면 Save 버튼을 눌러 레이어를 Publishing합니다.
Add Raster Data Source 페이지에서 다음의 정보를 입력합니다.
Connection Parameters 섹션에서는 Browse… 버튼을 눌러 C:OpenGeoSuitedataseoul_raster 폴더의 shadedrelief.tif 파일을 선택합니다.
Workspace: seoul
Data Source Name: shadedrelief
Enabled: Checked
Description: 레이어 메타정보를 입력
Connection Parameters: file://C:OpenGeoSuitedataseoul_rastershadedrelief.tif
입력이 완료되면 Save 버튼을 클릭하여 Store를 생성합니다.
New Layer 페이지가 표시되면 Shapefile 서비스 Publishing 과정과 같이 설정하면 됩니다.
우선 Declared SRS 를 EPSG:2097로, SRS handling을 Force declared로 설정합니다.
Bounding Boxes 섹션에서 Compute from data, Compute from native bounds 링크를 차례로 클릭합니다.
이 과정이 끝나면 Save 버튼을 눌러 레이어를 Publishing합니다.
이제 Layer Preview 페이지로 이동하면 방금 Publishing한 seoul:shadedrelief 레이어를 미리보기 할 수 있습니다.
이 레이어에 대한 심볼설정(Styling)은 다음 장에서 설명하도록 하겠습니다.
아름다운 지도에서는 글씨가 차지하는 역할이 참 큽니다.
아름다운 지도에서는 글씨가 차지하는 역할이 참 큽니다.
아름다운 지도에서는 글씨가 차지하는 역할이 참 큽니다.
아름다운 지도에서는 글씨가 차지하는 역할이 참 큽니다.
아름다운 지도에서는 글씨가 차지하는 역할이 참 큽니다.
OpenGeo Suite은 GeoExplorer 외에도 Styler Extension을 이용하여 스타일 편집이 가능합니다.
가장 간단한 방법은 Layer Preview 페이지의 Styler를 클릭하여 스타일 브라우저를 이용하면 됩니다.
단. 편집을 위해서 인증 정보가 필요하며 이는 GeoServer의 admin 계정(admin/geoserver)과 동일하게 입력하면 됩니다.
스타일 편집기는 GeoExplorer와 같은 UI를 제공합니다.
아름다운 지도에서는 글씨가 차지하는 역할이 참 큽니다.
Google Earth(구글 어스)는 강력한 3D 지도 뷰어입니다.
GeoServer는 GeoServer에서 WMS로 서비스되는 모든 레이어가 Google Earth에 로드 될 수 있도록 기본 KML 출력을 제공합니다.
또한, Google Earth를 통해 필터, 범례, 그리고 extrudes가 가능한 추가 시각화 기능이 있습니다.
Google Earth에서 GeoServer의 레이어를 시각화하는 방법은 2가지가 있습니다.
첫째, WMS의 Output으로 출력되는 KML 을 직접 Google Earth에서 불러오는 방법이고, 둘째는 Google Earth의 Network Link를 통해서 KML Stream을 연결하여 사용하는 방법입니다.
우선 Layer Preview 링크 메뉴에서 seoul:firestation 레이어를 선택하고 Google Earth 링크를 클릭합니다.
다운로드한 KML(KMZ) 파일을 파일로 저장하거나 Google Earth에서 직접 열면 됩니다.
Google Earth에서 seoul:firestation 레이어를 불러옵니다.
포인트 레이어의 경우 Google Earth에서 기본 플레이스마크(Placemark)로 표시됩니다.
또한 지도상의 한 지점을 클릭했을 경우 GeoServer 템플릿에서 미리 정의된 HTML 포맷에 따라 속성확인이 가능합니다.
이번에는 Network Link 기능을 이용해서 Google Earth에서 GeoServer KML 스트림을 연결해 보도록 하겠습니다.
GeoServer KML 스트림을 사용하면 GeoServer와 동적으로 연결되어 있기 때문에 GeoServer에서 정보를 업데이트하면 Google Earth에서도 바로 반영이 됩니다.
Google Earth를 실행 후 추가 메뉴의 네트워크 링크 메뉴를 실행합니다.
네트워크 링크 윈도우에서 다음을 입력합니다.
이름: 서울시 읍면동
링크: http://localhost:8080/geoserver/wms/kml?layers=seoul:admin_emd
확인 버튼을 누르면 그림과 같이 서울시 읍면동 레이어가 표시됩니다.
주제도를 지도에서 탐색하는 경우 범례는 많은 도움이 됩니다. 이번에는 Google Earth 지도상에 범례를 표시해 보도록 하겠습니다.
우선 내 장소 목록에서 앞에서 추가한 서울시 읍면동을 선택한 후 오른쪽 마우스를 눌러 속성을 수정합니다.
네트워크 링크 윈도우의 링크 URL에서 다음을 추가로 입력합니다.
링크: http://localhost:8080/geoserver/wms/kml?layers=seoul:admin_emd&legend=true
확인 버튼을 누르면 그림과 같이 지도에 범례가 표시됩니다.
레전드 기능은 많이 필요하면서도 구현하기 힘든 기능 중 하나입니다.
보통 이미지로 만들어 많이 쓰는데 이렇게 하면 자료의 표현이 바뀌어도 범례가 바뀌지 않는 문제가 있습니다.
GetLegendGraphic을 이용한 범례기능의 사용을 적극 추천합니다.
GeoServer는 EPSG에 정의된 모든 좌표계를 지원합니다.
더욱이 이를 실시간으로 변환하여 제공합니다.
EPSG 코드와 해당 좌표계에서의 범위값을 알면 변환된 지도를 만들 수 있습니다.
URL의 시작이 http://으로 시작하고 wms 로 끝남에 주의하세요.
URL의 시작이 http://으로 시작하고 wfs 로 끝남에 주의하세요.
Google Earth(구글 어스)는 강력한 3D 지도 뷰어입니다.
GeoServer는 GeoServer에서 WMS로 서비스되는 모든 레이어가 Google Earth에 로드 될 수 있도록 기본 KML 출력을 제공합니다.
또한, Google Earth를 통해 필터, 범례, 그리고 extrudes가 가능한 추가 시각화 기능이 있습니다.