SlideShare une entreprise Scribd logo
1  sur  41
한국어 지부

GeoServer 고급
2014년 1월 20일
국토교통부 공간정보 거점대학

오픈 소스 GIS 심화 과정
가이아쓰리디㈜
장병진(bjjang@gaia3d.com)
목차

I. 벡터자료를 이용한 지도서비스

III. WPS를 이용한 고급 스타일링

- QGIS에서 지도 구성하기

- Heat Map, Point Cluster 샘플

- OpenGeo Explorer를 이용한 Publish

- PostGIS에 GIS 업체자료 올리기

- GeoServer에서 지도 서비스하기

- WPS를 이용한 스타일 적용

II. 대용량 위성사진 서비스

IV. 공간자료와 통계의 연결

- World Image로 서비스

- PostGIS에 행정구역 자료 올리기

- GeoTiff로 서비스

- PostGIS에 인구통계 올리기

- 성능개선 및 지도와 서비스

- 인구수를 색상으로 표현하기
- 인구와 성비를 그래프로 표현하기

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

2

장병진 (bjjang@gaia3d.com)
0. GeoServer란?
 GIS 데이터를 웹에 공개(Publish)하기 위한 서버
지원 운영 체제

GeoServer

 MS Windows
 Mac OSX
 Linux, Unix

WMS

WFS

 GPL

Raster
Source

기반 언어

최신버전

png, jpeg, gif

Feature
Object

GML, GeoJSON

WCS

Coverage
Data

ArcGrid, GeoTiff,
bmp

Vector
Source

라이선스

 JAVA

Formatted
Map

Vector Source: Shape, GeoDB(PostGIS, Oracle Spatial 등)
Raster Source: GeoTiff, World Image, IMG, ArcGrid

 2.4.3
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

3

장병진 (bjjang@gaia3d.com)
0. 강의자료 준비
 필요 프로그램
– OpenGeo Suite Community Edition 3.0.2
• GeoServer 2.2.1
• PostgreSQL 9.1.4
• PostGIS 2.0
• http://boundlessgeo.com/solutions/opengeo-suite/download/
– QGIS 2.0.1
• http://qgis.org/en/site/forusers/download.html

– Notepad++
• http://notepad-plus-plus.org/download/
 필요 자료
– Http://osgeo.ipdisk.co.kr osgeo/osgeo
– /HDD1/Edu/20140120_이화여대/02_실습예제
– 한반도 벡터지도
– 한반도 LANDSAT 8 영상
– 2013년 현재 국내 GIS 관련 업체 현황
– 2013년 전국 행정구역도
– 2013년 전국 주민등록 인구통계

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

4

장병진 (bjjang@gaia3d.com)
I. 벡터자료를 이용한 지도서비
스
- 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다.
• 본 교재에서 사용하는 샘플 데이터 셋은 실제 정보와 다르므로 교육용 이외에는 사용할 수 없습니다.
I-1. QGIS에서 지도 구성하기
 실습 데이터 설정

1) 데이터 다운로드

– http://osgeo.ipdisk.co.kr 접속
– HDD1/Edu/20140120_이화여대/02_실습예제
/01_GeoServer/VectorMap.zip 다운로드
2) 벡터지도 폴더 만들기
– 윈도우 탐색기 실행
– C:OpenGisEduDataVectorMap.zip 파일 오른쪽 클릭
– 압축 풀기 메뉴 선택
– [압축 풀기] 선택
3) 파일확인
– C:OpenGisEduDataVectorMap 에 Shape 파일들이 있는지 확인

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

장병진 (bjjang@gaia3d.com)
I-1. QGIS에서 지도 구성하기
 QGIS에서 Shape 파일 읽기

1) QGIS 실행

– [시작]버튼 – QGIS Dufour – QGIS Desktop 2.0.1 클릭
2) 벡터 레이어 추가
– 레이어 – 벡터 레이어 추가 메뉴 선택
– [탐색] 버튼 클릭
– C:OpenGisEduDataVectorMap 폴더로 이동
– [Ctrl-A] 눌러 전체 선택
– [확인]
– [Open]
3) 필요 레이어만 정렬

– 아래서부터 World_Admin, Major_Routes, World_Cities 순으로
배열되게 레이어 트리 조정
– 다른 레이어는 모두 꺼서 안보이게

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

7

장병진 (bjjang@gaia3d.com)
I-1. QGIS에서 지도 구성하기
 단순 심볼 부여

1) 땅 심벌 지정

– World_Admin 레이어 더블클릭
– 스타일 선택
– 저장된 스타일에서 land 심볼 선택
– [OK]
2) 도로 심벌 지정
– Major_Routes 레이어 더블클릭
– 스타일 선택
– 저장된 스타일에서 road 심볼 선택
– [OK]
– 다시 Major_Routes 레이어 더블클릭

– 심볼 레이어 군에서 위의 단순선 선택
– 캡 스타일에서 평평하게 선택
– 아래 단순선도 동일하게 수정

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

8

장병진 (bjjang@gaia3d.com)
I-1. QGIS에서 지도 구성하기
 속성기반 심볼 부여
1) 도시명 표출
– World_Cities 레이어 더블클릭
– 라벨 선택
– 이 레이어의 라벨 앞의 선택 체크
– NAME_LOCAL 컬럼 선택
– 배치 선택
– 점으로부터의 거리 선택

3) 표시도시 필터링
– World_Cities 레이어 더블클릭
– 일반 정보 선택
– [질의 생성기] 클릭
– POPULATION 선택
– [샘플] 클릭

– 프로바이더별 필터 표현식이 아래처럼 되게 설정
– "POPULATION" = '10K to 25K' OR "POPULATION“ = '250K to 900K'

– 사분위에서 하단 중앙 선택
– [OK]
2) 인구별 표현 변경
– World_Cities 레이어 더블클릭
– 스타일 선택
– ‘단일심볼’을 선택하여 ‘분류된’으로 변경
– 컬럼을 POPULATION으로 변경
– 심볼에서 city 선택
– [분류] 버튼 클릭

– ‘900K to 3 Million’의 심볼 더블클릭
– 단순 마커 선택
– 크기 1.5로 변경
– [OK]
– [OK]
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

9

장병진 (bjjang@gaia3d.com)
I-1. QGIS에서 지도 구성하기
 심볼 적용 결과

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

 좀더 손을 보면

10

장병진 (bjjang@gaia3d.com)
I-2. OpenGeo Explorer를 이용한 Publish
 OpenGeo Explorer 설치
 OpenGeo Explorer 란?
– QGIS UI를 이용해 GeoServer 와 PostGIS를 편하게 관리하는 툴
– http://qgis.boundlessgeo.com/static/docs/
 설치 과정
– QGIS에서 플러그인-플러그인 관리 및 설치 메뉴 선택
– 설정 선택
– 실험적인 플러그인도 표시 체크
– [추가…] 버튼 선택
– 이름에 Boundless plugin repository 입력
– URL에 http://qgis.boundlessgeo.com/plugins.xml 입력
– [OK]
– 더 찾기 선택
– 검색에 OpenGeo 입력
– OpenGeo Explorer 선택
– [플러그인 설치] 클릭
– [Close]

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

11

장병진 (bjjang@gaia3d.com)
I-2. OpenGeo Explorer를 이용한 Publish
 GeoServer에 올리기
 GeoServer 실행
– OpenGeo Suite Dashboard 에서 [Startup]
 GeoServer 연결 설정
– QGIS의 OpenGeo explorer 탭에서 GeoServer catalogs 오른쪽 클릭
– New Catalog 메뉴 선택
– 접속을 위한 정보 입력후 [OK]
 새 Workspace 만들기

– QGIS의 OpenGeo explorer 탭에서 GeoServer catalogs 확장
– GeoServer Workspaces 오른쪽 클릭
– New Workspace 메뉴 선택
– 이름에 edu, URI에 edu.osgeo.kr 입력
– 추가된 edu 선택하고 Set as default workspace 선택
 QGIS 레이어 올리기
– QGIS의 OpenGeo explorer 탭에서 QGIS project 확장
– QGIS Layers에서 모든 레이어 선택
– Publish Layer 메뉴 선택
– [OK]

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

12

장병진 (bjjang@gaia3d.com)
I-2. OpenGeo Explorer를 이용한 Publish
 QGIS에서 SLD 만들기
 QGIS 스타일을 SLD로 저장
– QGIS 레이어 트리에서 World_Cities를 더블클릭
– 레이어 속성 창 하단의 [스타일 저장] 클릭
– C:OpenGisEduDataWorld_Cities.sld로 저장
 Data 폴더로 Shape 복사
– 탐색기 실행
– C:OpenGisEduDataVectorMap 폴더로 이동

– World_Cities_3857.* 파일 선택해 복사
– [시작]-모든 프로그램-OpenGeo Suite 3.0.2-GeoServer
Data Directory 메뉴 선택
– Dataedu 폴더로 이동하여 World_Cities_3857 폴더 생
성
– 붙여넣기

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

13

장병진 (bjjang@gaia3d.com)
I-3. GeoServer에서 지도 서비스하기
 수동 Publish
 GeoServer 관리화면 접속
– http://localhost:8080/geoserver 접속
– Admin / geoserver 로 로그인
 스타일 추가
– Styles - Add a new style
– [파일선택] 클릭, 저장해둔 SLD 선택
– [Upload…] 클릭, [Submit] 클릭
 스토어 추가

– Stores – Add new Stores
– Shapefile 선택
– Data Source Name에 World_Cities_3857 입력
– DBF charset에 EUC-KR 선택
– [Save] 클릭
 레이어 추가
