SlideShare une entreprise Scribd logo
1  sur  111
㈜지앤티솔루션
김성건 (sgkim@gntsolution.com)
목차
1. GeoServer 개요
2. GeoServer 설치
3. Data Publishig
4. Map Styling
5. Styling 고급
6. 재미있는 기능들
7. 성능향상 전략
2
1. GeoServer 개요
 1.1 GeoServer란?
 1.2 GeoServer가 하는 일

 1.3 WMS 인터페이스
 1.4 WFS 인터페이스
 1.5 WCS 인터페이스
 1.6 GeoServer의 주요 특징
 1.7 지원 포맷 일람
3
다양한 공간 Data를
인터넷 GIS 인터페이스로

공급하는 서버 프로그램
4
GeoServer

Raster
Source

Formatted
Map

png, jpeg, gif

WFS

Vector
Source

WMS

Feature
Object

GML, GeoJSON

WCS

Coverage
Data

ArcGrid, GeoTif
f, bmp

Vector Source: Shape, GeoDB
Raster Source: GeoTiff, IMG, ArcGrid
5
 Web Map Service

-

OGC가 정의한 지도이미지 인터페이스 표준
요청방법과 응답형식을 정의
지도요청, 카타로그조회, 속성조회 가능
Http로 요청하고 이미지로 받음
필수: GetCapabilities , GetMap
옵션: GetFeatureInfo, DescribeLayer,
GetLegendGraphic

* OGC : Open Geospatial Consortium

6
 Web Map Service

-

http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.1.1&SERVICE=WMS&
REQUEST=GetMap&LAYERS=BlueMarbleNG&FORMAT=image/jpeg&SRS=
EPSG:4326&BBOX=-180,-90,180,90&WIDTH=1000&HEIGHT=500
-

http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.1.1&SERVICE=WMS&
REQUEST=GetMap&LAYERS=MOD_LSTN_CLIM_M&FORMAT=image/jpeg&
SRS=EPSG:4326&BBOX=124,34,131,40&&WIDTH=600&HEIGHT=600
http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.1.1&SERVICE=WMS&
REQUEST=GetMap&LAYERS=MOD14A1_M_FIRE&FORMAT=image/jpeg&S
RS=EPSG:4326&BBOX=-180,-90,180,90&&WIDTH=1000&HEIGHT=500

-

http://61.43.91.120:8080/geoserver/wms?LAYERS=STD_LINK&SRS=EPSG%3
A4326&TILED=false&ISBASELAYER=false&FORMAT=image%2Fgif&TRANSPAR
ENT=true&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&E
XCEPTIONS=application%2Fvnd.ogc.se_inimage&BBOX=125.420951,33.9194
28,129.376029,38.671569&WIDTH=480&HEIGHT=800
7
 Web Feature Service

- OGC가 정의한 지리적 피처(Feature)인터페이스
표준
- 요청방법과 응답형식을 정의
- 피처요청, 카타로그조회, 속성조회 가능
- Http로 요청하고 XML, GeoJSON 등으로 받음
- 필수: GetCapabilities , DescribeFeatureType ,
GetFeature
※Feature = Geometry + attiribute
8
 Web Feature Service

- http://www.openlayers.org/dev/examples/strategy-paging.html
http://api.flickr.com/services/rest?api_key=b5e8c0e287e678671
c3d8b2c0f3ced85&method=flickr.photos.search&extras=geo,url
_s&per_page=10&page=1&bbox=27.597656621345,31.902271618769,17.402343378655,48.9865
86775023
http://api.flickr.com/services/rest?format=json&api_key=b5e8c0
e287e678671c3d8b2c0f3ced85&method=flickr.photos.search&e
xtras=geo,url_s&maxfeatures=100&BBOX=124,34,131,40

9
 Web Coverage Service

OGC가 정의한 커버리지 인터페이스 표준
요청방법과 응답형식을 정의
커버리지요청, 카타로그조회 가능
Http로 요청하고 래스터 파일로 받음
필수: GetCapabilities , DescribeCoverage ,
GetCoverage
※Coverage = 좌표가 있는 Raster Data
-

10
 Web Coverage Service

- http://demo.mapserver.org/cgibin/wcs?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCa
pabilities
- http://demo.mapserver.org/cgibin/wcs?SERVICE=wcs&VERSION=1.0.0&REQUEST=Descri
beCoverage&COVERAGE=modis
- http://demo.mapserver.org/cgibin/wcs?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCo
verage&COVERAGE=modis001&CRS=EPSG:26915&BBOX=159707,4597395,1400707,
5501395&WIDTH=400&HEIGHT=300&FORMAT=GEOTIFF_
RGB
11
 사용 편한 UI 제공
 WEB 기반의 Admin 페이지
 OS에 구애 받지 않음
 JAVA 기반, WEB 인터페이스기반
 캐시 지원
 서버 캐시(GWC), Cache-Control
 다양한 좌표계로 실시간 변환 가능
 2.1.3 버전부터 국내 좌표계도 모두 지원
 Data Processing도 가능
 WPS (참고: http://www.onspatial.com/2009/12/ogc-wpsoperation-quick-reference.html)
 거의 모든 GIS 자료 이용 가능
12
Input
Format

Vector File ESRI Shape, GML, VPF, JAVA Property
GeoTIFF, Gtopo30, WorldImage, ArcGrid, GDAL Suffor

Raster File t Format(IMG, MrSID, ECW, JPEG2000, DTED, NITF)

PostGIS, Oracle, ArcSDE, SQL Server, MySQL, DB2, Ki

Geo DBMS aros, Tibro
Web
WFS, WMS
Interface

Output
Format

WMS

WFS

WCS

WMS

PNG, JPEG, GIF, Tiff, KML, KMZ, SVG, GeoRSS, PDF, O
penLayers, AtomPub

WFS

GML2, GML2-GZIP, GML3.1, GML3.2, GeoJSON, CSV

WCS

ArcGrid, Text Debug Grid, BMP, GeoTIFF, TIFF, PNG, J
PEG
13
 2.1 GeoServer 설치
 2.2 Dashboard

 2.3 서비스 시작과 종료
 2.4 관리용 UI
 2.5 Layer 미리보기

14
 다운로드 사이트
 OpenGeo Suite 커뮤니티 버전
http://opengeo.org/products/suite/community/

 OpenGeo Suite 상용 버전
http://opengeo.org/products/suite/register/
 독립형 GeoServer 버전
http://geoserver.org/display/GEOS/Download
※ OpenGeo Suite 버전이 확장 기능 더 많음
※ 독립형 버전은 Service로 설치 가능
※ 상용서버에는 War로 설치하는 것을 권장
15
 OpenGeo Suite 버전

16
 독립형 버전 서비스 설치
 설치 마지막 단계에서

Install as a Service옵션
선택
 서비스로 설치하면
리부팅해도 자동으로
GeoServer가 실행됨
 테스트용 설치는
Run manually 권장

17
 War 버전 설치
 상용 WAS가 설치된 경우 이용
 WAS 별로 war 파일 배포법 다름
 Tomcat인 경우 webapp 폴더에
복사하는 것으로 설치 완료
 기타 WAS의 경우 UI나 명령으로
손쉽게 배포 가능

18
윈도우 시작메뉴

윈도우 탐색기 사용자 디렉터리
19
 시작메뉴 이용
 윈도우OS의 경우 시작메뉴를 통해 GeoServer

를 시작하고 종료 가능
 OpenGeo Suite 버전의 경우 PostGIS와 동시에
시작과 종료되기에 시간이 더 많이 걸림

20
 서비스로 등록한 경우

21
 시작하기
 브라우저 이용
http://localhost:8080/geoserver/
IE 사용 비권장

 데시보드 이용
GeoServer-Configure

22
 로그인
 기본비번: admin / geoserver

23
 관리용 UI의 역할

24
 정보 & 상태 섹션
 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 결과물을 확인 할 수 있습니다.

25
26
 미리보기 옵션 활성화

27
 CQL을 이용한 필터링

28
3. Data Publishing
 3.1 Data Publishing 과정
 3.2 Workspace 추가하기
 3.3 Shapefile 서비스하기
 3.4 GeoTIFF 서비스하기
 3.5 PostGIS 레이어 서비스하기
 3.6 여러 레이어를 한번에 퍼블리싱

29
 Workspace 생성
 자료를 관리를 위한 그룹
 보통 업무 프로젝트 단위로 생성

 Store 생성
 자료의 물리적 위치를 등록

 폴더, DBMS, 파일 등 등록

 Style 생성 (옵션)
 자료를 표현하는 방법을 상세히 정의

 Layer 생성
 실제 개별 자료를 등록

 Data와 Publishing 섹션으로 구성

 Layer Group 생성 (옵션)
 관련 자료를 묶어서 제공

 캐시 설정 (옵션)
 서비스 효율화
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Postgresql 9.3 설치 확인하기
- postgis

44
45
46
이후 과정은 shp 파일 서비스하기와 동일함

47
48
49
50
가져온 결과는 레이어 메뉴에서 확인

51
4. Map Styling
 4.1 SLD의 이해
 4.2 SLD Sample

 4.3 적용된 스타일 확인
 4.4 Vector 스타일 수정
 4.5 Raster 스타일 수정

52
 Styled Layer Descriptor(SLD)란?
• 벡터 및 래스터 레이어 시각화를 위한 스타일
•
•
•
•

마크업 언어
심볼, 필터, 라벨, 최대/최소축척 등을 정의
WMS의 핵심
XML 기반의 OGC 표준 스펙
http://www.opengeospatial.org/standards/sld

53
 SLD로 할 수 있는 것
 점 도형/색/크기/아이콘 등 설정
 선 색/두께/점선/연결방법 등 설정
 면 색/패턴채움/이미지채움 등 설정
 텍스트 참조컬럼/색/강조/위치/회전 등 설정
 투명도 조절
 축척에 따른 자료 보이기
 조건에 따른 자료 표현(가시/크기/색/회전/아이
콘 등) 변경
54
 SLD hierarchical structure

•

Header
• FeatureTypeStyles
• Rules
• Symbolizers

* Featuretype 이 layer 를 말함

 Symbolizer
•
•
•
•
•

PointSymbolizer
LineSymbolizer
PolygonSymbolizer
RasterSymbolizer
TextSymbolizer
55
56
Header

Symbolizer

57
58
 SLD Cookbook


http://docs.geoserver.org/stable/en/user/styling/sld-cookbook/index.html

59
 권장사항
 레이어 하나당 하나의 스타일 만들것
 레이어명과 스타일명 같으면 편리

60
61
62
63
 기존 스타일 수정

64
 SLD 로드로 새 스타일 만들기

65
 SLD 로드로 새 스타일 만들기

66
 스타일 적용 확인

67
68
69
 스타일 복사 및 신규생성
 스타일 적용
 1~256의 값을 색으로
표현 필요
 실습:
raster 스타일을 복사 후
ShadedRelief 명칭의
스타일 생성.
Styles에 등록
 ShadedRelief 레이어의
Publishing 탭에서 적용

70
71
72
 data/seoul 폴더의 모든 Shape을 등록해 주세요.
 등록이 잘 안되는 한 개의 파일이 있습니다.
 어찌 극복하셨나요?
 data/seoul_raster 폴더의 모든 이미지를 등록해 주

세요.
 SLD 폴더의 모든 sld 파일을 스타일로 등록해 주세
요.
 등록이 안되는 한 SLD가 있습니다.
 다른 스타일을 참고해 해결해 보세요.

 등록한 모든 자료와 스타일을 연결하여 멋지게 보

이게 해 주세요.

 같이 공부할 때 해보시면 나중에 고생이 덜합니다.
73
5. Styling 고급
 5.1 GeoExplorer 이용
 5.2 포인트 스타일 변경
 5.3 라인 스타일 변경
 5.4 폴리곤 스타일 변경
 5.5 텍스트 스타일 변경
 5.6 조건에 따른
 5.7 한글폰트 적용
 5.8 레이어 그룹
74
 http://localhost:8080/geoexplorer

※ OpenGeo Suite 버전에서만 사용 가능합니다.

75
추가하고자 하는 레이어를 더블클릭!!

76
77
78
79
80
81
82
83
<sld:FeatureTypeStyle>
<sld:Name>name</sld:Name>
<sld:Rule>
<sld:Title>stores</sld:Title>
<ogc:Filter>
<ogc:PropertyIsLike wildCard="*" singleChar="." escape="!">
<ogc:PropertyName>BRAND</ogc:PropertyName>
<ogc:Literal>*백화점</ogc:Literal>
</ogc:PropertyIsLike>
</ogc:Filter>
<sld:PointSymbolizer>
<sld:Graphic>
<sld:Mark>
<sld:WellKnownName>circle</sld:WellKnownName>
<sld:Fill>
<sld:CssParameter name="fill">#00FFD5</sld:CssParameter>
</sld:Fill>
<sld:Stroke/>
</sld:Mark>
<sld:Size>
<ogc:Literal>7</ogc:Literal>
</sld:Size>
</sld:Graphic>
</sld:PointSymbolizer>
</sld:Rule>
</sld:FeatureTypeStyle>

84
 GeoServer의 버그로 주의 필요
 Style에서 population_density 편집
 첫줄의 UTF-8을 EUC-KR로 수정
 font-family 부분을 검색
 값을 „맑은 고딕‟으로 변경
 [Submit] 선택하여 저장
 Preview로 적용 확인
 레이어 그룹의 필요성
 지도는 보통 여러 레이어를 조합해 사용
 여러 레이어 조합시 순서가 매우 중요
 호출시에도 한 레이어 처럼 호출 가능
※ 리스트에서 가장 위의 레이어가 가장 먼저 그려져 다른 레이어에 의
해 덮어짐
6. 재미있는 기능들
 6.1 Google Earth 연동
 6.2 GetLegendGraphic
 6.3 실시간 좌표계 변환

 6.4 QGIS에서 WMS 불러오기
 6.5 QGIS에서 WFS 불러오기

87
88
89
90
91
 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

92
http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=
GetMap&layers=world&styles=&width=660&height=330&format=application/o
penlayers&srs=EPSG:4326&bbox=110,20,150,50

Google

WGS84
http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=
GetMap&layers=world&styles=&width=660&height=330&format=application/o
penlayers&srs=EPSG:2097&bbox=-1599161.20365349,1401708.62964815,1839996.14666927,2091714.20629109

http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=
GetMap&layers=world&styles=&width=660&height=330&format=application/o
penlayers&srs=EPSG:32652&bbox=1516012.385514,2328845.36574506,1998458.72659911,5753394.63053658

UTM52N

TM 중부
좌표계 변환된
범위 계산
SQL

http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=
GetMap&layers=world&styles=&width=660&height=330&format=application/o
penlayers&srs=EPSG:900913&bbox=12245143.9872601,2273030.92698769,
16697923.618991,6446275.84101716

select ST_AsText(ST_Transform(ST_SetSRID(ST_LineFromText('LINESTRING(110 20, 150 50)'), 4326), 900913));
select ST_AsText(ST_Transform(ST_SetSRID(ST_LineFromText('LINESTRING(110 20, 150 50)'), 4326), 2097));
select ST_AsText(ST_Transform(ST_SetSRID(ST_LineFromText('LINESTRING(110 20, 150 50)'), 4326), 32652));

93
94
95
7. 성능향상 전략
 7.1 Web Cache Logic 이해
 7.2 Response Cache Header 적용
 7.3 Geo Web Cache(GWC) 적용
 7.4 서버 설정 변경

 7.5 데이터 폴더 이동
 7.5 데이터 최적화

96
 Text

Web Browser
URI 요청

 Text

Browser Cache 확인
있는가?

No

컨텐츠 요청

Expire

헤더에 If-Modified-Since:
LastModifiedTime 붙여 요청

Yes

유효기간?
Remain

GIS Server

Browser Cache Hit!

0.1 ms

새 버전이 있는가?
No

304 not modified
컨텐츠 사용

10 ms

Yes

서버캐시에 있는가?

No

컨텐츠 생산
(GeoServer)

Yes

200 OK + 컨텐츠 전송

50 ms

500 ms

End

97
⑥Check
browser cache
and reuse

Browser Cache
•

Client A
Browse
Cache

Browse
Cache
⑦Request Contents

①Request Contents

⑤Request
Same Contents

②Check cache
and ask the
Production

•

Client B

On each client
machine
Can not share with
others

App Server

⑧Check cache
and reuse

Server Cache
Contents

Builder

③Storage Contents

Server
Cache

•
•

On server machine
Can share with
others

98
 GeoServer Admin 화면 접속
 왼쪽 Data 항목 중 Layers 선택
 WorldCountries Layer 선택
 Publishing 탭 선택
 Edit Layer 아래 Response

Cache Headers 체크
 Cache Time에 초단위로 컨텐츠
유효기간 604800 (7일) 입력.
60초 * 60분 *24시간 * 7일 =
604800
 [Save] 눌러 완료
99
 GeoServer Admin 화면 접속
 왼쪽 Data 항목 중 Layer Preview 선택
 demo:WorldCountries Layer의









Cache가 되려면 Tiled로
호출하여야만 한다!

OpenLayers 선택
지도창이 뜨면 Http 헤더 분석도구로
Response 확인 (Chrome [F12], FireFox
FireBug, IE HttpWatch)
Response Header 부분에 Expires, CacheControl: max-age=604800 값이 추가되었
음을 확인
휠로 줌 인, 줌 아웃 반복  별로 빨라지
지 않은 것 같다 ㅠㅠ
지도 우상단의 옵션버튼
클릭
Tiling에서 Tiled 선택
휠로 줌 인, 줌 아웃 반복  이번엔 확실
히 빨라진 것이 보인다.
100
•

지도가 나타내는 영역을 일정한 간격의 연속된
사각형 이미지로 미리 만들어 저장소에 저장

•

타일 이미지는 PNG/JPG등 다양한 포맷으로 생성
가능

• 타일영역을 레벨별로 피라미드화 하여 캐시 이미
지 저장
• 레벨별 해상도(resolution), 축척(scale)을 설정하
여 레벨 규칙을 정함

• 일반적으로 전국레벨의 캐시 이미지를 생성하는
데에는 많은 시간적인 자원을 필요로함
• 일부 많이 사용될 것으로 예상되는 지역 또는 많
은 형상들이 집중되어있는 부분을 지정하여 캐
시 설정하여 해결
101








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);