– New Layer 화면에서 World_Cities_3857의 Publish 클릭
– Compute from data 클릭
– Compute from native bounds 클릭
– Publishing 탭 선택
– Default Style에 World_Cities_3857 선택
– [Save] 클릭

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

14

장병진 (bjjang@gaia3d.com)
I-3. GeoServer에서 지도 서비스하기
 스타일 수정

<?xml version="1.0" encoding="EUC-KR"?>
<StyledLayerDescriptor version="1.0.0"

 자동생산 SLD의 문제점

xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld"

– 텍스트가 나오지 않음

xmlns:ogc="http://www.opengis.net/ogc"

– 많은 테그에 se:가 붙어야 함

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

xmlns:xlink="http://www.w3.org/1999/xlink"
<NamedLayer>

– 표준과 달라 매뉴얼의 샘플 참조 힘듦

<Name>World_Cities_3857</Name>

 수정된 SLD

<UserStyle>
<Title>World_Cities_3857</Title>

– World_Cities_3857_fix.sld

<Abstract>World_Cities_3857</Abstract>
<FeatureTypeStyle>

– Encoding을 EUC-KR로 수정

<Rule>
<Name>>3 Million</Name>

– xmlns:se=http://www.opengis.net/se 제거

<ogc:Filter>

– Se: 테그 제거

<ogc:PropertyIsEqualTo>
<ogc:PropertyName>POPULATION</ogc:PropertyName>

– TextSymbolizer 추가

<ogc:Literal>>3 Million</ogc:Literal>
</ogc:PropertyIsEqualTo>

– 한글폰트 적용

</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>

<CssParameter name="fill">#000000</CssParameter>
<CssParameter name="fill">#000000</CssParameter>
</Fill>
</Mark>
<Size>6</Size>
</Graphic>
</PointSymbolizer>
<TextSymbolizer>

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

<Label>

15

장병진 (bjjang@gaia3d.com)
<ogc:PropertyName>NAME_LOCAL</ogc:PropertyName>
I-3. GeoServer에서 지도 서비스하기
 레이어 그룹 만들기
 레이어 그룹의 필요성
– 클라이언트의 편리한 호출
– 레이어들의 순서 정의
– 레이어별 심볼 부여
 레이어 그룹 정의
– GeoServer 관리화면에서
– Layer Groups – Add new layer group
– Name에 EduMap

– [Add Layer…] 클릭
– 밑에 깔려야 하는 레이어부터 추가
– World_Admin
– Water_Poly
– Water_Line
– Minor_Routes
– Major_Routes
– World_Cities
– [Generate Bounds] 클릭
– [Save]
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

16

장병진 (bjjang@gaia3d.com)
II. 대용량 위성사진 서비스
- 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다.
• 본 교재에서 사용하는 샘플 데이터 셋은 제공 기관 및 원작자에게 라이선스가 있습니다.
II-1. World Image로 서비스
 위성영상 확인
 실습 데이터 설정
– http://osgeo.ipdisk.co.kr 접속
– HDD1/Edu/20140120_이화여대/02_실습예제
/01_GeoServer/LANDSAT8.zip 다운로드
– C:OpeGisEduData에 복사
– 압축 해제
 QGIS에서 불러오기
– QGIS 실행
– 레이어 – 래스터 레이어 추가 메뉴 선택
– 파일이름 옆의 파일종류 [GDAL]JPEG 선택
– 모든 jpg 파일 선택
– [열기]
 투명처리
– 레이어 트리에서 가장 위 영상 더블클릭

– 투명도 선택
– 추가적인 no data vlaue에 0 입력
– [OK]
영상출처: http://earthexplorer.usgs.gov/
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

18

장병진 (bjjang@gaia3d.com)
II-1. World Image로 서비스
 GeoServer에 올리기
 위성영상 복사
– C:OpenGisEduDataLANDSAT8 을
사용자.opengeodata_dirdata 폴더에 복사

 GeoServer 관리페이지 접속
– http://localhost:8080/geoserver/
– Stores – Add new Store
– Raster Data Source – World Image
– [Browse…]
– data/LANDSAT8/LC81140342013261LGN00.jpg 선택
– Data Source Name에 LC81140342013261LGN00 입력
– [Save]
 레이어 추가
– New Layer에서 [Publish] 선택
– Declared SRS에 EPSG:32652 입력
– SRS handling에 Force declared 선택
– [Compute from native bounds] 클릭

– [Save]
 확인
– Layer Preview
– Search에 LC 입력
– 등록된 영상의 [Go] 선택
– 결과: java.lang.OutOfMemoryError: Java heap space
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

19

장병진 (bjjang@gaia3d.com)
II-2. GeoTiff로 서비스
 GeoTiff 데이터 생성
 데이터 작업용 명령 프롬프트
– [시작]-모든 프로그램-QGIS Dufour-OSGeo4W 메뉴 선택
– Cd C:OpenGisEduDataLANDSAT8
 변환용 배치파일 생성
– Dir *.jpg /b > conv.bat
– Notepad++ 실행하여 conv.bat 열기
– 찾기-바꾸기… 메뉴
– 찾을 단어: rn, 바꿀 단어: 빈칸 하나
– 찾기방식: 확장
– [모두바꾸기]
– 내용 제일 앞에 다음 내용 추가
• gdalwarp -s_srs EPSG:32652 -t_srs EPSG:3857 -of GTiff -r cubic -srcnodata 0
– 내용 제일 뒤에 다음 내용 추가
• landsat8_korea.tif
– 저장
 변환작업 실행
– 다시 명령 프롬프트 창으로 돌아와
– Conv

 참고 사이트
– http://gdal.org/gdalwarp.html
– http://gdal.org/gdal_utilities.html
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

20

gdalwarp -s_srs EPSG:32652 -t_srs
EPSG:3857 -of GTiff -r cubic -srcnodata 0
LC81140342013261LGN00.jpg
LC81140352013261LGN00.jpg
LC81140362013261LGN00.jpg
LC81150332013300LGN00.jpg
LC81150342013300LGN00.jpg
LC81150352013300LGN00.jpg
LC81150362013300LGN00.jpg
LC81150372013300LGN00.jpg
LC81160342013259LGN00.jpg
LC81160352013259LGN00.jpg
LC81160362013259LGN00.jpg
LC81160372013259LGN00.jpg
landsat8_korea.tif

장병진 (bjjang@gaia3d.com)
작업 시간이 매우 오래 걸립니다. 식사하고 합시다!!!
II-2. GeoTiff로 서비스
 GeoTiff를 레이어로 올리기
 위성영상 복사
– C:OpenGisEduDataLANDSAT8landsat8_korea.tif 을
사용자.opengeodata_dirdataLANDSAT8 폴더에 복사
 GeoServer 관리페이지 접속
– Stores – Add new Store

– Raster Data Source – GeoTIFF
– [Browse…]
– data/LANDSAT8/landsat8_korea.tif선택
– Data Source Name에 landsat8_korea 입력
– [Save]
 레이어 추가
– New Layer에서 [Publish] 선택
– Native SRS가 EPSG:3857 임을 확인
– [Save]
 확인
– Layer Preview
– Search에 land 입력
– 등록된 영상의 [Go] 선택

 성능 평가
– Chrome 브라우저에서 [F12]
– Network 탭 선택
[질문] 왜 서해안과 제주 일부가 일본으로 갔을까?
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

22

장병진 (bjjang@gaia3d.com)
II-3. 성능개선 및 지도와 서비스
 GeoTiff에 Overview 추가
 Overview 생성
– 명령 프롬프트로 돌아와

– gdaladdo -r average landsat8_korea.tif 2 4 8 16 32
 위성영상 복사
– C:OpenGisEduDataLANDSAT8landsat8_korea.tif 을
사용자.opengeodata_dirdataLANDSAT8 폴더에 덮어 쓰기
 변경 적용
– GeoServer 관리 화면
– Server Status 메뉴
– Configuration and catalog의 [Reload] 클릭
 확인
– Layer Preview
– Search에 land 입력
– landsat8_korea 영상의 [Go] 선택
 성능 평가
– Chrome 브라우저에서 [F12]
– Network 탭 선택
– 5~10배 정도 속도향상 확인
– 영상품질 향상, 용량감소 확인
 참고 사이트
– http://gdal.org/gdaladdo.html
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

23

장병진 (bjjang@gaia3d.com)
II-3. 성능개선 및 지도와 서비스
 영상을 포함한 레이어그룹 구성
 EduMap Layer Group에 영상 추가
– Layer Groups에서 EduMap 선택
– [Add Layer…]
– Edu:landsat8_korea 선택
– 위쪽 화살표로 제일 상단으로 이동
– [Generate Bounds]
– [Save]
 미리보기로 확인

– Layer Preview, EduMap 보기
– 무엇이 잘못 되었을까?
 좌표계 수정
– Edu Workspace에 속한 모든 레이어 EPSG:3857로 변경
 다시 미리보기 확인
– 아까 띄워놓은 미리보기에서 화면 이동
– 해안선이 잘 일치 하는가?
 참고 사이트
– http://wiki.openstreetmap.org/wiki/EPSG:3857

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

24

장병진 (bjjang@gaia3d.com)
III. WPS를 이용한 고급 스타일
링
- 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다.
• 본 교재에서 사용하는 샘플 데이터 셋은 제공 기관 및 원작자에게 라이선스가 있습니다.
III-1. Heat Map, Point Cluster 샘플
 샘플 확인
 Heat Map 샘플

– GeoServer 관리화면에서
– Layer Preview 메뉴
– Search에 heat 입력
– Pop_heatmap의 [Go]
– Zoom과 pan으로 데이터 확인
– Styles 메뉴
– Heatmap 선택
– XML 확인
 Point Cluster 샘플
– GeoServer 관리화면에서
– Layer Preview
– Search에 cluster 입력
– Volcano_cluster의 [Go]

– Zoom과 pan으로 데이터 확인
– Styles 메뉴
– Stacked_point 선택
– XML 확인
 비교 사이트
– http://dev.openlayers.org/sandbox/camptocamp/canvas/openlayers/examples/heatMap.html
– http://www.openlayers.org/dev/examples/strategy-cluster-threshold.html
– http://www.ahnguhn.net/mapisode/maps/20130902/

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

26

장병진 (bjjang@gaia3d.com)
III-1. Heat Map, Point Cluster 샘플
 WPS 명세 확인
 제공되는 WPS 리스트
– GeoServer 관리화면에서
– 상단의 GeoServer 마크 눌러 Welcome 화면으로 가
서
– 우측의 Service Capabilities의 WPS-1.0.0 선택
 HeatMap의 인자 확인
– Demo – WPS request builder
– gs:heatmap 선택
– 하단에 나오는 인자들 확인
– http://localhost:8080/geoserver/ows?service=wps&v
ersion=1.0.0&request=DescribeProcess&identifier=g
s:Heatmap
 PointStacker의 인자 확인
– gs:PointStacker 선택
– 하단에 나오는 인자들 확인
– http://localhost:8080/geoserver/ows?service=wps&v
ersion=1.0.0&request=DescribeProcess&identifier=g
s:PointStacker

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

27

장병진 (bjjang@gaia3d.com)
III-2. PostGIS에 GIS 업체자료 올리기
 자료 확보
 자료 다운로드
– http://www.onspatial.com/2013/03/2013-gis.html
접속
– 온라인 편집 페이지 링크 클릭
– 파일 – 다른이름으로 저장-Microsoft Excel
– gis_related_company_20130227.xlsx 라는 이름으
로 저장
 CSV 파일로 변환
– 다운받은 파일 열기
– ID, 회사명, 주소, 경도, 위도만 남기고 컬럼 지우기
– 다른 이름으로 저장
– 파일형식에서 CSV (쉼표로 분리) 선택
– [저장]
 코드페이지 변경
– 엑셀 닫고
– Notepad++에서 csv 파일 열어서
– 인코딩 – UTF-8로 변환
– 252행 이후 빈 데이터 제거
– 저장
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

28

장병진 (bjjang@gaia3d.com)
III-2. PostGIS에 GIS 업체자료 올리기
 PostGIS에 올리기
CREATE TABLE opengeo.gis_corp

 테이블 생성

(

– [시작]-모든 프로그램-OpenGeo Suite 3.0.2-pgAdmin

id integer NOT NULL,

– Server Groups – Servers – OpenGeoSuite 더블클릭

– Databases – geoserver – Schemas – opengeo – Tables 오른쪽 클릭

corp_name character varying(100),

– New Table… 메뉴

addr character varying(200),

– Properties 탭의 Name에 gis_corp 입력

lon real,

– Columns 탭의 [Add]

lat real,

– Name: id, Data type: integer, [OK]
– Name: corp_name, Data Type: character varying, Length: 100, [OK]

CONSTRAINT gis_corp_pkey PRIMARY
KEY (id )

– Name: addr, Data Type: character varying, Length: 200, [OK]

);

– Name: lon, Data Type: real, [OK]

ALTER TABLE opengeo.gis_corp OWNER
TO postgres;

– Name: lat, Data Type: real, [OK]
– [OK]로 테이블 생성
– Databases – geoserver – Schemas – opengeo – Tables – gis_corp 오른쪽 클릭
– New Object – New Primary Key
– Columns 탭, Column: id 선택, [Add], [OK]
 데이터 부어 넣기
– SQL 아이콘 눌러 SQL Editor 띄우고
– 다음 입력
COPY opengeo.gis_corp(id, corp_name, addr, lon, lat)
FROM „c:OpenGisEduDatagis_related_company_20130227.csv'
WITH DELIMITER ','
CSV HEADER
– [F5] 키
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

29

장병진 (bjjang@gaia3d.com)
III-3. WPS를 이용한 스타일 적용
 SQL View Layer 만들기
 Data Store 만들기
– GeoServer 관리화면에서
– Stores – Add new Store – PostGIS
– 필요정보 입력
 SQL View Layer 만들기
– Layers – Add a new resource
– Edu:postgis 선택
– [Configure new SQL view…] 선택
– View Name: gis_corp
– SQL statement
select corp_name, ST_Transform(ST_SetSRID(ST_Point(lon,lat), 4326),
3857) pos
from opengeo.gis_corp
– [Refresh] 선택
– Pos의 SRID에 3857 입력
– [Save]
– [Compute from data]
– [Compute from native bounds]
– [Save]
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

30

장병진 (bjjang@gaia3d.com)
III-3. WPS를 이용한 스타일 적용
 WPS 스타일 적용하기
 SQL View Layer 확인하기
– Layer Preview에서 edu:gis_corp 찾아서 [go]
 HeatMap으로 표현하기
– Layers에서 edu:gis_corp 선택
– Publishing 탭

– Default Style: heatmap, [Save]
– 이전에 사용한 미리보기 창에서 확인
 Point Cluster로 표현하기
– Layers에서 edu:gis_corp 선택
– Publishing 탭
– Default Style: stacked_point , [Save]
– 이전에 사용한 미리보기 창에서 확인
 EduMap Layer Group 수정
– Layer Groups에서 EduMap 선택
– Edu:landsat8_korea
– [Add Layer…] 선택하여 Edu:gis_corp 추가
– [Add Layer…] 선택하여 Edu:gis_corp 한번 더 추가
– 위의 edu:gis_corp 의 스타일을 heatmap으로 변경

– [Save]
[주의] 버그로 스타일을 바꾼 것이 UI에 안 나타날 수도 있습니다.

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

31

장병진 (bjjang@gaia3d.com)
IV. 공간자료와 통계의 연결
- 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다.
• 본 교재에서 사용하는 샘플 데이터 셋은 제공 기관 및 원작자에게 라이선스가 있습니다.
IV-1. PostGIS에 행정구역 자료 올리기
 데이터 받기 및 좌표계 변환
 행정구역 데이터 받기

– http://www.gisdeveloper.co.kr/notice/%EC%B5%9C%EC%8B%A0%EC%
8B%A0%ED%96%89%EC%A0%95%EA%B5%AC%EC%97%AD%EB%8F%84%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C
– 김형준님께서 취합해 올리신 전국 시군구 자료 다운로드
– C:OpenGisEduDataSIG_201311 에 압축 풀기
– 좌표계 정보 확인: Bessel 타원체의 UTM-K

– 해당 좌표계 EPSG 코드 확인: http://osgeo.kr/17
 좌표계 변환
– OSGeo4W 명령 프롬프트 실행
– 데이터가 있는 폴더로 이동
cd OpenGisEduDataSIG_201311
– EPSG:3857로 좌표계 변환
ogr2ogr -s_srs EPSG:5178 -t_srs EPSG:3857 -f "ESRI Shapefile" skipfailures --config SHAPE_ENCODING "CP949"
TL_SCCO_SIG_3857.shp TL_SCCO_SIG.shp
– 주의: 한글 문제 해결 위해 –config SHAPE_ENCODING "CP949" 필요
– 주의: ogr2ogr은 마지막에 대상 파일이 먼저 나오고 원본 파일이 가장 마지
막에 있어야 한다
– 참고: http://gdal.org/ogr2ogr.html

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

33

장병진 (bjjang@gaia3d.com)
IV-1. PostGIS에 행정구역 자료 올리기
 SQL로 만들어 올리기
 Shape 파일을 SQL로 변환

– Shp2PgSql 명령이 있는 폴더로 이동
Cd “c:Program Files (x86)OpenGeoOpenGeo Suitepgsql9.1bin”
– SQL 생성
shp2pgsql -c -s 3857 -i -I -W CP949
C:OpenGisEduDataSIG_201311TL_SCCO_SIG_3857.shp opengeo.sig >
C:OpenGisEduDataSIG.sql
– -s 옵션 뒤에 좌표계, -W 옵션뒤에 코드페이지가 들어가야 함을 명심

 Psql로 데이터 올리기
– 용량이 크거나 덤프가 포함된 sql은 psql 커맨드로 실행하는 것이 좋다.
psql -h localhost -p 54321 -U postgres -d geoserver -f
C:OpenGisEduDataSIG.sql
 GeoServer 레이어로 등록
– GeoServer 관리화면에서
– Layers – Add a new resource
– Sig – Publish
 등록 확인
– Layer Preview

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

34

장병진 (bjjang@gaia3d.com)
IV-2. PostGIS에 인구통계 올리기
 데이터 받기 및 다듬기
 주민등록 인구통계 데이터 받기

– http://rcps.egov.go.kr:8081/jsp/stat/ppl_stat_jf.jsp
– [엑셀다운로드]
 엑셀에서 csv 만들기
– 엑셀파일 열기
– 총인구수, 세대수, 남자인구수, 여자인구수의 셀 서식을 1000단위 구분기호 없게 변
경
– CSV로 저장
– 엑셀 종료
 CSV 편집