104
 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 기능 사용
105
 Logging 정책 변경

 관리 UI의 global Setting에서 조정할 수 있다.
 DEFAULT, VERBOSE, PRODUCTION,

GEOTOOLS_DEVELOPER,
GEOSERVER_DEVELOPER로 정책 변경 가능하다.
 PRODUCTION이 가장 적은 정보를 기록하므로
빠르다.

 Service Strategy 변경

 GeoServer의 web.xml 파일에서 조정 가능하다.
 SPEED는 스트리밍만으로 결과를 보내 빠르지만

안정성 떨어진다.
 BUFFER는 모든 결과를 메모리에 만든후 서비스
한다.
 FILE은 모든 결과를 파일로 만든 후 서비스 한다.
 PARTIAL-BUFFER는 BUFFER과 SPEED를 결합한
형태로 빠르고 어느정도 안정성도 있다.

106
 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>
107
 Vector Data

 서비스할 좌표계로 소스데이터 미리 변환하라!
 GeoServer는 실시간 좌표계 변환도 잘 지원한다.
 하지만 실시간 변환은 느릴 수 밖에 없다.
 스타일을 이용하여 적당한 정보만 표출되게 제어하라!
 스타일 정보를 조정하여 스케일에 따라 적정한 레이어만 보이게 한다.
 같은 레이어도 스케일에 따라 적절한 심벌이 부여되게 한다.
 피처를 다듬어라!
 피처를 정규화(Simplofiy)하여 불필요한 점을 없엔다.
 각 스케일에 맞게 정규화된 어러 레이어를 사용하면 효과적이다.
 지나치게 넓은 범위의 MBR을 가지는 피처는 적절히 분리한다.
 느린 스타일의 사용을 최소화하라!
 투명도(Transparecy)의 사용은 기본적으로 2배 이상의 랜더링 시간이 걸