– 저장된 CSV를 Notepad++열기
– 헤더 부분 한 줄로 수정
– 찾기 – 바꾸기 메뉴
– 찾기 방식: 정규표현식
– 찾을 단어: .*(
– 바꿀 단어:
– [모두 바꾸기]
– 찾기 방식: 일반
– 찾을 단어: ),
– 바꿀 단어: ,
– [모두 바꾸기]
– 저장

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

35

장병진 (bjjang@gaia3d.com)
IV-2. PostGIS에 인구통계 올리기
 PostGIS에 인구통계 올리기
CREATE TABLE opengeo.population_2013

 PostGIS 테이블 만들기

(

– pgAdmin에서
– OpenGeoSuite – Databases – geoserver – Schemas – opengeo – Tables 오른쪽
클릭
– New Table…

admin_id character(10) NOT NULL,
pop_tot integer,
household integer,

num_per_house real,

– Name: population_2013

pop_man integer,

– 컬럼 및 기본 키 추가

pop_woman integer,

 PostGIS에 데이터 임포트

sex_ratio real,

– pgAdmin에서

CONSTRAINT population_2013_pkey
PRIMARY KEY (admin_id )

– SQL Editor 띄워서
– COPY 명령으로 데이터 부어 넣기

) WITH ( OIDS=FALSE);

COPY opengeo.population_2013(admin_id, pop_tot, household,
num_per_house, pop_man, pop_woman, sex_ratio)

ALTER TABLE opengeo.population_2013
OWNER TO postgres;

FROM 'c:OpenGisEduDatappl_20140107110532.csv'
WITH DELIMITER ','
CSV HEADER
– 뭘 잘못 했을까요?
– 오류는 한가지 뿐인가요?

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

36

장병진 (bjjang@gaia3d.com)
IV-2. PostGIS에 인구통계 올리기
 행정구역과 인구를 볼 수 있는 뷰 만들기
 뷰를 만들기 위한 쿼리 만들기

– pgAdmin에서
– SQL Editor 띄워서
– Graphical Query Builder 탭
– Geoserver –Schemas – opengeo 확장
– Sig 테이블 끌어 놓고 sig_cd, sig_kor_nm, geom 선택
– Population_2013 테이블 끌어 놓고 admin_id 제외하고 전부 선택
– Sig.sig_cd 끌어서 population_2013.admin_id와 연결

SELECT

– SQL Editor 탭

sig.sig_cd,

– [F5] 눌러 실행

sig.sig_kor_nm,

– 데이터가 나오나요? 무엇을 수정해야 할까요?

sig.geom,

 뷰 만들기

population_2013.pop_tot,

– pgAdmin에서

population_2013.household,

– OpenGeoSuite – Databases – geoserver – Schemas – opengeo 오른쪽 클릭

population_2013.num_per_house,

– New View…

population_2013.pop_man,

– Name: sig_pop_2013_view

population_2013.pop_woman,

– Definition 탭

population_2013.sex_ratio
FROM

– 만들어 둔 SQL 입력

opengeo.sig,

– [OK]

opengeo.population_2013
WHERE
sig.sig_cd||'00000' = population_2013.admin_id;

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

37

장병진 (bjjang@gaia3d.com)
IV-3. 인구수를 색상으로 표현하기
 인구밀도 표현을 위한 스타일 만들기
 QGIS에서 PostGIS 레이어 부르기
– QGIS에서
– 레이어 – PostGIS 레이어 추가

– 연결 – 새로 만들기
– 이름: localhost, 호스트: localhost, 포트: 54321, 데이터베이스:
geoserver, 사용자이름:posrgres, 비밀번호: postgres
– [연결 테스트]
– [OK]
– [연결]
– Opengeo 확장

– sig_pop_2013_view 선택
– [추가]
 스타일 만들기
– sig_pop_2013_view 레이어 더블클릭
– 스타일 탭
– 단계로 나누어진 선택
– 컬럼: pop_tot, 클레스: 7, 색상표: Oranges, 모드: 등간격
– [분류]
– 10만 단위로 분류 재정의
– [스타일 저장] – SLD 파일
– c:OpenGisEduDatasig_pop.sld 에 저장
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

38

장병진 (bjjang@gaia3d.com)
IV-3. 인구수를 색상으로 표현하기
 PostGIS에 인구통계 올리기
 GeoServer에 스타일 등록
– GeoServer 관리 화면에서
– Styles – Add a new style

– [파일 선택]
– [Upload…]
– [Submit]
 레이어 만들기
– Layers – Add a new layer
– Edu:postgis 선택
– Sig_pop_2013_view의 [Publish] 선택
– Declared SRS: EPSG:3857 확인
– [Compute from data] [Compute from native bounds]
– Publishing 탭
– Default style: sig_pop
– [Save]
 확인
– Layer Preview
– Edu:sig_pop_2013_view 선택
– 원하던 색상대로 나왔나요? 뭐가 잘못되었을까요?
[주의] QGIS의 등간격 분류값을 그냥 이용한 경우 다음 오류가 납니다.
invalid input syntax for integer: &quot;104508.4286&quot;
국가공간정보 거점대학 오픈 소스 GIS 심화 과정

39

장병진 (bjjang@gaia3d.com)
IV-4. 인구와 성비를 그래프로 표현하기
 GeoServer Chart Extention 소개

– http://www.onspatial.com/2013/08/geoserver-chart-extension.html
 파이차트용 스타일 만들기
– GeoServer 관리 화면에서
– Styles – Add a new style
– Name: PiChart
– Copy from existing style: point [Copy…]
– 웹 페이지에서 PI Chart SLD 주요 부분 복사
– MinScaleDenominator, MaxScaleDenominator 제거
– 참조 컬럼 부분을 pop_nam, pop_woman으로 수정
– 색상을 청색과 적색으로 수정
– 그래프 크기 부분을 pop_tot를 참조하고 적당한 크기가 되게 수정
 시간이 되시는 분은 Bar Chart도 시도

국가공간정보 거점대학 오픈 소스 GIS 심화 과정

40

<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http:
//www.opengis.net/sld" xmlns:ogc="http://www.opengi
s.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:
xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/sld
http://schemas.opengis.net/sld/1.0.0/StyledLayerDes
criptor.xsd">
<NamedLayer>
<Name>Pi Chart</Name>
<UserStyle>
<Title>Pi Chart</Title>
<FeatureTypeStyle>
<!-FeatureTypeName>Feature</FeatureTypeName-->
<Rule>
<Name>Chart</Name>
<!--MinScaleDenominator>100</MinScaleDenominator>
<MaxScaleDenominator>500000</MaxScaleDenominator장병진 (bjjang@gaia3d.com)
한국어 지부

함께 성장하는 새로운 방법,
오픈 소스 소프트웨어!!

감사합니다.

Q&A

Contenu connexe

Tendances

GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서SANGHEE SHIN
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기Byeong-Hyeok Yu
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료JungHwan Yun
 