린다.
 라벨을 뿌리는 것은 비싼 비용을 각오해야 한다.
 라벨에 테두리(Halo)를 주는 것은 더 비산 비용이 필요하다.
108
 Raster Data

 JPEG나 ArcGRID의 사용을 자제하라!
 이런 포맷들은 디코딩에 많은 비용이 든다.
 가능한 한 인코딩 되지 않은 GeoTiff를 사용하라.
 ECW나 JPEG2000와 같은 진보된 웨이블릿 포맷도 바람직하다.
 다단계 타일링 된 GeoTiff를 사용하라!
 GDAL 툴인 gdaladdo 명령을 이용하면 다단계 타일링된 GeoTiff를 만들
수 있다.
 Ex) gdaladdo -r average mytiff.tif 2 4 8 16
 가능한 한, 영상을 합쳐라!
 여러 장의 영상을 여러 레이어로 서비스 하는 것이 가장 느리다.
 여러 장의 영상을 레이어 그룹으로 묶어 서비스 하면 조금(아주조금) 빨
라진다.
 한 개의 영상으로 합처 서비스 하면 많이 빨라진다.
 하지만 약 4GB 이상의 영상은 보통 GeoServer에 올릴 수 없기에 나눌 수
밖에 없다.

109
 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

110
 GeoServer
 http://geoserver.org
 GeoServer Documentation
 http://docs.geoserver.org/latest/en/user/
 GeoServer 한글 Documentation
 GeoServer 2.0.0 설치 및 활용 가이드
 GeoWebCache
 http://geowebcache.org/
 MakingMapsFast
 http://download.osgeo.org/osgeo/foss4g/2009/SPREP
/1Wed/Parkside%20GO3/1500/MakingMapsFast.pdf
111

Contenu connexe

Tendances

[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServerMinPa Lee
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환BJ Jang
 
오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용SANGHEE SHIN
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기Byeong-Hyeok Yu
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료JungHwan Yun
 
오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)SANGHEE SHIN
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현MinPa Lee
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기Byeong-Hyeok Yu
 
State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진MinPa Lee
 
공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정JungHwan Yun
 
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 SANGHEE SHIN
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for UnrealKyu-sung Choi
 
오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeoSANGHEE SHIN
 
오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심MinPa Lee
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화MinPa Lee
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 SANGHEE SHIN
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
QGIS 공식 Training Manual 한국어판
QGIS 공식 Training Manual 한국어판 QGIS 공식 Training Manual 한국어판
QGIS 공식 Training Manual 한국어판 SANGHEE SHIN
 
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028MinPa Lee
 
[공간정보연구원] 1일차 - 오픈소스GIS 개요
[공간정보연구원] 1일차 - 오픈소스GIS 개요[공간정보연구원] 1일차 - 오픈소스GIS 개요
[공간정보연구원] 1일차 - 오픈소스GIS 개요slhead1
 

Tendances (20)

[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환
 
오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용
 
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
지리정보체계(GIS) - [1] GIS 데이터 유형, 구조 알기
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료
 
오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기
 
State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진
 
공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정
 
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
 
오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo
 
오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
QGIS 공식 Training Manual 한국어판
QGIS 공식 Training Manual 한국어판 QGIS 공식 Training Manual 한국어판
QGIS 공식 Training Manual 한국어판
 
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028
[FOSS4G Korea 2021]Workshop-QGIS-TIPS-20211028
 
[공간정보연구원] 1일차 - 오픈소스GIS 개요
[공간정보연구원] 1일차 - 오픈소스GIS 개요[공간정보연구원] 1일차 - 오픈소스GIS 개요
[공간정보연구원] 1일차 - 오픈소스GIS 개요
 

En vedette

공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정BJ Jang
 
공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발MinPa Lee
 
오픈소스 GIS 개요
오픈소스 GIS 개요오픈소스 GIS 개요
오픈소스 GIS 개요slhead1
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초 slhead1
 
전자해도세미나
전자해도세미나전자해도세미나
전자해도세미나Jiyoon Kim
 
전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)Kyu-sung Choi
 

En vedette (6)

공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정
 
공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발
 
오픈소스 GIS 개요
오픈소스 GIS 개요오픈소스 GIS 개요
오픈소스 GIS 개요
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
 
전자해도세미나
전자해도세미나전자해도세미나
전자해도세미나
 
전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)
 

Similaire à GeoServer 기초

PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS MinPa Lee
 
공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습BJ Jang
 
FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육ssuserd7017e
 
공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)Sungjin Kang
 
오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례HaNJiN Lee
 
QGIS 3.0 새 기능 둘러보기
QGIS 3.0 새 기능 둘러보기QGIS 3.0 새 기능 둘러보기
QGIS 3.0 새 기능 둘러보기Byeong-Hyeok Yu
 
[EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용 [EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용 MinPa Lee
 
Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0Kidong Lee
 
[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GISMinPa Lee
 
mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 SANGHEE SHIN
 
Node.js의 도입과 활용
Node.js의 도입과 활용Node.js의 도입과 활용
Node.js의 도입과 활용Jin wook
 
[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig기웅 김
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석MinPa Lee
 
Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례
Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례
Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례미래웹기술연구소 (MIRAE WEB)
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019Joonho Lee
 
Mago3 d 워크샵
Mago3 d 워크샵Mago3 d 워크샵
Mago3 d 워크샵정대 천
 
mago3D 기술 워크샵 자료(한국어)
mago3D  기술 워크샵 자료(한국어)mago3D  기술 워크샵 자료(한국어)
mago3D 기술 워크샵 자료(한국어)SANGHEE SHIN
 
개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty Server개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty ServerJungWoon Lee
 
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer ModelHan Lee
 
JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop rockplace
 

Similaire à GeoServer 기초 (20)

PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS
 
공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습
 
FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육FORGIS-SERVER 사용자 교육
FORGIS-SERVER 사용자 교육
 
공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)
 
오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례
 
QGIS 3.0 새 기능 둘러보기
QGIS 3.0 새 기능 둘러보기QGIS 3.0 새 기능 둘러보기
QGIS 3.0 새 기능 둘러보기
 
[EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용 [EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용
 
Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0Better Scalable Flexible Soa Platform 0.8.0
Better Scalable Flexible Soa Platform 0.8.0
 
[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS
 
mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 mago3D 한국어 소개 자료
mago3D 한국어 소개 자료
 
Node.js의 도입과 활용
Node.js의 도입과 활용Node.js의 도입과 활용
Node.js의 도입과 활용
 
[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
 
Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례
Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례
Sencha ExtJS 5 와 Sencha Architect 3 를 활용한 엔터프라이즈 솔루션 개발사례
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019
 
Mago3 d 워크샵
Mago3 d 워크샵Mago3 d 워크샵
Mago3 d 워크샵
 
mago3D 기술 워크샵 자료(한국어)
mago3D  기술 워크샵 자료(한국어)mago3D  기술 워크샵 자료(한국어)
mago3D 기술 워크샵 자료(한국어)
 
개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty Server개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty Server
 
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model
 
JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop
 

GeoServer 기초

  • 2. 목차 1. GeoServer 개요 2. GeoServer 설치 3. Data Publishig 4. Map Styling 5. Styling 고급 6. 재미있는 기능들 7. 성능향상 전략 2
  • 3. 1. GeoServer 개요  1.1 GeoServer란?  1.2 GeoServer가 하는 일  1.3 WMS 인터페이스  1.4 WFS 인터페이스  1.5 WCS 인터페이스  1.6 GeoServer의 주요 특징  1.7 지원 포맷 일람 3
  • 4. 다양한 공간 Data를 인터넷 GIS 인터페이스로 공급하는 서버 프로그램 4
  • 5. GeoServer Raster Source Formatted Map png, jpeg, gif WFS Vector Source WMS Feature Object GML, GeoJSON WCS Coverage Data ArcGrid, GeoTif f, bmp Vector Source: Shape, GeoDB Raster Source: GeoTiff, IMG, ArcGrid 5
  • 6.  Web Map Service - OGC가 정의한 지도이미지 인터페이스 표준 요청방법과 응답형식을 정의 지도요청, 카타로그조회, 속성조회 가능 Http로 요청하고 이미지로 받음 필수: GetCapabilities , GetMap 옵션: GetFeatureInfo, DescribeLayer, GetLegendGraphic * OGC : Open Geospatial Consortium 6
  • 7.  Web Map Service - http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.1.1&SERVICE=WMS& REQUEST=GetMap&LAYERS=BlueMarbleNG&FORMAT=image/jpeg&SRS= EPSG:4326&BBOX=-180,-90,180,90&WIDTH=1000&HEIGHT=500 - http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.1.1&SERVICE=WMS& REQUEST=GetMap&LAYERS=MOD_LSTN_CLIM_M&FORMAT=image/jpeg& SRS=EPSG:4326&BBOX=124,34,131,40&&WIDTH=600&HEIGHT=600 http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.1.1&SERVICE=WMS& REQUEST=GetMap&LAYERS=MOD14A1_M_FIRE&FORMAT=image/jpeg&S RS=EPSG:4326&BBOX=-180,-90,180,90&&WIDTH=1000&HEIGHT=500 - http://61.43.91.120:8080/geoserver/wms?LAYERS=STD_LINK&SRS=EPSG%3 A4326&TILED=false&ISBASELAYER=false&FORMAT=image%2Fgif&TRANSPAR ENT=true&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&E XCEPTIONS=application%2Fvnd.ogc.se_inimage&BBOX=125.420951,33.9194 28,129.376029,38.671569&WIDTH=480&HEIGHT=800 7
  • 8.  Web Feature Service - OGC가 정의한 지리적 피처(Feature)인터페이스 표준 - 요청방법과 응답형식을 정의 - 피처요청, 카타로그조회, 속성조회 가능 - Http로 요청하고 XML, GeoJSON 등으로 받음 - 필수: GetCapabilities , DescribeFeatureType , GetFeature ※Feature = Geometry + attiribute 8
  • 9.  Web Feature Service - http://www.openlayers.org/dev/examples/strategy-paging.html http://api.flickr.com/services/rest?api_key=b5e8c0e287e678671 c3d8b2c0f3ced85&method=flickr.photos.search&extras=geo,url _s&per_page=10&page=1&bbox=27.597656621345,31.902271618769,17.402343378655,48.9865 86775023 http://api.flickr.com/services/rest?format=json&api_key=b5e8c0 e287e678671c3d8b2c0f3ced85&method=flickr.photos.search&e xtras=geo,url_s&maxfeatures=100&BBOX=124,34,131,40 9
  • 10.  Web Coverage Service OGC가 정의한 커버리지 인터페이스 표준 요청방법과 응답형식을 정의 커버리지요청, 카타로그조회 가능 Http로 요청하고 래스터 파일로 받음 필수: GetCapabilities , DescribeCoverage , GetCoverage ※Coverage = 좌표가 있는 Raster Data - 10
  • 11.  Web Coverage Service - http://demo.mapserver.org/cgibin/wcs?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCa pabilities - http://demo.mapserver.org/cgibin/wcs?SERVICE=wcs&VERSION=1.0.0&REQUEST=Descri beCoverage&COVERAGE=modis - http://demo.mapserver.org/cgibin/wcs?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCo verage&COVERAGE=modis001&CRS=EPSG:26915&BBOX=159707,4597395,1400707, 5501395&WIDTH=400&HEIGHT=300&FORMAT=GEOTIFF_ RGB 11
  • 12.  사용 편한 UI 제공  WEB 기반의 Admin 페이지  OS에 구애 받지 않음  JAVA 기반, WEB 인터페이스기반  캐시 지원  서버 캐시(GWC), Cache-Control  다양한 좌표계로 실시간 변환 가능  2.1.3 버전부터 국내 좌표계도 모두 지원  Data Processing도 가능  WPS (참고: http://www.onspatial.com/2009/12/ogc-wpsoperation-quick-reference.html)  거의 모든 GIS 자료 이용 가능 12
  • 13. Input Format Vector File ESRI Shape, GML, VPF, JAVA Property GeoTIFF, Gtopo30, WorldImage, ArcGrid, GDAL Suffor Raster File t Format(IMG, MrSID, ECW, JPEG2000, DTED, NITF) PostGIS, Oracle, ArcSDE, SQL Server, MySQL, DB2, Ki Geo DBMS aros, Tibro Web WFS, WMS Interface Output Format WMS WFS WCS WMS PNG, JPEG, GIF, Tiff, KML, KMZ, SVG, GeoRSS, PDF, O penLayers, AtomPub WFS GML2, GML2-GZIP, GML3.1, GML3.2, GeoJSON, CSV WCS ArcGrid, Text Debug Grid, BMP, GeoTIFF, TIFF, PNG, J PEG 13
  • 14.  2.1 GeoServer 설치  2.2 Dashboard  2.3 서비스 시작과 종료  2.4 관리용 UI  2.5 Layer 미리보기 14
  • 15.  다운로드 사이트  OpenGeo Suite 커뮤니티 버전 http://opengeo.org/products/suite/community/  OpenGeo Suite 상용 버전 http://opengeo.org/products/suite/register/  독립형 GeoServer 버전 http://geoserver.org/display/GEOS/Download ※ OpenGeo Suite 버전이 확장 기능 더 많음 ※ 독립형 버전은 Service로 설치 가능 ※ 상용서버에는 War로 설치하는 것을 권장 15
  • 16.  OpenGeo Suite 버전 16
  • 17.  독립형 버전 서비스 설치  설치 마지막 단계에서 Install as a Service옵션 선택  서비스로 설치하면 리부팅해도 자동으로 GeoServer가 실행됨  테스트용 설치는 Run manually 권장 17
  • 18.  War 버전 설치  상용 WAS가 설치된 경우 이용  WAS 별로 war 파일 배포법 다름  Tomcat인 경우 webapp 폴더에 복사하는 것으로 설치 완료  기타 WAS의 경우 UI나 명령으로 손쉽게 배포 가능 18
  • 19. 윈도우 시작메뉴 윈도우 탐색기 사용자 디렉터리 19
  • 20.  시작메뉴 이용  윈도우OS의 경우 시작메뉴를 통해 GeoServer 를 시작하고 종료 가능  OpenGeo Suite 버전의 경우 PostGIS와 동시에 시작과 종료되기에 시간이 더 많이 걸림 20
  • 22.  시작하기  브라우저 이용 http://localhost:8080/geoserver/ IE 사용 비권장  데시보드 이용 GeoServer-Configure 22
  • 23.  로그인  기본비번: admin / geoserver 23
  • 24.  관리용 UI의 역할 24
  • 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 결과물을 확인 할 수 있습니다. 25
  • 26. 26
  • 27.  미리보기 옵션 활성화 27
  • 28.  CQL을 이용한 필터링 28
  • 29. 3. Data Publishing  3.1 Data Publishing 과정  3.2 Workspace 추가하기  3.3 Shapefile 서비스하기  3.4 GeoTIFF 서비스하기  3.5 PostGIS 레이어 서비스하기  3.6 여러 레이어를 한번에 퍼블리싱 29
  • 30.  Workspace 생성  자료를 관리를 위한 그룹  보통 업무 프로젝트 단위로 생성  Store 생성  자료의 물리적 위치를 등록  폴더, DBMS, 파일 등 등록  Style 생성 (옵션)  자료를 표현하는 방법을 상세히 정의  Layer 생성  실제 개별 자료를 등록  Data와 Publishing 섹션으로 구성  Layer Group 생성 (옵션)  관련 자료를 묶어서 제공  캐시 설정 (옵션)  서비스 효율화 30
  • 31. 31
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. 41
  • 42. 42
  • 43. 43
  • 44. Postgresql 9.3 설치 확인하기 - postgis 44
  • 45. 45
  • 46. 46
  • 47. 이후 과정은 shp 파일 서비스하기와 동일함 47
  • 48. 48
  • 49. 49
  • 50. 50
  • 51. 가져온 결과는 레이어 메뉴에서 확인 51
  • 52. 4. Map Styling  4.1 SLD의 이해  4.2 SLD Sample  4.3 적용된 스타일 확인  4.4 Vector 스타일 수정  4.5 Raster 스타일 수정 52
  • 53.  Styled Layer Descriptor(SLD)란? • 벡터 및 래스터 레이어 시각화를 위한 스타일 • • • • 마크업 언어 심볼, 필터, 라벨, 최대/최소축척 등을 정의 WMS의 핵심 XML 기반의 OGC 표준 스펙 http://www.opengeospatial.org/standards/sld 53
  • 54.  SLD로 할 수 있는 것  점 도형/색/크기/아이콘 등 설정  선 색/두께/점선/연결방법 등 설정  면 색/패턴채움/이미지채움 등 설정  텍스트 참조컬럼/색/강조/위치/회전 등 설정  투명도 조절  축척에 따른 자료 보이기  조건에 따른 자료 표현(가시/크기/색/회전/아이 콘 등) 변경 54
  • 55.  SLD hierarchical structure • Header • FeatureTypeStyles • Rules • Symbolizers * Featuretype 이 layer 를 말함  Symbolizer • • • • • PointSymbolizer LineSymbolizer PolygonSymbolizer RasterSymbolizer TextSymbolizer 55
  • 56. 56
  • 58. 58
  • 60.  권장사항  레이어 하나당 하나의 스타일 만들것  레이어명과 스타일명 같으면 편리 60
  • 61. 61
  • 62. 62
  • 63. 63
  • 64.  기존 스타일 수정 64
  • 65.  SLD 로드로 새 스타일 만들기 65
  • 66.  SLD 로드로 새 스타일 만들기 66
  • 67.  스타일 적용 확인 67
  • 68. 68
  • 69. 69
  • 70.  스타일 복사 및 신규생성  스타일 적용  1~256의 값을 색으로 표현 필요  실습: raster 스타일을 복사 후 ShadedRelief 명칭의 스타일 생성. Styles에 등록  ShadedRelief 레이어의 Publishing 탭에서 적용 70
  • 71. 71
  • 72. 72
  • 73.  data/seoul 폴더의 모든 Shape을 등록해 주세요.  등록이 잘 안되는 한 개의 파일이 있습니다.  어찌 극복하셨나요?  data/seoul_raster 폴더의 모든 이미지를 등록해 주 세요.  SLD 폴더의 모든 sld 파일을 스타일로 등록해 주세 요.  등록이 안되는 한 SLD가 있습니다.  다른 스타일을 참고해 해결해 보세요.  등록한 모든 자료와 스타일을 연결하여 멋지게 보 이게 해 주세요.  같이 공부할 때 해보시면 나중에 고생이 덜합니다. 73
  • 74. 5. Styling 고급  5.1 GeoExplorer 이용  5.2 포인트 스타일 변경  5.3 라인 스타일 변경  5.4 폴리곤 스타일 변경  5.5 텍스트 스타일 변경  5.6 조건에 따른  5.7 한글폰트 적용  5.8 레이어 그룹 74
  • 75.  http://localhost:8080/geoexplorer ※ OpenGeo Suite 버전에서만 사용 가능합니다. 75
  • 77. 77
  • 78. 78
  • 79. 79
  • 80. 80
  • 81. 81
  • 82. 82
  • 83. 83
  • 84. <sld:FeatureTypeStyle> <sld:Name>name</sld:Name> <sld:Rule> <sld:Title>stores</sld:Title> <ogc:Filter> <ogc:PropertyIsLike wildCard="*" singleChar="." escape="!"> <ogc:PropertyName>BRAND</ogc:PropertyName> <ogc:Literal>*백화점</ogc:Literal> </ogc:PropertyIsLike> </ogc:Filter> <sld:PointSymbolizer> <sld:Graphic> <sld:Mark> <sld:WellKnownName>circle</sld:WellKnownName> <sld:Fill> <sld:CssParameter name="fill">#00FFD5</sld:CssParameter> </sld:Fill> <sld:Stroke/> </sld:Mark> <sld:Size> <ogc:Literal>7</ogc:Literal> </sld:Size> </sld:Graphic> </sld:PointSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> 84
  • 85.  GeoServer의 버그로 주의 필요  Style에서 population_density 편집  첫줄의 UTF-8을 EUC-KR로 수정  font-family 부분을 검색  값을 „맑은 고딕‟으로 변경  [Submit] 선택하여 저장  Preview로 적용 확인
  • 86.  레이어 그룹의 필요성  지도는 보통 여러 레이어를 조합해 사용  여러 레이어 조합시 순서가 매우 중요  호출시에도 한 레이어 처럼 호출 가능 ※ 리스트에서 가장 위의 레이어가 가장 먼저 그려져 다른 레이어에 의 해 덮어짐
  • 87. 6. 재미있는 기능들  6.1 Google Earth 연동  6.2 GetLegendGraphic  6.3 실시간 좌표계 변환  6.4 QGIS에서 WMS 불러오기  6.5 QGIS에서 WFS 불러오기 87
  • 88. 88
  • 89. 89
  • 90. 90
  • 91. 91
  • 92.  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 92
  • 93. http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request= GetMap&layers=world&styles=&width=660&height=330&format=application/o penlayers&srs=EPSG:4326&bbox=110,20,150,50 Google WGS84 http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request= GetMap&layers=world&styles=&width=660&height=330&format=application/o penlayers&srs=EPSG:2097&bbox=-1599161.20365349,1401708.62964815,1839996.14666927,2091714.20629109 http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request= GetMap&layers=world&styles=&width=660&height=330&format=application/o penlayers&srs=EPSG:32652&bbox=1516012.385514,2328845.36574506,1998458.72659911,5753394.63053658 UTM52N TM 중부 좌표계 변환된 범위 계산 SQL http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request= GetMap&layers=world&styles=&width=660&height=330&format=application/o penlayers&srs=EPSG:900913&bbox=12245143.9872601,2273030.92698769, 16697923.618991,6446275.84101716 select ST_AsText(ST_Transform(ST_SetSRID(ST_LineFromText('LINESTRING(110 20, 150 50)'), 4326), 900913)); select ST_AsText(ST_Transform(ST_SetSRID(ST_LineFromText('LINESTRING(110 20, 150 50)'), 4326), 2097)); select ST_AsText(ST_Transform(ST_SetSRID(ST_LineFromText('LINESTRING(110 20, 150 50)'), 4326), 32652)); 93
  • 94. 94
  • 95. 95
  • 96. 7. 성능향상 전략  7.1 Web Cache Logic 이해  7.2 Response Cache Header 적용  7.3 Geo Web Cache(GWC) 적용  7.4 서버 설정 변경  7.5 데이터 폴더 이동  7.5 데이터 최적화 96
  • 97.  Text Web Browser URI 요청  Text Browser Cache 확인 있는가? No 컨텐츠 요청 Expire 헤더에 If-Modified-Since: LastModifiedTime 붙여 요청 Yes 유효기간? Remain GIS Server Browser Cache Hit! 0.1 ms 새 버전이 있는가? No 304 not modified 컨텐츠 사용 10 ms Yes 서버캐시에 있는가? No 컨텐츠 생산 (GeoServer) Yes 200 OK + 컨텐츠 전송 50 ms 500 ms End 97
  • 98. ⑥Check browser cache and reuse Browser Cache • Client A Browse Cache Browse Cache ⑦Request Contents ①Request Contents ⑤Request Same Contents ②Check cache and ask the Production • Client B On each client machine Can not share with others App Server ⑧Check cache and reuse Server Cache Contents Builder ③Storage Contents Server Cache • • On server machine Can share with others 98
  • 99.  GeoServer Admin 화면 접속  왼쪽 Data 항목 중 Layers 선택  WorldCountries Layer 선택  Publishing 탭 선택  Edit Layer 아래 Response Cache Headers 체크  Cache Time에 초단위로 컨텐츠 유효기간 604800 (7일) 입력. 60초 * 60분 *24시간 * 7일 = 604800  [Save] 눌러 완료 99
  • 100.  GeoServer Admin 화면 접속  왼쪽 Data 항목 중 Layer Preview 선택  demo:WorldCountries Layer의       Cache가 되려면 Tiled로 호출하여야만 한다! OpenLayers 선택 지도창이 뜨면 Http 헤더 분석도구로 Response 확인 (Chrome [F12], FireFox FireBug, IE HttpWatch) Response Header 부분에 Expires, CacheControl: max-age=604800 값이 추가되었 음을 확인 휠로 줌 인, 줌 아웃 반복  별로 빨라지 지 않은 것 같다 ㅠㅠ 지도 우상단의 옵션버튼 클릭 Tiling에서 Tiled 선택 휠로 줌 인, 줌 아웃 반복  이번엔 확실 히 빨라진 것이 보인다. 100
  • 101. • 지도가 나타내는 영역을 일정한 간격의 연속된 사각형 이미지로 미리 만들어 저장소에 저장 • 타일 이미지는 PNG/JPG등 다양한 포맷으로 생성 가능 • 타일영역을 레벨별로 피라미드화 하여 캐시 이미 지 저장 • 레벨별 해상도(resolution), 축척(scale)을 설정하 여 레벨 규칙을 정함 • 일반적으로 전국레벨의 캐시 이미지를 생성하는 데에는 많은 시간적인 자원을 필요로함 • 일부 많이 사용될 것으로 예상되는 지역 또는 많 은 형상들이 집중되어있는 부분을 지정하여 캐 시 설정하여 해결 101
  • 102.
  • 103.
  • 104.       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); 104
  • 105.  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 기능 사용 105
  • 106.  Logging 정책 변경  관리 UI의 global Setting에서 조정할 수 있다.  DEFAULT, VERBOSE, PRODUCTION, GEOTOOLS_DEVELOPER, GEOSERVER_DEVELOPER로 정책 변경 가능하다.  PRODUCTION이 가장 적은 정보를 기록하므로 빠르다.  Service Strategy 변경  GeoServer의 web.xml 파일에서 조정 가능하다.  SPEED는 스트리밍만으로 결과를 보내 빠르지만 안정성 떨어진다.  BUFFER는 모든 결과를 메모리에 만든후 서비스 한다.  FILE은 모든 결과를 파일로 만든 후 서비스 한다.  PARTIAL-BUFFER는 BUFFER과 SPEED를 결합한 형태로 빠르고 어느정도 안정성도 있다. 106
  • 107.  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> 107
  • 108.  Vector Data  서비스할 좌표계로 소스데이터 미리 변환하라!  GeoServer는 실시간 좌표계 변환도 잘 지원한다.  하지만 실시간 변환은 느릴 수 밖에 없다.  스타일을 이용하여 적당한 정보만 표출되게 제어하라!  스타일 정보를 조정하여 스케일에 따라 적정한 레이어만 보이게 한다.  같은 레이어도 스케일에 따라 적절한 심벌이 부여되게 한다.  피처를 다듬어라!  피처를 정규화(Simplofiy)하여 불필요한 점을 없엔다.  각 스케일에 맞게 정규화된 어러 레이어를 사용하면 효과적이다.  지나치게 넓은 범위의 MBR을 가지는 피처는 적절히 분리한다.  느린 스타일의 사용을 최소화하라!  투명도(Transparecy)의 사용은 기본적으로 2배 이상의 랜더링 시간이 걸 린다.  라벨을 뿌리는 것은 비싼 비용을 각오해야 한다.  라벨에 테두리(Halo)를 주는 것은 더 비산 비용이 필요하다. 108
  • 109.  Raster Data  JPEG나 ArcGRID의 사용을 자제하라!  이런 포맷들은 디코딩에 많은 비용이 든다.  가능한 한 인코딩 되지 않은 GeoTiff를 사용하라.  ECW나 JPEG2000와 같은 진보된 웨이블릿 포맷도 바람직하다.  다단계 타일링 된 GeoTiff를 사용하라!  GDAL 툴인 gdaladdo 명령을 이용하면 다단계 타일링된 GeoTiff를 만들 수 있다.  Ex) gdaladdo -r average mytiff.tif 2 4 8 16  가능한 한, 영상을 합쳐라!  여러 장의 영상을 여러 레이어로 서비스 하는 것이 가장 느리다.  여러 장의 영상을 레이어 그룹으로 묶어 서비스 하면 조금(아주조금) 빨 라진다.  한 개의 영상으로 합처 서비스 하면 많이 빨라진다.  하지만 약 4GB 이상의 영상은 보통 GeoServer에 올릴 수 없기에 나눌 수 밖에 없다. 109
  • 110.  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 110
  • 111.  GeoServer  http://geoserver.org  GeoServer Documentation  http://docs.geoserver.org/latest/en/user/  GeoServer 한글 Documentation  GeoServer 2.0.0 설치 및 활용 가이드  GeoWebCache  http://geowebcache.org/  MakingMapsFast  http://download.osgeo.org/osgeo/foss4g/2009/SPREP /1Wed/Parkside%20GO3/1500/MakingMapsFast.pdf 111