[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
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0Byeong-Hyeok Yu
 
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
 
[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
 
QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)Byeong-Hyeok Yu
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현MinPa Lee
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례BJ Jang
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019Joonho Lee
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 SANGHEE SHIN
 
오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeoSANGHEE SHIN
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환BJ Jang
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화MinPa Lee
 
[공간정보연구원] 1일차 - QGIS 개요 및 기초
[공간정보연구원] 1일차 - QGIS 개요 및 기초[공간정보연구원] 1일차 - QGIS 개요 및 기초
[공간정보연구원] 1일차 - QGIS 개요 및 기초slhead1
 
오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심MinPa Lee
 
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반MinPa Lee
 
오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용SANGHEE SHIN
 

Tendances (20)

GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서GeoServer 2.4.x 한국어 사용자 지침서
GeoServer 2.4.x 한국어 사용자 지침서
 
지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기지리정보체계(GIS) - [2] 좌표계 이해하기
지리정보체계(GIS) - [2] 좌표계 이해하기
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료
 
[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
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0
 
PostGIS 시작하기
PostGIS 시작하기PostGIS 시작하기
PostGIS 시작하기
 
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
 
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
 
QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
 
Qgis 기초 2019
Qgis 기초 2019Qgis 기초 2019
Qgis 기초 2019
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현
 
오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
[공간정보연구원] 1일차 - QGIS 개요 및 기초
[공간정보연구원] 1일차 - QGIS 개요 및 기초[공간정보연구원] 1일차 - QGIS 개요 및 기초
[공간정보연구원] 1일차 - QGIS 개요 및 기초
 
오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심오픈소스 GIS의 이해 - OSgeo Projects 중심
오픈소스 GIS의 이해 - OSgeo Projects 중심
 
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
 
오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용
 

Similaire à 공간정보거점대학 1.geo server_고급과정

공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발MinPa Lee
 
공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)Sungjin Kang
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석MinPa Lee
 
[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GISMinPa Lee
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초 slhead1
 
[EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용 [EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용 MinPa Lee
 
공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습BJ Jang
 
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발MinPa Lee
 
Python qgis advanced
Python qgis advancedPython qgis advanced
Python qgis advancedJiyoon Kim
 
오픈소스 공간통계분석 패키지 개발
오픈소스  공간통계분석 패키지 개발오픈소스  공간통계분석 패키지 개발
오픈소스 공간통계분석 패키지 개발MinPa Lee
 
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발MinPa Lee
 
GeoNode - Open Source Geospatial Content Management System
GeoNode - Open Source Geospatial Content Management SystemGeoNode - Open Source Geospatial Content Management System
GeoNode - Open Source Geospatial Content Management SystemMinPa Lee
 
오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례HaNJiN Lee
 
mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 SANGHEE SHIN
 
[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig기웅 김
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Jaehoon Kim
 
State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진MinPa Lee
 
Bigdata with Google Cloud
Bigdata with Google CloudBigdata with Google Cloud
Bigdata with Google Cloud정출 김
 
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능Changhwan Yi
 

Similaire à 공간정보거점대학 1.geo server_고급과정 (20)

공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발
 
공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)공간정보아카데미 QGIS 기초 (2017.5)
공간정보아카데미 QGIS 기초 (2017.5)
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
 
[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS[FOSS4G] uDig Desktop GIS
[FOSS4G] uDig Desktop GIS
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
 
[EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용 [EEENAR] OpenGXT 소개와 활용
[EEENAR] OpenGXT 소개와 활용
 
공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습
 
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
 
Python qgis advanced
Python qgis advancedPython qgis advanced
Python qgis advanced
 
오픈소스 공간통계분석 패키지 개발
오픈소스  공간통계분석 패키지 개발오픈소스  공간통계분석 패키지 개발
오픈소스 공간통계분석 패키지 개발
 
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
 
GeoNode - Open Source Geospatial Content Management System
GeoNode - Open Source Geospatial Content Management SystemGeoNode - Open Source Geospatial Content Management System
GeoNode - Open Source Geospatial Content Management System
 
오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례오픈소스기반 상용소프트웨어 GXT의 적용사례
오픈소스기반 상용소프트웨어 GXT의 적용사례
 
mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 mago3D 한국어 소개 자료
mago3D 한국어 소개 자료
 
[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig[FOSS4G KOREA 2014] Introduce uDig
[FOSS4G KOREA 2014] Introduce uDig
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축
 
State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진State of OpenGXT: 오픈소스 공간분석엔진
State of OpenGXT: 오픈소스 공간분석엔진
 
Bigdata with Google Cloud
Bigdata with Google CloudBigdata with Google Cloud
Bigdata with Google Cloud
 
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능
 

Plus de BJ Jang

Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료BJ Jang
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료BJ Jang
 
2017년 나의 계획
2017년 나의 계획2017년 나의 계획
2017년 나의 계획BJ Jang
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습BJ Jang
 
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리BJ Jang
 
QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교BJ Jang
 
PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북BJ Jang
 
Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417BJ Jang
 
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...BJ Jang
 
올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023BJ Jang
 
Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001BJ Jang
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...BJ Jang
 
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례BJ Jang
 
[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service final[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service finalBJ Jang
 
Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028BJ Jang
 

Plus de BJ Jang (15)

Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료
 
2017년 나의 계획
2017년 나의 계획2017년 나의 계획
2017년 나의 계획
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
 
QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교
 
PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북
 
Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417
 
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...
 
올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023
 
Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...
 
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례
 
[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service final[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service final
 
Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028
 

공간정보거점대학 1.geo server_고급과정

  • 1. 한국어 지부 GeoServer 고급 2014년 1월 20일 국토교통부 공간정보 거점대학 오픈 소스 GIS 심화 과정 가이아쓰리디㈜ 장병진(bjjang@gaia3d.com)
  • 2. 목차 I. 벡터자료를 이용한 지도서비스 III. WPS를 이용한 고급 스타일링 - QGIS에서 지도 구성하기 - Heat Map, Point Cluster 샘플 - OpenGeo Explorer를 이용한 Publish - PostGIS에 GIS 업체자료 올리기 - GeoServer에서 지도 서비스하기 - WPS를 이용한 스타일 적용 II. 대용량 위성사진 서비스 IV. 공간자료와 통계의 연결 - World Image로 서비스 - PostGIS에 행정구역 자료 올리기 - GeoTiff로 서비스 - PostGIS에 인구통계 올리기 - 성능개선 및 지도와 서비스 - 인구수를 색상으로 표현하기 - 인구와 성비를 그래프로 표현하기 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 2 장병진 (bjjang@gaia3d.com)
  • 3. 0. GeoServer란?  GIS 데이터를 웹에 공개(Publish)하기 위한 서버 지원 운영 체제 GeoServer  MS Windows  Mac OSX  Linux, Unix WMS WFS  GPL Raster Source 기반 언어 최신버전 png, jpeg, gif Feature Object GML, GeoJSON WCS Coverage Data ArcGrid, GeoTiff, bmp Vector Source 라이선스  JAVA Formatted Map Vector Source: Shape, GeoDB(PostGIS, Oracle Spatial 등) Raster Source: GeoTiff, World Image, IMG, ArcGrid  2.4.3 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 3 장병진 (bjjang@gaia3d.com)
  • 4. 0. 강의자료 준비  필요 프로그램 – OpenGeo Suite Community Edition 3.0.2 • GeoServer 2.2.1 • PostgreSQL 9.1.4 • PostGIS 2.0 • http://boundlessgeo.com/solutions/opengeo-suite/download/ – QGIS 2.0.1 • http://qgis.org/en/site/forusers/download.html – Notepad++ • http://notepad-plus-plus.org/download/  필요 자료 – Http://osgeo.ipdisk.co.kr osgeo/osgeo – /HDD1/Edu/20140120_이화여대/02_실습예제 – 한반도 벡터지도 – 한반도 LANDSAT 8 영상 – 2013년 현재 국내 GIS 관련 업체 현황 – 2013년 전국 행정구역도 – 2013년 전국 주민등록 인구통계 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 4 장병진 (bjjang@gaia3d.com)
  • 5. I. 벡터자료를 이용한 지도서비 스 - 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다. • 본 교재에서 사용하는 샘플 데이터 셋은 실제 정보와 다르므로 교육용 이외에는 사용할 수 없습니다.
  • 6. I-1. QGIS에서 지도 구성하기  실습 데이터 설정 1) 데이터 다운로드 – http://osgeo.ipdisk.co.kr 접속 – HDD1/Edu/20140120_이화여대/02_실습예제 /01_GeoServer/VectorMap.zip 다운로드 2) 벡터지도 폴더 만들기 – 윈도우 탐색기 실행 – C:OpenGisEduDataVectorMap.zip 파일 오른쪽 클릭 – 압축 풀기 메뉴 선택 – [압축 풀기] 선택 3) 파일확인 – C:OpenGisEduDataVectorMap 에 Shape 파일들이 있는지 확인 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 장병진 (bjjang@gaia3d.com)
  • 7. I-1. QGIS에서 지도 구성하기  QGIS에서 Shape 파일 읽기 1) QGIS 실행 – [시작]버튼 – QGIS Dufour – QGIS Desktop 2.0.1 클릭 2) 벡터 레이어 추가 – 레이어 – 벡터 레이어 추가 메뉴 선택 – [탐색] 버튼 클릭 – C:OpenGisEduDataVectorMap 폴더로 이동 – [Ctrl-A] 눌러 전체 선택 – [확인] – [Open] 3) 필요 레이어만 정렬 – 아래서부터 World_Admin, Major_Routes, World_Cities 순으로 배열되게 레이어 트리 조정 – 다른 레이어는 모두 꺼서 안보이게 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 7 장병진 (bjjang@gaia3d.com)
  • 8. I-1. QGIS에서 지도 구성하기  단순 심볼 부여 1) 땅 심벌 지정 – World_Admin 레이어 더블클릭 – 스타일 선택 – 저장된 스타일에서 land 심볼 선택 – [OK] 2) 도로 심벌 지정 – Major_Routes 레이어 더블클릭 – 스타일 선택 – 저장된 스타일에서 road 심볼 선택 – [OK] – 다시 Major_Routes 레이어 더블클릭 – 심볼 레이어 군에서 위의 단순선 선택 – 캡 스타일에서 평평하게 선택 – 아래 단순선도 동일하게 수정 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 8 장병진 (bjjang@gaia3d.com)
  • 9. I-1. QGIS에서 지도 구성하기  속성기반 심볼 부여 1) 도시명 표출 – World_Cities 레이어 더블클릭 – 라벨 선택 – 이 레이어의 라벨 앞의 선택 체크 – NAME_LOCAL 컬럼 선택 – 배치 선택 – 점으로부터의 거리 선택 3) 표시도시 필터링 – World_Cities 레이어 더블클릭 – 일반 정보 선택 – [질의 생성기] 클릭 – POPULATION 선택 – [샘플] 클릭 – 프로바이더별 필터 표현식이 아래처럼 되게 설정 – "POPULATION" = '10K to 25K' OR "POPULATION“ = '250K to 900K' – 사분위에서 하단 중앙 선택 – [OK] 2) 인구별 표현 변경 – World_Cities 레이어 더블클릭 – 스타일 선택 – ‘단일심볼’을 선택하여 ‘분류된’으로 변경 – 컬럼을 POPULATION으로 변경 – 심볼에서 city 선택 – [분류] 버튼 클릭 – ‘900K to 3 Million’의 심볼 더블클릭 – 단순 마커 선택 – 크기 1.5로 변경 – [OK] – [OK] 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 9 장병진 (bjjang@gaia3d.com)
  • 10. I-1. QGIS에서 지도 구성하기  심볼 적용 결과 국가공간정보 거점대학 오픈 소스 GIS 심화 과정  좀더 손을 보면 10 장병진 (bjjang@gaia3d.com)
  • 11. I-2. OpenGeo Explorer를 이용한 Publish  OpenGeo Explorer 설치  OpenGeo Explorer 란? – QGIS UI를 이용해 GeoServer 와 PostGIS를 편하게 관리하는 툴 – http://qgis.boundlessgeo.com/static/docs/  설치 과정 – QGIS에서 플러그인-플러그인 관리 및 설치 메뉴 선택 – 설정 선택 – 실험적인 플러그인도 표시 체크 – [추가…] 버튼 선택 – 이름에 Boundless plugin repository 입력 – URL에 http://qgis.boundlessgeo.com/plugins.xml 입력 – [OK] – 더 찾기 선택 – 검색에 OpenGeo 입력 – OpenGeo Explorer 선택 – [플러그인 설치] 클릭 – [Close] 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 11 장병진 (bjjang@gaia3d.com)
  • 12. I-2. OpenGeo Explorer를 이용한 Publish  GeoServer에 올리기  GeoServer 실행 – OpenGeo Suite Dashboard 에서 [Startup]  GeoServer 연결 설정 – QGIS의 OpenGeo explorer 탭에서 GeoServer catalogs 오른쪽 클릭 – New Catalog 메뉴 선택 – 접속을 위한 정보 입력후 [OK]  새 Workspace 만들기 – QGIS의 OpenGeo explorer 탭에서 GeoServer catalogs 확장 – GeoServer Workspaces 오른쪽 클릭 – New Workspace 메뉴 선택 – 이름에 edu, URI에 edu.osgeo.kr 입력 – 추가된 edu 선택하고 Set as default workspace 선택  QGIS 레이어 올리기 – QGIS의 OpenGeo explorer 탭에서 QGIS project 확장 – QGIS Layers에서 모든 레이어 선택 – Publish Layer 메뉴 선택 – [OK] 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 12 장병진 (bjjang@gaia3d.com)
  • 13. I-2. OpenGeo Explorer를 이용한 Publish  QGIS에서 SLD 만들기  QGIS 스타일을 SLD로 저장 – QGIS 레이어 트리에서 World_Cities를 더블클릭 – 레이어 속성 창 하단의 [스타일 저장] 클릭 – C:OpenGisEduDataWorld_Cities.sld로 저장  Data 폴더로 Shape 복사 – 탐색기 실행 – C:OpenGisEduDataVectorMap 폴더로 이동 – World_Cities_3857.* 파일 선택해 복사 – [시작]-모든 프로그램-OpenGeo Suite 3.0.2-GeoServer Data Directory 메뉴 선택 – Dataedu 폴더로 이동하여 World_Cities_3857 폴더 생 성 – 붙여넣기 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 13 장병진 (bjjang@gaia3d.com)
  • 14. I-3. GeoServer에서 지도 서비스하기  수동 Publish  GeoServer 관리화면 접속 – http://localhost:8080/geoserver 접속 – Admin / geoserver 로 로그인  스타일 추가 – Styles - Add a new style – [파일선택] 클릭, 저장해둔 SLD 선택 – [Upload…] 클릭, [Submit] 클릭  스토어 추가 – Stores – Add new Stores – Shapefile 선택 – Data Source Name에 World_Cities_3857 입력 – DBF charset에 EUC-KR 선택 – [Save] 클릭  레이어 추가 – New Layer 화면에서 World_Cities_3857의 Publish 클릭 – Compute from data 클릭 – Compute from native bounds 클릭 – Publishing 탭 선택 – Default Style에 World_Cities_3857 선택 – [Save] 클릭 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 14 장병진 (bjjang@gaia3d.com)
  • 15. I-3. GeoServer에서 지도 서비스하기  스타일 수정 <?xml version="1.0" encoding="EUC-KR"?> <StyledLayerDescriptor version="1.0.0"  자동생산 SLD의 문제점 xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" – 텍스트가 나오지 않음 xmlns:ogc="http://www.opengis.net/ogc" – 많은 테그에 se:가 붙어야 함 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xlink="http://www.w3.org/1999/xlink" <NamedLayer> – 표준과 달라 매뉴얼의 샘플 참조 힘듦 <Name>World_Cities_3857</Name>  수정된 SLD <UserStyle> <Title>World_Cities_3857</Title> – World_Cities_3857_fix.sld <Abstract>World_Cities_3857</Abstract> <FeatureTypeStyle> – Encoding을 EUC-KR로 수정 <Rule> <Name>>3 Million</Name> – xmlns:se=http://www.opengis.net/se 제거 <ogc:Filter> – Se: 테그 제거 <ogc:PropertyIsEqualTo> <ogc:PropertyName>POPULATION</ogc:PropertyName> – TextSymbolizer 추가 <ogc:Literal>>3 Million</ogc:Literal> </ogc:PropertyIsEqualTo> – 한글폰트 적용 </ogc:Filter> <PointSymbolizer> <Graphic> <Mark> <WellKnownName>circle</WellKnownName> <Fill> <CssParameter name="fill">#000000</CssParameter> <CssParameter name="fill">#000000</CssParameter> </Fill> </Mark> <Size>6</Size> </Graphic> </PointSymbolizer> <TextSymbolizer> 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 <Label> 15 장병진 (bjjang@gaia3d.com) <ogc:PropertyName>NAME_LOCAL</ogc:PropertyName>
  • 16. I-3. GeoServer에서 지도 서비스하기  레이어 그룹 만들기  레이어 그룹의 필요성 – 클라이언트의 편리한 호출 – 레이어들의 순서 정의 – 레이어별 심볼 부여  레이어 그룹 정의 – GeoServer 관리화면에서 – Layer Groups – Add new layer group – Name에 EduMap – [Add Layer…] 클릭 – 밑에 깔려야 하는 레이어부터 추가 – World_Admin – Water_Poly – Water_Line – Minor_Routes – Major_Routes – World_Cities – [Generate Bounds] 클릭 – [Save] 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 16 장병진 (bjjang@gaia3d.com)
  • 17. II. 대용량 위성사진 서비스 - 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다. • 본 교재에서 사용하는 샘플 데이터 셋은 제공 기관 및 원작자에게 라이선스가 있습니다.
  • 18. II-1. World Image로 서비스  위성영상 확인  실습 데이터 설정 – http://osgeo.ipdisk.co.kr 접속 – HDD1/Edu/20140120_이화여대/02_실습예제 /01_GeoServer/LANDSAT8.zip 다운로드 – C:OpeGisEduData에 복사 – 압축 해제  QGIS에서 불러오기 – QGIS 실행 – 레이어 – 래스터 레이어 추가 메뉴 선택 – 파일이름 옆의 파일종류 [GDAL]JPEG 선택 – 모든 jpg 파일 선택 – [열기]  투명처리 – 레이어 트리에서 가장 위 영상 더블클릭 – 투명도 선택 – 추가적인 no data vlaue에 0 입력 – [OK] 영상출처: http://earthexplorer.usgs.gov/ 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 18 장병진 (bjjang@gaia3d.com)
  • 19. II-1. World Image로 서비스  GeoServer에 올리기  위성영상 복사 – C:OpenGisEduDataLANDSAT8 을 사용자.opengeodata_dirdata 폴더에 복사  GeoServer 관리페이지 접속 – http://localhost:8080/geoserver/ – Stores – Add new Store – Raster Data Source – World Image – [Browse…] – data/LANDSAT8/LC81140342013261LGN00.jpg 선택 – Data Source Name에 LC81140342013261LGN00 입력 – [Save]  레이어 추가 – New Layer에서 [Publish] 선택 – Declared SRS에 EPSG:32652 입력 – SRS handling에 Force declared 선택 – [Compute from native bounds] 클릭 – [Save]  확인 – Layer Preview – Search에 LC 입력 – 등록된 영상의 [Go] 선택 – 결과: java.lang.OutOfMemoryError: Java heap space 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 19 장병진 (bjjang@gaia3d.com)
  • 20. II-2. GeoTiff로 서비스  GeoTiff 데이터 생성  데이터 작업용 명령 프롬프트 – [시작]-모든 프로그램-QGIS Dufour-OSGeo4W 메뉴 선택 – Cd C:OpenGisEduDataLANDSAT8  변환용 배치파일 생성 – Dir *.jpg /b > conv.bat – Notepad++ 실행하여 conv.bat 열기 – 찾기-바꾸기… 메뉴 – 찾을 단어: rn, 바꿀 단어: 빈칸 하나 – 찾기방식: 확장 – [모두바꾸기] – 내용 제일 앞에 다음 내용 추가 • gdalwarp -s_srs EPSG:32652 -t_srs EPSG:3857 -of GTiff -r cubic -srcnodata 0 – 내용 제일 뒤에 다음 내용 추가 • landsat8_korea.tif – 저장  변환작업 실행 – 다시 명령 프롬프트 창으로 돌아와 – Conv  참고 사이트 – http://gdal.org/gdalwarp.html – http://gdal.org/gdal_utilities.html 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 20 gdalwarp -s_srs EPSG:32652 -t_srs EPSG:3857 -of GTiff -r cubic -srcnodata 0 LC81140342013261LGN00.jpg LC81140352013261LGN00.jpg LC81140362013261LGN00.jpg LC81150332013300LGN00.jpg LC81150342013300LGN00.jpg LC81150352013300LGN00.jpg LC81150362013300LGN00.jpg LC81150372013300LGN00.jpg LC81160342013259LGN00.jpg LC81160352013259LGN00.jpg LC81160362013259LGN00.jpg LC81160372013259LGN00.jpg landsat8_korea.tif 장병진 (bjjang@gaia3d.com)
  • 21. 작업 시간이 매우 오래 걸립니다. 식사하고 합시다!!!
  • 22. II-2. GeoTiff로 서비스  GeoTiff를 레이어로 올리기  위성영상 복사 – C:OpenGisEduDataLANDSAT8landsat8_korea.tif 을 사용자.opengeodata_dirdataLANDSAT8 폴더에 복사  GeoServer 관리페이지 접속 – Stores – Add new Store – Raster Data Source – GeoTIFF – [Browse…] – data/LANDSAT8/landsat8_korea.tif선택 – Data Source Name에 landsat8_korea 입력 – [Save]  레이어 추가 – New Layer에서 [Publish] 선택 – Native SRS가 EPSG:3857 임을 확인 – [Save]  확인 – Layer Preview – Search에 land 입력 – 등록된 영상의 [Go] 선택  성능 평가 – Chrome 브라우저에서 [F12] – Network 탭 선택 [질문] 왜 서해안과 제주 일부가 일본으로 갔을까? 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 22 장병진 (bjjang@gaia3d.com)
  • 23. II-3. 성능개선 및 지도와 서비스  GeoTiff에 Overview 추가  Overview 생성 – 명령 프롬프트로 돌아와 – gdaladdo -r average landsat8_korea.tif 2 4 8 16 32  위성영상 복사 – C:OpenGisEduDataLANDSAT8landsat8_korea.tif 을 사용자.opengeodata_dirdataLANDSAT8 폴더에 덮어 쓰기  변경 적용 – GeoServer 관리 화면 – Server Status 메뉴 – Configuration and catalog의 [Reload] 클릭  확인 – Layer Preview – Search에 land 입력 – landsat8_korea 영상의 [Go] 선택  성능 평가 – Chrome 브라우저에서 [F12] – Network 탭 선택 – 5~10배 정도 속도향상 확인 – 영상품질 향상, 용량감소 확인  참고 사이트 – http://gdal.org/gdaladdo.html 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 23 장병진 (bjjang@gaia3d.com)
  • 24. II-3. 성능개선 및 지도와 서비스  영상을 포함한 레이어그룹 구성  EduMap Layer Group에 영상 추가 – Layer Groups에서 EduMap 선택 – [Add Layer…] – Edu:landsat8_korea 선택 – 위쪽 화살표로 제일 상단으로 이동 – [Generate Bounds] – [Save]  미리보기로 확인 – Layer Preview, EduMap 보기 – 무엇이 잘못 되었을까?  좌표계 수정 – Edu Workspace에 속한 모든 레이어 EPSG:3857로 변경  다시 미리보기 확인 – 아까 띄워놓은 미리보기에서 화면 이동 – 해안선이 잘 일치 하는가?  참고 사이트 – http://wiki.openstreetmap.org/wiki/EPSG:3857 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 24 장병진 (bjjang@gaia3d.com)
  • 25. III. WPS를 이용한 고급 스타일 링 - 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다. • 본 교재에서 사용하는 샘플 데이터 셋은 제공 기관 및 원작자에게 라이선스가 있습니다.
  • 26. III-1. Heat Map, Point Cluster 샘플  샘플 확인  Heat Map 샘플 – GeoServer 관리화면에서 – Layer Preview 메뉴 – Search에 heat 입력 – Pop_heatmap의 [Go] – Zoom과 pan으로 데이터 확인 – Styles 메뉴 – Heatmap 선택 – XML 확인  Point Cluster 샘플 – GeoServer 관리화면에서 – Layer Preview – Search에 cluster 입력 – Volcano_cluster의 [Go] – Zoom과 pan으로 데이터 확인 – Styles 메뉴 – Stacked_point 선택 – XML 확인  비교 사이트 – http://dev.openlayers.org/sandbox/camptocamp/canvas/openlayers/examples/heatMap.html – http://www.openlayers.org/dev/examples/strategy-cluster-threshold.html – http://www.ahnguhn.net/mapisode/maps/20130902/ 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 26 장병진 (bjjang@gaia3d.com)
  • 27. III-1. Heat Map, Point Cluster 샘플  WPS 명세 확인  제공되는 WPS 리스트 – GeoServer 관리화면에서 – 상단의 GeoServer 마크 눌러 Welcome 화면으로 가 서 – 우측의 Service Capabilities의 WPS-1.0.0 선택  HeatMap의 인자 확인 – Demo – WPS request builder – gs:heatmap 선택 – 하단에 나오는 인자들 확인 – http://localhost:8080/geoserver/ows?service=wps&v ersion=1.0.0&request=DescribeProcess&identifier=g s:Heatmap  PointStacker의 인자 확인 – gs:PointStacker 선택 – 하단에 나오는 인자들 확인 – http://localhost:8080/geoserver/ows?service=wps&v ersion=1.0.0&request=DescribeProcess&identifier=g s:PointStacker 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 27 장병진 (bjjang@gaia3d.com)
  • 28. III-2. PostGIS에 GIS 업체자료 올리기  자료 확보  자료 다운로드 – http://www.onspatial.com/2013/03/2013-gis.html 접속 – 온라인 편집 페이지 링크 클릭 – 파일 – 다른이름으로 저장-Microsoft Excel – gis_related_company_20130227.xlsx 라는 이름으 로 저장  CSV 파일로 변환 – 다운받은 파일 열기 – ID, 회사명, 주소, 경도, 위도만 남기고 컬럼 지우기 – 다른 이름으로 저장 – 파일형식에서 CSV (쉼표로 분리) 선택 – [저장]  코드페이지 변경 – 엑셀 닫고 – Notepad++에서 csv 파일 열어서 – 인코딩 – UTF-8로 변환 – 252행 이후 빈 데이터 제거 – 저장 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 28 장병진 (bjjang@gaia3d.com)
  • 29. III-2. PostGIS에 GIS 업체자료 올리기  PostGIS에 올리기 CREATE TABLE opengeo.gis_corp  테이블 생성 ( – [시작]-모든 프로그램-OpenGeo Suite 3.0.2-pgAdmin id integer NOT NULL, – Server Groups – Servers – OpenGeoSuite 더블클릭 – Databases – geoserver – Schemas – opengeo – Tables 오른쪽 클릭 corp_name character varying(100), – New Table… 메뉴 addr character varying(200), – Properties 탭의 Name에 gis_corp 입력 lon real, – Columns 탭의 [Add] lat real, – Name: id, Data type: integer, [OK] – Name: corp_name, Data Type: character varying, Length: 100, [OK] CONSTRAINT gis_corp_pkey PRIMARY KEY (id ) – Name: addr, Data Type: character varying, Length: 200, [OK] ); – Name: lon, Data Type: real, [OK] ALTER TABLE opengeo.gis_corp OWNER TO postgres; – Name: lat, Data Type: real, [OK] – [OK]로 테이블 생성 – Databases – geoserver – Schemas – opengeo – Tables – gis_corp 오른쪽 클릭 – New Object – New Primary Key – Columns 탭, Column: id 선택, [Add], [OK]  데이터 부어 넣기 – SQL 아이콘 눌러 SQL Editor 띄우고 – 다음 입력 COPY opengeo.gis_corp(id, corp_name, addr, lon, lat) FROM „c:OpenGisEduDatagis_related_company_20130227.csv' WITH DELIMITER ',' CSV HEADER – [F5] 키 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 29 장병진 (bjjang@gaia3d.com)
  • 30. III-3. WPS를 이용한 스타일 적용  SQL View Layer 만들기  Data Store 만들기 – GeoServer 관리화면에서 – Stores – Add new Store – PostGIS – 필요정보 입력  SQL View Layer 만들기 – Layers – Add a new resource – Edu:postgis 선택 – [Configure new SQL view…] 선택 – View Name: gis_corp – SQL statement select corp_name, ST_Transform(ST_SetSRID(ST_Point(lon,lat), 4326), 3857) pos from opengeo.gis_corp – [Refresh] 선택 – Pos의 SRID에 3857 입력 – [Save] – [Compute from data] – [Compute from native bounds] – [Save] 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 30 장병진 (bjjang@gaia3d.com)
  • 31. III-3. WPS를 이용한 스타일 적용  WPS 스타일 적용하기  SQL View Layer 확인하기 – Layer Preview에서 edu:gis_corp 찾아서 [go]  HeatMap으로 표현하기 – Layers에서 edu:gis_corp 선택 – Publishing 탭 – Default Style: heatmap, [Save] – 이전에 사용한 미리보기 창에서 확인  Point Cluster로 표현하기 – Layers에서 edu:gis_corp 선택 – Publishing 탭 – Default Style: stacked_point , [Save] – 이전에 사용한 미리보기 창에서 확인  EduMap Layer Group 수정 – Layer Groups에서 EduMap 선택 – Edu:landsat8_korea – [Add Layer…] 선택하여 Edu:gis_corp 추가 – [Add Layer…] 선택하여 Edu:gis_corp 한번 더 추가 – 위의 edu:gis_corp 의 스타일을 heatmap으로 변경 – [Save] [주의] 버그로 스타일을 바꾼 것이 UI에 안 나타날 수도 있습니다. 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 31 장병진 (bjjang@gaia3d.com)
  • 32. IV. 공간자료와 통계의 연결 - 일러두기 • 본 자료는 모두 Creative Commons License CC-BY-NC을 따릅니다. • 본 교재에서 사용하는 샘플 데이터 셋은 제공 기관 및 원작자에게 라이선스가 있습니다.
  • 33. IV-1. PostGIS에 행정구역 자료 올리기  데이터 받기 및 좌표계 변환  행정구역 데이터 받기 – http://www.gisdeveloper.co.kr/notice/%EC%B5%9C%EC%8B%A0%EC% 8B%A0%ED%96%89%EC%A0%95%EA%B5%AC%EC%97%AD%EB%8F%84%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C – 김형준님께서 취합해 올리신 전국 시군구 자료 다운로드 – C:OpenGisEduDataSIG_201311 에 압축 풀기 – 좌표계 정보 확인: Bessel 타원체의 UTM-K – 해당 좌표계 EPSG 코드 확인: http://osgeo.kr/17  좌표계 변환 – OSGeo4W 명령 프롬프트 실행 – 데이터가 있는 폴더로 이동 cd OpenGisEduDataSIG_201311 – EPSG:3857로 좌표계 변환 ogr2ogr -s_srs EPSG:5178 -t_srs EPSG:3857 -f "ESRI Shapefile" skipfailures --config SHAPE_ENCODING "CP949" TL_SCCO_SIG_3857.shp TL_SCCO_SIG.shp – 주의: 한글 문제 해결 위해 –config SHAPE_ENCODING "CP949" 필요 – 주의: ogr2ogr은 마지막에 대상 파일이 먼저 나오고 원본 파일이 가장 마지 막에 있어야 한다 – 참고: http://gdal.org/ogr2ogr.html 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 33 장병진 (bjjang@gaia3d.com)
  • 34. IV-1. PostGIS에 행정구역 자료 올리기  SQL로 만들어 올리기  Shape 파일을 SQL로 변환 – Shp2PgSql 명령이 있는 폴더로 이동 Cd “c:Program Files (x86)OpenGeoOpenGeo Suitepgsql9.1bin” – SQL 생성 shp2pgsql -c -s 3857 -i -I -W CP949 C:OpenGisEduDataSIG_201311TL_SCCO_SIG_3857.shp opengeo.sig > C:OpenGisEduDataSIG.sql – -s 옵션 뒤에 좌표계, -W 옵션뒤에 코드페이지가 들어가야 함을 명심  Psql로 데이터 올리기 – 용량이 크거나 덤프가 포함된 sql은 psql 커맨드로 실행하는 것이 좋다. psql -h localhost -p 54321 -U postgres -d geoserver -f C:OpenGisEduDataSIG.sql  GeoServer 레이어로 등록 – GeoServer 관리화면에서 – Layers – Add a new resource – Sig – Publish  등록 확인 – Layer Preview 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 34 장병진 (bjjang@gaia3d.com)
  • 35. IV-2. PostGIS에 인구통계 올리기  데이터 받기 및 다듬기  주민등록 인구통계 데이터 받기 – http://rcps.egov.go.kr:8081/jsp/stat/ppl_stat_jf.jsp – [엑셀다운로드]  엑셀에서 csv 만들기 – 엑셀파일 열기 – 총인구수, 세대수, 남자인구수, 여자인구수의 셀 서식을 1000단위 구분기호 없게 변 경 – CSV로 저장 – 엑셀 종료  CSV 편집 – 저장된 CSV를 Notepad++열기 – 헤더 부분 한 줄로 수정 – 찾기 – 바꾸기 메뉴 – 찾기 방식: 정규표현식 – 찾을 단어: .*( – 바꿀 단어: – [모두 바꾸기] – 찾기 방식: 일반 – 찾을 단어: ), – 바꿀 단어: , – [모두 바꾸기] – 저장 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 35 장병진 (bjjang@gaia3d.com)
  • 36. IV-2. PostGIS에 인구통계 올리기  PostGIS에 인구통계 올리기 CREATE TABLE opengeo.population_2013  PostGIS 테이블 만들기 ( – pgAdmin에서 – OpenGeoSuite – Databases – geoserver – Schemas – opengeo – Tables 오른쪽 클릭 – New Table… admin_id character(10) NOT NULL, pop_tot integer, household integer, num_per_house real, – Name: population_2013 pop_man integer, – 컬럼 및 기본 키 추가 pop_woman integer,  PostGIS에 데이터 임포트 sex_ratio real, – pgAdmin에서 CONSTRAINT population_2013_pkey PRIMARY KEY (admin_id ) – SQL Editor 띄워서 – COPY 명령으로 데이터 부어 넣기 ) WITH ( OIDS=FALSE); COPY opengeo.population_2013(admin_id, pop_tot, household, num_per_house, pop_man, pop_woman, sex_ratio) ALTER TABLE opengeo.population_2013 OWNER TO postgres; FROM 'c:OpenGisEduDatappl_20140107110532.csv' WITH DELIMITER ',' CSV HEADER – 뭘 잘못 했을까요? – 오류는 한가지 뿐인가요? 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 36 장병진 (bjjang@gaia3d.com)
  • 37. IV-2. PostGIS에 인구통계 올리기  행정구역과 인구를 볼 수 있는 뷰 만들기  뷰를 만들기 위한 쿼리 만들기 – pgAdmin에서 – SQL Editor 띄워서 – Graphical Query Builder 탭 – Geoserver –Schemas – opengeo 확장 – Sig 테이블 끌어 놓고 sig_cd, sig_kor_nm, geom 선택 – Population_2013 테이블 끌어 놓고 admin_id 제외하고 전부 선택 – Sig.sig_cd 끌어서 population_2013.admin_id와 연결 SELECT – SQL Editor 탭 sig.sig_cd, – [F5] 눌러 실행 sig.sig_kor_nm, – 데이터가 나오나요? 무엇을 수정해야 할까요? sig.geom,  뷰 만들기 population_2013.pop_tot, – pgAdmin에서 population_2013.household, – OpenGeoSuite – Databases – geoserver – Schemas – opengeo 오른쪽 클릭 population_2013.num_per_house, – New View… population_2013.pop_man, – Name: sig_pop_2013_view population_2013.pop_woman, – Definition 탭 population_2013.sex_ratio FROM – 만들어 둔 SQL 입력 opengeo.sig, – [OK] opengeo.population_2013 WHERE sig.sig_cd||'00000' = population_2013.admin_id; 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 37 장병진 (bjjang@gaia3d.com)
  • 38. IV-3. 인구수를 색상으로 표현하기  인구밀도 표현을 위한 스타일 만들기  QGIS에서 PostGIS 레이어 부르기 – QGIS에서 – 레이어 – PostGIS 레이어 추가 – 연결 – 새로 만들기 – 이름: localhost, 호스트: localhost, 포트: 54321, 데이터베이스: geoserver, 사용자이름:posrgres, 비밀번호: postgres – [연결 테스트] – [OK] – [연결] – Opengeo 확장 – sig_pop_2013_view 선택 – [추가]  스타일 만들기 – sig_pop_2013_view 레이어 더블클릭 – 스타일 탭 – 단계로 나누어진 선택 – 컬럼: pop_tot, 클레스: 7, 색상표: Oranges, 모드: 등간격 – [분류] – 10만 단위로 분류 재정의 – [스타일 저장] – SLD 파일 – c:OpenGisEduDatasig_pop.sld 에 저장 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 38 장병진 (bjjang@gaia3d.com)
  • 39. IV-3. 인구수를 색상으로 표현하기  PostGIS에 인구통계 올리기  GeoServer에 스타일 등록 – GeoServer 관리 화면에서 – Styles – Add a new style – [파일 선택] – [Upload…] – [Submit]  레이어 만들기 – Layers – Add a new layer – Edu:postgis 선택 – Sig_pop_2013_view의 [Publish] 선택 – Declared SRS: EPSG:3857 확인 – [Compute from data] [Compute from native bounds] – Publishing 탭 – Default style: sig_pop – [Save]  확인 – Layer Preview – Edu:sig_pop_2013_view 선택 – 원하던 색상대로 나왔나요? 뭐가 잘못되었을까요? [주의] QGIS의 등간격 분류값을 그냥 이용한 경우 다음 오류가 납니다. invalid input syntax for integer: &quot;104508.4286&quot; 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 39 장병진 (bjjang@gaia3d.com)
  • 40. IV-4. 인구와 성비를 그래프로 표현하기  GeoServer Chart Extention 소개 – http://www.onspatial.com/2013/08/geoserver-chart-extension.html  파이차트용 스타일 만들기 – GeoServer 관리 화면에서 – Styles – Add a new style – Name: PiChart – Copy from existing style: point [Copy…] – 웹 페이지에서 PI Chart SLD 주요 부분 복사 – MinScaleDenominator, MaxScaleDenominator 제거 – 참조 컬럼 부분을 pop_nam, pop_woman으로 수정 – 색상을 청색과 적색으로 수정 – 그래프 크기 부분을 pop_tot를 참조하고 적당한 크기가 되게 수정  시간이 되시는 분은 Bar Chart도 시도 국가공간정보 거점대학 오픈 소스 GIS 심화 과정 40 <?xml version="1.0" encoding="ISO-8859-1"?> <StyledLayerDescriptor version="1.0.0" xmlns="http: //www.opengis.net/sld" xmlns:ogc="http://www.opengi s.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns: xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDes criptor.xsd"> <NamedLayer> <Name>Pi Chart</Name> <UserStyle> <Title>Pi Chart</Title> <FeatureTypeStyle> <!-FeatureTypeName>Feature</FeatureTypeName--> <Rule> <Name>Chart</Name> <!--MinScaleDenominator>100</MinScaleDenominator> <MaxScaleDenominator>500000</MaxScaleDenominator장병진 (bjjang@gaia3d.com)
  • 41. 한국어 지부 함께 성장하는 새로운 방법, 오픈 소스 소프트웨어!! 감사합니다. Q&A