# 1. 소개

Orange Web v2.0 GWS(Geo Web Server) 개발자 가이드

## 환영합니다!

Orange Web v2.0 GWS(Geo Web Server) 개발자 가이드에 오신 것을 환영합니다! 이 가이드는 당사 제품을 사용하여 웹 기반 지리 정보 시스템(GIS)을 구축하는 방법에 대한 포괄적인 내용을 제공하고 있습니다. 이제 막 시작한 개발자에게 이 가이드는 강력하고 동적인 웹 매핑 응용 프로그램을 만드는 데 필요한 주요 개념과 도구를 이해하는 데 도움이 될 것입니다. GIS에 대한기초 지식과 및 웹 GIS의 기초부터 OpenLayers를  이용한 시각화같은 주제에 이르기까지 모든 것을 다룰 것입니다. 이제 웹 GIS의 흥미진진한 세계를 함께 시작하고 탐험해 봅시다!

<br>


# 2. 지리정보시스템 소개

Web GIS(Geographic Information System)에 대해 경험이 적은 분들을 대상으로 간단한 방식으로 GIS에 대한 소개를 합니다.

{% content-ref url="/pages/VxGAA8EkIEgccO2vR8LN" %}
[GIS 소개](/2/1)
{% endcontent-ref %}

{% content-ref url="/pages/GUJw5CH5SLP3sf88m9Yi" %}
[좌표계](/2/2)
{% endcontent-ref %}

{% content-ref url="/pages/ZhwzpOJlx0nfPE2YCuzF" %}
[공간데이터 저장](/2/3)
{% endcontent-ref %}

{% content-ref url="/pages/GHK0UW7Y8610hZ964Vyj" %}
[공간인덱스 검색](/2/4)
{% endcontent-ref %}

{% content-ref url="/pages/eHg8xiQ8SL54Qlj3CzWo" %}
[공간데이터 도구들](/2/5)
{% endcontent-ref %}

{% content-ref url="/pages/5SDDEk1VNPZppL5gXc9I" %}
[공간데이터 웹 서비스](/2/6)
{% endcontent-ref %}


# GIS 소개

GIS(Geographic Information System)에 대한 간단한 소개

지리 정보란 지구상의 특정 위치와 관련된 데이터를 말합니다. 지형, 건물 및 도로와 같은 위치의 물리적 특징에 대한 정보가 포함됩니다. 지리 정보 데이터는 종종 위성 이미지, GPS 장치 및 원격 감지 기술을 통해 수집되며 지리 정보 시스템(GIS) 소프트웨어를 사용하여 분석됩니다. 지리 정보는 토지 이용 계획, 천연 자원 관리, 비상 대응 및 내비게이션을 비롯한 광범위한 응용 분야에서 사용됩니다. 이를 통해 우리는 주변 세계를 더 잘 이해하고 데이터 내의 공간적 관계와 패턴을 기반으로 더 많은 정보에 입각한 결정을 내릴 수 있습니다.

지리정보시스템(GIS)은 사용자가 공간 데이터를 저장, 분석 및 표시할 수 있는 컴퓨터 기반 시스템이라고 설명할 수 있습니다. 특수 소프트웨어와 하드웨어를 사용하여 지구 표면과 대기의 물리적 특징과 특성에 대한 정보를 수집하고 관리합니다. GIS는 지도, 위성 이미지, 인구통계 데이터를 포함한 여러 계층의 정보를 통합하여 사용자가 데이터 내의 공간 관계와 패턴을 이해하도록 돕습니다. 이를 통해 토지 사용 계획, 운송, 천연 자원 관리 및 비상 대응과 같은 광범위한 문제에 대해 정보에 입각한 결정을 내릴 수 있습니다. GIS는 정부, 환경 관리, 도시 계획, 운송 및 농업을 포함한 광범위한 산업에서 사용됩니다. 복잡한 공간 데이터를 시각화하고 분석하기 위한 강력한 도구이며 우리 주변의 세계를 관리하고 이해하는 데 필수적입니다.

#### GIS(Geographic Information System : 지리정보시스템) 란?

* 지구상에 존재하는 참조될 모든 형태의 정보를 효과적으로 취득, 입력, 저장, 갱신, 조작, 분석, 출력하여 다른 가치 있는 정보로 유용하게 활용하기 위한 체계적인 활동과정
* 지구상에서 발생하는 시공간의 제반 형상들의 위치 정보와 속성 정보를 결합해 컴퓨터를 통해 입력, 저장하고 검색,갱신 등 정보를 관리하고,적절한 조작,처리 및 분석
* GIS정보의 소재
  * 항공기 원격탐사, 수증기 정보, 대기정보, 인공위성 원격탐사, 해수정보, 화산 및 산불 정보 등

#### GIS의 구성요소

* 하드웨어, 조작 및 입력, 작업절차, 데이터베이스/자료, 소프트웨어

#### GIS 활동 분야

* 토지관련분야\
  공공기관의 토지관련정책에 대한 정보제공, 민원인에게 종합적인 토지 정보 서비스
* 시설물 관리분야\
  시설물에 대한 위치정보제공, 효과적인 일정 및 협력 작업을 위한 공간 분석 사용
* 교통 분야\
  철도 시스템 및 도로 시스템 상태 모니터링, 상품 및 서비스 배달 최적 경로, 물류 차량 추적, 교통 네트워크 관리
* 환경분야\
  자연자원 관리, 폐기물 관리, 지하수 모델링, 혐오시설 입지선정 및 대형건설사업에 따른 환경 예측
* 농업분야\
  토양특성에 가장 적합한 작목추천, 작물 재배시 수확량 예측, 토양관리 지침 제공, 과학적 영농지원
* 재해, 재난분야\
  홍수도달 시간 예측, 지진발생사례 정보를 통한 지진예측
* 도시계획 및 관리분야\
  도시현황 파악, 도시계획 수립, 도시정비 및 도시기반 시설물 관리
* 생활 및 위치정보분야\
  무선 엔지니어링, 운영지원시스템, 마케팅 및 세일즈, 위치 서비스, CRM, 네트워크 계획
* 건강 및 복지분야\
  고정자산, 유동자산 추적, 물품 및 목록 관리, 지리적 자산 할당, 펀드 개발 및 기증자 분석, 건강 네트워크 분석

#### 지리 데이터

<figure><img src="/files/CXxxYNLgiKXIFOpOuwvk" alt=""><figcaption></figcaption></figure>


# 좌표계

좌표계는 공간에서 객체의 물리적 위치를 나타내는 방법을 정의하는 참조 프레임워크입니다. GIS(지리 정보 시스템)에서 지구 표면의 지형지물을 찾는 보편적인 방법을 제공하는 데 사용됩니다.

## 좌표계 종류

좌표계는 크게 지리좌표계(경도와 위도)와 투영좌표계(미터)로 나누어집니다.

### 지리좌표계

<figure><img src="/files/HFxCo3zeCzAVVjdftsQn" alt=""><figcaption></figcaption></figure>

지리좌표계란, 지구상에 위치를 좌표로 표현하기 위해 3차원의 구면을 이용하는 좌표계를 의미합니다. 한 지점은 경도(Longitude)와 위도(Latitude)로 표현되며 이 단위는 도(degree)로 표시됩니다.

<figure><img src="/files/a1IFAY5SlNwugYb9aefI" alt=""><figcaption></figcaption></figure>

사실 지구는 원이 아니라 타원체인데, 3차원의 지구를 좌표로 표현하기 위해서 지오이드(geoid)라는 방법론도 제안되었으나, 복잡성을 배제하기 위해 결과적으로는 평평한 타원체로 정의가 되있고 이를 지구 타원체(Earth Ellpsoid)라고 합니다. 이 타원체의 중심점(datumn)을 기반으로 측량을 하고 좌표를 통해 표현하게 되는데, 세계적으로 통일성을 유지하기 위해 국제 표준 타원체인 GRS80과 WGS84가 제시되었습니다.

위 좌표계가 바로 우리가 흔히 알고 있는 기본 위경도 좌표로, 경도(x)와 위도(y)를 갖고 있는 데이터라면 WGS84좌표라고 생각하면 됩니다.

### WGS84 좌표계

지구의 중심을 원점으로 XYZ축을 각각 정의하고 점의 위치를 표현하는 XYZ 좌표계의 일종입니다.

각국의 지오이드에 가장 잘 맞는 개별적인 타원체와 달리 지구를 총괄하는 통일된 타원체를 사용합니다.

그래서 GPS 위성에서 사용하는 좌표계이기도 합니다.

구글맵에서도 이 좌표계를 사용하기 때문에 우리나라에서 많이 사용하는 좌표계와의 변환이 필요합니다.

## 투영좌표계

투영좌표계란, 위 3차원 위경도 좌표를 2차원 평면상으로 나타내기 위해 투영(Projection)이라는 과정을 거치게 되는데 이 투영된 좌표를 투영좌표계라고 합니다.

이 투영방법에 따라서도 여러가지 체계로 분류가 되는데, 크게 2가지로 분류됩니다.

•TM(Transverse meractor) : 횡단원통등각투영법

•UTM(Universal Transcerse Mercator)

두 투영방법은 같은 계산법을 거치지만 상수가 다를 뿐입니다. 우리나라의 경우 TM 좌표계를 기반으로 국가 기본도를 제작하고 있으며, UTM은 군사지도나 단일원점을 사용하는 일부 부처에서 부분적으로 사용됩니다.

### 투영기법

보통 다음과 같은 3가지의 투영 기법을 사용하게 됩니다.

#### 1. 원통투영

메르카토 도법은 UTM(Universal Transverse Mercator)도법의 기본이 되는 기법입니다.

남북방향으로는 투영오차가 적고 동서방향으로 오차가 크기 떄문에 우리나라와 영국, 칠레와 같이 남북방향으로 긴 경우 사용한다고 합니다

<figure><img src="/files/3wBmhfWGLj6wpQBgBNkE" alt=""><figcaption></figcaption></figure>

#### 2. 원뿔투영

중간 크기의 나라나 극지방과 같은 원형 모양을 띤 나라에 적합하다고 합니다.

<figure><img src="/files/BmrmzUa83tpATQlcclWO" alt=""><figcaption></figcaption></figure>

#### 3. 평면투영

스위스와 같이 원형이 좁은 나라에 적합하다고 합니다.

<figure><img src="/files/piVQmjQN8PNahK5jSQQL" alt=""><figcaption></figcaption></figure>

### TM 좌표계

우리나라와 같이 남북으로 긴 나라에서 사용하는 좌표계입니다.

앞에 말한 원통투영을 기반으로 하고 있으며 측량 범위가 넓지 않은 곳에서 일반측량을 위해 주로 사용하는 평면 직각좌표계에 해당합니다.

다음 그림과 같이 서부, 중부, 동부의 투영 원점을 기반으로 구성되어 있다고 합니다.

<figure><img src="/files/cyQVqyB8obFCMBS7pxKR" alt=""><figcaption></figcaption></figure>

### UTM 좌표계

각국이 다른 좌표계를 사용하는데 따른 불편을 해소하고자 만든 통일된 직교좌표계입니다.

<figure><img src="/files/geVkywrhyVHeLLBPFmpR" alt=""><figcaption></figcaption></figure>

## 자주쓰는 좌표정보

<figure><img src="/files/OvwWkw7QQkv5GsnBA4bP" alt=""><figcaption></figcaption></figure>


# 공간데이터 저장


# 공간인덱스 검색


# 공간데이터 도구들

## QGIS

대부분의 공간정보 데이터는 SHP를 기본으로 제공됩니다. 그런데 GeoJSON이나 CSV 같은 텍스트 기반 데이터는 열어서 검증을 해볼 수 있지만, SHP는 불가능합니다. 따라서 SHP를 열어서 조작할 수 있는 일종의 툴이 필요한데, 가장 대표적인 툴은 QGIS입니다.

* QGIS: 오픈소스 프로그램. 무료지만, 대용량 처리 시 속도가  느림.

타일맵 제작이나 초대용량 데이터 처리가 아니라면, 대부분은 QGIS로 충분히 커버할 수 있습니다. Python과의 호환성이 좋아, Python을 활용한 다양한 플러그인을 사용할 수 있습니. 또한, 직접 스크립트를 입력하여 복잡한 동작을 수행할 수도 있습니다.

## QGIS 주요 기능

QGIS는 핵심 기능과 플러그인의 형태로 제공되는 많은 GIS 공통 기능들을 제공합니다.

1. **데이터 보기**
   * 데이터 포맷(자료형식) 변환없이 디스플레이, 중첩하여 보기

     1. 다양한 벡터 데이터 포맷 : Shapefile, ArcInfo Coverage, MapInfo(MIF, TAB), Delimited Text, OpenStreetMap, PostGIS, SpatiaLite, MS SQL Spatial, Oracle Spatial
     2. 다양한 래스터 데이터 포맷 : GeoTIFF, ErdasIMG, ArcGIS Grid, JPEG, PNG, PostGIS, SpatiaLite, Oracle Spatial(GeoRaster), GRASS GIS
     3. OGC 웹 서비스 : WMS, WMTS, WCS, WFS, WFS-T

     <figure><img src="/files/NavufETEqFkjq8mXBcgz" alt=""><figcaption><p>데이터소스 관리자 대화창</p></figcaption></figure>
2. **데이터 탐색 및 지도 제작**
   * 맵을 작성하고 친숙한 GUI를 통해 공간 데이터를 양방향으로 탐색

     1. 유용한 GUI 도구 : QGIS 브라우저, 실시간 투영 변환, DB 관리자, 지도 조판기, 오버뷰 패널, 공간 북마크, 주석 도구, 객체 식별/선택, 속성 편집/보기/검색, 데이터로 정의되는 객체 라벨링 작업, 데이터로 정의되는 벡터 및 래스터 심볼 도구, 경위선망 레이어가 지원되는 지도 조관, 지도를 위한 방위표, 축척, 저작권 라벨, 프로젝트 저장 및 불러오기 지원

     <figure><img src="/files/PhHS1DtBE2VNAknyLolc" alt=""><figcaption><p>QGIS GUI</p></figcaption></figure>
3. **데이터 생성, 편집, 관리 및 내보내기**

   * 벡터 및 래스터 레이어를 여러가지 포맷으로 생성, 편집, 관리, 변환

   <figure><img src="/files/J5jY3lz60Q6wVDzuxq8Y" alt=""><figcaption><p>인쇄 조판기</p></figcaption></figure>
4. **데이터 분석**
   * 공간 데이터베이스 및 다른 OGR 지원 포맷에 대해 공간 데이터 분석

     1. 벡터분석, 샘플링, 지오프로세싱, 지오메트리/DB 관리도구 제공

     <figure><img src="/files/Op0lLxIPxWkgYGNCH8ID" alt=""><figcaption><p>공간 처리 툴박스</p></figcaption></figure>
5. **온라인 맵 발행**

   * OGC 웹 서비스 클라이언트 : WMS, WMTS, WMS-C, WFS, WFS-T
   * OGC 웹 서비스 서버 : WMS, WCS, WFS
   * 기타 인터넷에서 지도 발행 : UMN MapServer, GeoServer

   <figure><img src="/files/UDfwiLJcEfURLZpDXwm8" alt=""><figcaption><p>QGIS Desktop consuming the QGIS Server countries layer WMS service</p></figcaption></figure>
6. **플러그인을 통한 확장 QGIS 기능**

   * 확장성이 있는 플러그인 아키텍처와 라이브러리를 통해 기능 확장
   * 새로운 기능(응용 프로그램)은 C++ 또는 파이썬으로 생성

   <figure><img src="/files/G1MBQokTtYZ2obaSVtWi" alt=""><figcaption><p>플러그인 검색하기</p></figcaption></figure>
7. **파이썬 콘솔**

   * 파이썬 콘솔 : 파이썬 명령어를 실행할 수 있는 대화형 쉘
   * 실행방법 : \[메뉴바] > \[플러그인] > \[파이썬 콘솔] 메뉴 클릭

   <figure><img src="/files/ZeCoNFWElTMunfaG4uDv" alt=""><figcaption><p>파이썬 콘솔</p></figcaption></figure>


# 공간데이터 웹 서비스

## OpenLayers

1. 웹 브라우저 상에 지도 데이터를 시각화 및 조작이 가능한 JavaScript 라이브러리
2. OSM (OpenStreetMap) 라는 오픈소스형 무료 지도 서비스 이용
   * OSM의 시작지인 런던은 가로수 하나까지도 한땀한땀 노드로 다 표현을 해놓았을 정도로 지도 데이터 질이 매우 좋다고 합니다.
   * 주요 대도시들은 구글맵보다도 더 정확하고 자세한 표현합니다.
3. 지도 기반의 GIS (geographic information system) 프로젝트 - GeoServer, PostgreSQL 연동으로 개발

### 특징

1. **타일 레이어**
   * OSM, Bing, MapBox, Stamen 및 찾을 수 있는 기타 XYZ 소스에서 타일을 가져옵니다.&#x20;
   * OGC 매핑 서비스 및 untiled 레이어도 지원됩니다.
2. **벡터 레이어**
   * GeoJSON, TopoJSON, KML, GML, Mapbox 벡터 타일 및 기타 형식의 벡터 데이터를 렌더링합니다.
3. **Cutting Edge, Fast & Mobile Ready**
   * Canvas 2D, WebGL 및 HTML5의 모든 최신 기능을 활용합니다.&#x20;
   * 즉시 사용 가능한 모바일 지원
   * 필요한 구성 요소만으로 경량 사용자 지정 프로필을 구축 가능합니다.
4. **Easy to Customize and Extend**
   * 간단한 CSS로 지도 컨트롤의 스타일을 지정할 수 있습니다.
   * 다양한 수준의 API에 연결하거나 타사 라이브러리를 사용하여 기능을 사용자 지정하고 확장합니다.

### 구조

<figure><img src="/files/Vq4Igu3pVCGCYaGSt6Zu" alt=""><figcaption><p>OpenLayers 구조</p></figcaption></figure>

Openlayers에서 지도서비스가 나타나기 위해서는 Map이 핵심요소로 필요합니다.

Map은 지도화면에 배경지도(BingMaps, GoogleMap, Kakao, Naver, OSM, 브이월드) 또는 배경지도 위에 WMS/WFS 레이어를 표출하기 위해 필요한 필수 객체 입니다.

Map을 사용하여 지도를 화면에 표출하기 위해서는 Layer와 View, Interaction, Controls 와 같은 요소가 필요합니다.

* &#x20;Layer는 배경지도 또는 레이어를 표출하기 위해 사용하는 객체입니다. 하나 이상의 레이어가 필요하여 Map에서 배열로 사용됩니다.
* View는 해상도, 화면 레벨, 좌표 등 지도의 시각적 효과에 대한 변수들을 정의합니다.
* Controls는 화면에 고정된 위치에 사용되는 버튼등에 이벤트를 적용하여 회전, 위치이동 등의 이벤트를 제공합니다.&#x20;
* Interaction은 마우스, 키보드 등의 이벤트로 효과를 제공합니다. (true, false)

## Leaflet

리플릿(Leaflet)은 웹 매핑 애플리케이션을 빌드하기 위해 사용되는 오픈 소스 자바스크립트 라이브러리입니다. HTML5와 CSS3를 지원하고 대부분의 모바일 및 데스크톱 플랫폼을 지원합니다.

리플릿은 GIS 배경지식이 없는 개발자들이 공용 서버에 호스팅되는 타이틀 웹 맵을 선택적 타일 오버레이와 함께 매우 쉽게 표출할 수 있게 합니다. GeoJSON 파일로부터 피처 데이터(feature data)를 로드하고 스타일을 입히고 상호작용 레이어를 만들 수 있습니다.(예: 클릭할 때 팝업 포함 마커 등)

### 특징

Leaflet은 기본 사항이 완벽하게만 작동하도록 만드는 데 중점을 둡니다 .

1. **사용 가능한 레이어**
   * 타일 레이어, WMS
   * 마커, 팝업
   * 벡터 레이어 : polylines, polygons, circles, rectangles
   * Image overlays
   * GeoJSON
2. **사용자 정의 기능**
   * 간편한 스타일 변경을 위한 순수한 CSS3 팝업 및 컨트롤
   * 이미지 및 HTML 기반 마커
   * 사용자 지정 맵 레이어 및 컨트롤을 위한 간단한 인터페이스
   * 사용자 지정 지도 투영 ( `EPSG:3857/4326/3395`기본 제공)
   * 기존 클래스 확장을 위한 강력한 OOP 기능
3. **성능 특징**
   * 모바일의 하드웨어 가속은 네이티브 앱처럼 부드럽게 느껴집니다.
   * CSS3 기능을 활용하여 패닝 및 확대/축소를 정말 부드럽게 만들기
   * 동적 클리핑 및 단순화가 포함된 스마트 폴리라인/폴리곤 렌더링으로 매우 빨라집니다.
   * 필요하지 않은 기능을 생략하기 위한 모듈식 빌드 시스템
   * 모바일에서 탭 지연 제거
4. **시각적 특징**
   * 확대/축소 및 이동 애니메이션
   * 타일 ​​및 팝업 페이드 애니메이션
   * 마커, 팝업 및 맵 컨트롤을 위한 매우 멋진 기본 디자인
   * Retina 해상도 지원

## OpenLayers vs Leaflet

<figure><img src="/files/O0EW9P3fhWKfHktssyNO" alt=""><figcaption></figcaption></figure>


# 3. 제품 소개


# 제품 구성

<figure><img src="/files/e8kQh21ksXkbCucKCLS6" alt=""><figcaption></figcaption></figure>


# 제품별 역할


# 제품 설치


# 4. OGC 표준


# 공간데이터 종류

## 개념

공간(公間)은 어떤 물질 또는 물체가 존재할 수 있거나 어떤 일이 일어날 수 있는 장소입니다. 대부분의 경우 우리가 지각할 수 있는 공간은 지구 표면이므로, 공간 데이터란 지구 표면에 위치하는 객체와 사건, 현상을 기록하는 데이터입니다.

일반적으로 공간데이터는 실세계에서 객체, 사건, 현상의 위치정보(좌표, 주소 등)를 포함한 형태로 존재합니다. 아래의 그림은 좌표를 이용하여 실세계에 존재하는 하천, 나무를 공간데이터로 기록하는 개념을 보여줍니다.

<figure><img src="/files/tKwU1EbkY5fCzCLTLXiH" alt=""><figcaption><p>출처:http://bit.ly/2x9dSCh</p></figcaption></figure>

## 벡터(Vector)와 래스터(Raster)

공간데이터를 표현하는 데이터 타입으로 벡터와 래스터가 있습니다.

벡터 타입은 실세계를 포인트, 라인, 폴리곤의 기하학적 형태로 표현합니다. 반면에 래스터는 실세계를 격자형의 픽셀(Cell) 형태로 표현합니다.

<figure><img src="/files/yeZx2q8SDQWpZB9oRlAs" alt=""><figcaption><p>출처:http://bit.ly/2x9dSCh</p></figcaption></figure>

## 벡터 데이터의 3가지 유형

벡터 데이터는 기하학적 형태에 따라 3가지로 구분된다.

* 포인트(point, 점) : 대부분 좌표계에 의한 위도와 경도의 조합으로 구성되며, 폴리곤으로 표현되기 어려울 정도로 작을 경우에 유용하다. 예) 세계 지도에서 서울의 위치
* 라인(line, 선) : 간선으로 연결된 2개 이상의 정점으로 이루어지며, 자연스러운 선의 형태를 표현하는 경우에 사용된다. 예) 서울시 지도에서 지하철 노선 표시
* 폴리곤(polygon, 면) : 폐쇄된 연결 형태로 구성된 3개 이상의 정점으로 이루어지며, 특정 영역의 경계를 표현하는 경우에 사용된다. 예) 대한민국 지도에서 서울의 경계 표시

<figure><img src="/files/u4AizMV7rgz4JMDhaejT" alt=""><figcaption><p>벡터 데이터의 유형</p></figcaption></figure>

## 래스터 데이터의 이해

래스터 데이터는 행과 열로 이루어진 그리드에서 픽셀로 표현되며, 개별 픽셀들은 지리적 특성을 갖는 값을 나타냅니다. 래스터 데이터로 넓은 지역에서 연속적으로 변화하는 지리적 현상이나 벡터 데이터로 쉽게 나눌 수 없는 정보를 표현하고자 할 때 사용됩니다.

<figure><img src="/files/ZuLjX0DLtNQuLs049Bew" alt=""><figcaption><p>출처:http://bit.ly/2x9dSCh</p></figcaption></figure>

필요한 경우, 벡터 데이터와 래스터 데이터는 GIS 소프트웨어 의하여 상호 변환이 가능합니다.

<figure><img src="/files/DPO99faLgBt7UQl2Ip7y" alt=""><figcaption></figcaption></figure>

## 공간데이터 파일의 유형

공간데이터는 다양한 소프트웨어 또는 서비스에 의하여 생성, 변경, 열람 가능합니다. 현장에서 가장 많이 사용하는 공간데이터 파일은 Esri사의 shape 형식 파일입니다.

<figure><img src="/files/KoCy2Au7ABVbF8eC8urH" alt=""><figcaption></figcaption></figure>


# 자료 표현방식

WKT, WKB

## WKT(Well-Known Text) Geometry

WKT는 지도, 공간 객체의 공간 참조 시스템(Spatial Reference System) 그리고 공간 참조 시스템 간의 변환을 표현하기 위한 텍스트 마크업 언어입니다. 이와 유사한 WKB(Well-Known Binary)라고 알려진 바이너리 형식이 PostGIS와 같은 데이터 베이스에 동일한 정보를 저장하고 변환되는데 사용됩니다. 포멧은 OGC(Open Geospatial Consortium)에 의해 제정됩니다.

**기하학적 오브젝트(geometric objects)**

WKT로 표현할 수 있는 기하학적 오브젝트는 포인트(Point), 선(Line), 폴리곤(Polygon), TIN 그리고 다각형(Polyhedrons)입니다. 멀티 지오메트리는 하나의 오브젝트에서 동일한 차원의 한개 이상의 지오메트리를 표현하는데 이용되며 다른 차원의 지오메트리들은 지오메트리 컬렉션(geometry collection)에 저장될 수 있습니다.

지오메트리의 좌표는 2D(x, y) 그리고 3D(x, y, z) 그리고 4D(x, y, z, m)일 수 있습니다. 어떠한 좌표도 가지고 있지 않은 빈 지오메트리는 타입 이름과 함께 EMPTY 심벌을 사용해 명시됩니다. 다음은 WKT에 대한 몇가지 지오메트리 예입니다.

```
POINT(6 10)
LINESTRING(3 4,10 50,20 25)
POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2))
MULTIPOINT((3.5 5.6),(4.8 10.5))
MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4))
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2)),((3 3,6 2,3 3)))
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))
POINT ZM (1 1 5 60)
POINT M (1 1 80)
POINT EMPTY
MULTIPOLYGON EMPTY
```

1번은 포인트 지오메트리이며, 2번은 폴리라인 지오메트리, 3번은 폴리곤 지오메트리입니다. 그리고 4번, 5번, 6번은 멀티 포인트, 멀티 폴리라인, 멀티 폴리곤 지오메트리입니다. 7번은 다양한 형태의 지오메트리 타입의 복합 타입입니다. 8번은 Z값과 M값을 가진 포이트 지오메트리이며 9번은 M 값을 가지는 포인트 지오메트입니다. 마지막 10번과 12번은 좌표가 없는 빈(Empty) 지오메트리입니다.

**공간 참조 시스템(spatial reference systems)**

공간 참조 시스템에 대한 WKT 문자열은 측지학 데이텀(geodetic datum), 좌표 체계 그리고 공간 오브젝트에 대한 지도 투영 정보를 설명합니다. 이러한 공간 참조 시스템에 대한 WKT는 많은 GIS 프로그램에서 널리 사용됩니다. 예를 들어 ESRI는 shapefile의 \*.prj 파일에서 WKT를 사용합니다. 다음은 공간 참조 시스템에 대한 WKT의 한가지 예입니다.

```
COMPD_CS["OSGB36 / British National Grid + ODN",
    PROJCS["OSGB 1936 / British National Grid",
        GEOGCS["OSGB 1936",
            DATUM["OSGB_1936",
                SPHEROID["Airy 1830",6377563.396,299.3249646,
                      AUTHORITY["EPSG","7001"]],
                TOWGS84[375,-111,431,0,0,0,0],
                AUTHORITY[["EPSG","6277"]],
            PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
            UNIT["DMSH",0.0174532925199433,AUTHORITY["EPSG","9108"]],
            AXIS["Lat",NORTH],
            AXIS["Long",EAST],
            AUTHORITY[["EPSG","4277"]],
        PROJECTION["Transverse_Mercator"],
        PARAMETER["latitude_of_origin",49],
        PARAMETER["central_meridian",-2],
        PARAMETER["scale_factor",0.999601272],
        PARAMETER["false_easting",400000],
        PARAMETER["false_northing",-100000],
        UNIT["metre",1,AUTHORITY["EPSG","9001"]],
        AXIS["E",EAST],
        AXIS["N",NORTH],
        AUTHORITY[["EPSG","27700"]],
    VERT_CS["Newlyn",
        VERT_DATUM["Ordnance Datum Newlyn",2005,AUTHORITY["EPSG","5101"]],
        UNIT["metre",1,AUTHORITY["EPSG","9001"]],
        AXIS["Up",UP],
        AUTHORITY[["EPSG","5701"]],
    AUTHORITY[["EPSG","7405"]]
```

**변환(transformations)**

WKT 포맷은 변환 방법과 두개의 서로 다른 공간 참조 시스템 간의 좌표 변환에 사용되는 파라메터를 기술하기 위해 사용됩니다. 아래는 이러한 변환에 대한 WKT의 한가지 예입니다.

```
PARAM_MT["Mercator_2SP", 
    PARAMETER["semi_major",6370997.0], 
    PARAMETER["semi_minor",6370997.0], 
    PARAMETER["central_meridian",180.0], 
    PARAMETER["false_easting",-500000.0], 
    PARAMETER["false_northing",-1000000.0], 
    PARAMETER[["standard parallel 1",60.0]]
PARAM_MT["Affine",
    PARAMETER["num_row",3],
    PARAMETER["num_col",3],
    PARAMETER["elt_0_1",1],
    PARAMETER["elt_0_2",2],
    PARAMETER[["elt 1 2",3]]
```

WKT를 지원하는 RDBMS로는 PostGIS 모듈 1.3을 가진 Postgresql, Oracle 9i, 10g, 11g 그리고 mySQL 4.1,공간 데이터블레이드 모듈을 가진 Informix 9, 10, 11 그리고 MS SQL Server 2008과 SpatialLite 등이 있습니다

## WKB(Well-Known Binary) Format

공간 데이터를 처리하는 DBMS는 포인트, 폴리라인, 폴리곤과 같은 공간 좌표 데이터를 효율적으로 저장하기 위해 BLOB 타입으로써 WKB라는 형태로 저장합니다.&#x20;

WKB, 즉 Well-known Binary는 OpenGIS 스펙에 의해 정의된 지오메트리 값을 표현하기 위해 사용됩니다. KWB는 지오메트리 WKB 정보를 담고 있는 BLOB 타입의 값으로 표현되는 바이너리 스트림으로써 지오메트리 데이터를 상호간에 교환하기 위해 사용됩니다. WKB는 1바이트의 부호없는 정수와 4바이트의 부호없는 정수 그리고 8바이트의 배정밀 소수(IEEE 754)를 사용합니다. 여기서 1바이트는 8비트입니다.

예를 들면 WKT인 POINT(1 1)을 동일한 WKB로 변환해 본다면 다음과 같은 총 21개로 구성된 연속된 바이트입니다.

```
0101000000000000000000F03F000000000000F03F
```

앞의 연속된 바이트를 해석 해보면 다음과 같습니다

<figure><img src="/files/s8tG2tlJkzpSvjid9nAw" alt=""><figcaption></figcaption></figure>

즉, 첫번째 1바이트의 값이 1이면 바이트 정렬이 Little-Endian이며 0이면 Big-Endian이라는 의미입니다. 그리고 다음 2바이트는 지오메트리 타입으로써 현재까지 제안된 타입은 총 7개로써 Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon 그리고 GemetryCollection입니다. 끝으로 포인트의 좌표인 X와 Y 값이 각각 8바이트씩 오게됩니다.

앞의 예는 Point 타입에 대한 예이며 다른 지오메트리 타입에 대해서, 보다 직관적이고 효율적으로 파악하기 위해 C언어의 구조체 형식으로 보면 다음과 같습니다.

```
// Basic Type definitions
// byte : 1 byte
// uint32 : 32 bit unsigned integer  (4 bytes)
// double : double precision number (8 bytes)
// Building Blocks : Point, LinearRing
 
Point {
    double x;
    double y;
};

LinearRing   {
    uint32 numPoints;
    Point points[numPoints];
};

enum wkbGeometryType {
    wkbPoint = 1,
    wkbLineString = 2,
    wkbPolygon = 3,
    wkbMultiPoint = 4,
    wkbMultiLineString = 5,
    wkbMultiPolygon = 6
};

enum wkbByteOrder {
    wkbXDR = 0, // Big Endian
    wkbNDR = 1 // Little Endian
};

WKBPoint {
    byte byteOrder;
    uint32 wkbType; // 1=wkbPoint
    Point point;
};

WKBLineString {
  byte byteOrder;
  uint32 wkbType; // 2=wkbLineString
  uint32 numPoints;
  Point points[numPoints];
};
 
WKBPolygon {
  byte byteOrder;
  uint32 wkbType; // 3=wkbPolygon
  uint32 numRings;
  LinearRing rings[numRings];
};

WKBMultiPoint {
  byte byteOrder;
  uint32 wkbType; // 4=wkbMultipoint
  uint32 num_wkbPoints;
  WKBPoint WKBPoints[num_wkbPoints];
};

WKBMultiLineString {
  byte byteOrder;
  uint32 wkbType; // 5=wkbMultiLineString
  uint32 num_wkbLineStrings;
  WKBLineString WKBLineStrings[num_wkbLineStrings];
};
 
wkbMultiPolygon {
  byte byteOrder;
  uint32 wkbType; // 6=wkbMultiPolygon
  uint32 num_wkbPolygons;
  WKBPolygon wkbPolygons[num_wkbPolygons];
};
 
WKBGeometry  {
  union {
    WKBPoint point;
    WKBLineString linestring;
    WKBPolygon polygon;
    WKBMultiPoint mpoint;
    WKBMultiLineString mlinestring;
    WKBMultiPolygon mpolygon;
  }
};
```

바이너리는 크기면에서 데이터를 매우 최적화된 형태로 저장할 수 있는 포맷입니다. GIS 엔진을 설계하고 개발할때 자체 엔진에 특화된 데이터 구조를 설계하는 것 대신에 이러한 표준을 수용할 경우 얻을 수 있는 이점은 매우 크다고 할 수 있겠습니다.


# 공간데이터 연산

## 공간데이터 타입 ( Spatial Data Type )

공간데이터 표기법은 OGC 표준을 따르며, 다음과 같은 규칙을 가집니다.

<figure><img src="/files/yuN1TK5xmYKhymHVX59r" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/QMG1eyliw3q4vNWmtNOA" alt=""><figcaption></figcaption></figure>

## 공간 연산 함수 ( Spatial Operator Functions )

공간 연산 함수는 두 공간 객체의 연산 결과로 새로운 공간 객체를 반환해주는 함수입니다.

<figure><img src="/files/bMHX2JcNpySjhFc4jLJG" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/o0UX4tOFhKzgMh8VUYjR" alt=""><figcaption></figcaption></figure>

## 공간 관계 함수 ( Spatial Relation Functions )

공간 관계 함수는 두 공간 객체 간의 관계를 일반 데이터 타입(Boolean 또는 숫자)으로 반환해주는 함수입니다.

<figure><img src="/files/yyDD757tgHc0g8VDkeVO" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/xSa7ELtOBUP0M5UW7lnl" alt=""><figcaption></figcaption></figure>


# 웹 기반 서비스 표준

## OGC <a href="#ogc" id="ogc"></a>

OGC (Open Geospatial Consortium)는 지리 정보 시스템 (GIS)과 관련된 표준을 개발하는 국제 기구입니다. OGC는 공간 데이터와 서비스의 상호운용성을 향상시키기 위해 다양한 표준을 제공합니다. 이러한 표준은 공간 데이터를 교환하고 처리하는 방법, 공간 데이터를 검색하고 검색 결과를 표시하는 방법, 웹 기반 GIS 서비스를 구축하는 방법 등을 규정하고 있습니다. OGC의 표준은 다양한 산업 분야에서 사용되며, 지도, 위치 기반 서비스, 자율 주행 자동차 등에서 활용됩니다.

### OGC Web Service

Web을 통해 WMS(지도, 범례), WFS(벡터, 공간쿼리, 편집), WCS(래스터, Subset, Resampling, Reprojection), WPS(공간분석 및 처리), CSW(메타데이터 카탈로그) 등의 서비스를 활용하는 체계입니다.

<figure><img src="/files/21Udmg442uoKNLPY1g6D" alt=""><figcaption></figcaption></figure>

## WMS

WMS(Web Map Service)는 GIS 데이터에 접근하기 위한 인터페이스로써 웹을 통해 지도 이미지(형식)로 서비스합니다. 데이터서버에 저장된 레이어 또는 분석을 통해 생성된 벡터 및 래스터 데이터를 시각화(Visualization)하는 서비스입니다.

#### Basic WMS

* GetCapabilities : Web Map Server에서 서비스 가능한 레이어의 메타정보 제공
* GetMap : 요청한 레이러를 이미지로 제공

#### Queryable WMS

* GetFeatureInfo : 요청한 위치의 피쳐 정보를 제공
* GetMap Operation을 사용해 지도를 요청하는 과정
  1. WMS 클라이언트는 관심 레이어, 레이어에 대한 심볼 및 스타일, 좌표체계 요청범위, 이미지 형식 등을 설정한 후 서버에 요청
  2. 서버는 클라이언트의 요청에 맞게 지도를 생성하고 이를 이미지로 반환 WMS는 Styled Layer Descriptor(SLD) 확장을 통한 Operation 추가

#### GetLegendGraphic

* 요청한 레이어의 범례정보를 이미지로 반환

#### GetStyle

* 요청한 레이어의 스타일 정보를 반환

#### PutStyle

* 요청한 레이어의 스타일 정보를 등록

## WFS

WFS(Web Feature Service)는 웹을 통해 벡터 형식으로 GIS 데이터를 제공하기 위한 인터페이스로, 데이터서버에 저장된 벡터 레이어를 공간 및 속성조건을 이용해서 불러오거나 관리(피쳐의 추가. 수정. 삭제)하기 위한 서비스입니다. WFS 클라이언트는 관심 레이어, 레이어에 대한 필터, 좌표체계, 요청범위, 요청포맷 등을 설정한 후 서버에 요청 서버는 클라이언트의 요청 포맷에 맞게 인코딩(GML 등)허여 반환합니다.

#### GML

* 공간자료를 인코딩하기 위하여 Geography Markup Language (GML) 사용

#### Basic WFS

* GetCapabilities : 서비스 가능한 Layer, Operation, Parameter에 대한 메타정보를 eXtensible Markup Language (XML)로 반환&#x20;
* DescribeFeatureType : 요청한 Layer에 해당하는 스키마 등 메타정보를 XML로 반환&#x20;
* GetFeature : 요청한 레이어의 공간정보를 GML 형식으로 반환

#### Transaction WFS(WFS-T)

* LockFeature : 레이어의 특정 피쳐에 대해 편집 중임을 알리는 Lock 요청&#x20;
* Transaction : 요청한 입력, 수정, 삭제를 처리하여 처리결과를 XML로 반환 공간데이터 편집시 LockFeature로 객체에 Lock을 걸고 편집이 끝난 후 Transaction을 통해 객체 갱신을 요청

## WCS

WCS(Web Coverage Service)는 웹을 통해 레스터 형식의 GIS데이터를 제공하기 위한 인터페이스로 위성영상, DEM등 과 같은 자료를 서비스합니다.

## WPS

WPS(Web Processing Service)는 지리정보에 대한 다양한 처리 서비스(Geo-Processing Service)를 웹상에서 정의하고 접근할 수 있도록 하기 위한 인터페이스 이며, 모든 OGC 표준 웹 서비스들과 상호호환성을 갖도록 정의되어 있습니다.


# 5. OpenLayers를 이용한 Web GIS 개발


# 개발 환경 구성


# 지도 화면 구성


# 배경 지도 띄우기


# TOC(Table of Contents)


# 맵에 콘트롤 추가


# 지도 회전


# 웹 서비스를 위한 공간데이터 처리 절차


# WMS로 지도 표출


# WFS로 지도 표출


# WFS에 조건 추가


# WFS 데이터 필드


# WFS 객체에 상호작용 추가


# WFS에 팝업 붙이기


# WFS-T를 이용한 공간데이터 편집


# Cluster 맵 표현


# Heat 맵 표현


# WebGL로 대용량 데이터 표출


# 공간빅데이터 분석플랫폼

<figure><img src="/files/hnWyNGYC2wmhFcPGoxmH" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/MWIj2esX3HLERUzzBNTr" alt=""><figcaption></figcaption></figure>


# 공간빅데이터 개요

공간정보를 기반으로 민간과 공공 부문에서 다양한 형태로 수집·저장된 정형 및 비 정형 대용량 데이터들을 신속하게

가공.융합.분석하고,  데이터의 정확한 공간적 패턴을 찾아내고 효과적으로 시각화하여 새로운 가치(Insight)를 창출하는 정보 체계

<figure><img src="/files/adih4PR0zO2G7hLK1kbH" alt=""><figcaption></figcaption></figure>


# 공간빅데이터란?

<figure><img src="/files/zRKkrcEUwBiiGrQU1lhN" alt=""><figcaption></figcaption></figure>


# 공간빅데이터 활용분야

![](/files/puDjJSvSTOZ2vwz6CipB)공공부문 : 행정, 교육, 국방, 건설, 교통, 해양, 기상, 주택.토지 등 부동산, 사회복지, 치안, 재난방재, 정책 결정, 대국민서비스, 민원, 상하수도, 전력 등 시설물관리, 위험관리 등&#x20;

![](/files/puDjJSvSTOZ2vwz6CipB)민간 부문 : 수요예측, 상권분석, 구매, 창업, 상거래, 통신, 가스, 공장 시설물 등의 시설관리, 출퇴근, 이동, 위치, Navigation 등

![](/files/puDjJSvSTOZ2vwz6CipB)공간 빅데이터는 사람의 활동과 관련된 모든 분야에서 필수적으로 활용되는 정보처리 기법


# 공간빅데이터 & 공간패턴 분석사례

[Urban Sensing, Senseable City Project, 'Live Singapore', MIT Media Lab](https://youtu.be/2aEPkyOBtRo)

**'도시 전체 모든 정보를 실시간 수집/분석하여 도시 모니터링/분석'**

<figure><img src="/files/oLiI1FeFCiMYORbQw7G0" alt=""><figcaption></figcaption></figure>

{% embed url="<https://www.youtube.com/watch?v=EzG4a9jTxGw>" %}

/


# 공간빅데이터 분석

공간빅데이터 기술 영역

<figure><img src="/files/cCKzfU3Vv1Bo4wuo4Vbk" alt=""><figcaption></figcaption></figure>

#### <mark style="background-color:green;">1) 기존 GIS 시스템의 한계 극복</mark>

전국 지적도 DBMS(Database Management System) 적재(16GB) - 일주일 소요\
전국 개발가능지 분석 - 3개월 소요

#### <mark style="background-color:green;">2) 새로운 영역으로 진화</mark>

분석단계에서 예측영역으로 진화\
실시간, 시공간 영역으로 진화

※ 빅데이터를 확보하고 있는가?\
※ 확보된 빅데이터를 접근할 수 있는가?\
※ 빅데이터를 누구라도 분석할 수 있는가?


# 공간빅데이터 분석플랫폼 소개

'공간정보 분석플랫폼' 이란?

**·** 공간정보와 빅데이터를 융합한 분석데이터 제공\
**·** 사용자가 보유한 다양한 데이터를 플랫폼에서 활용

<figure><img src="/files/5qYZc80ZStEWWRuvkFre" alt=""><figcaption></figcaption></figure>


# 공간분석 서비스

#### <img src="/files/dw41DNT4Rfu2tuXGJO8P" alt="" data-size="original"><mark style="background-color:green;">빅데이터를 지도 위에서 확인하세요</mark>

사용자가 보유한 데이터를 **공간정보**와 분석 · 결합하여 **지도상**에서 데이터를 시각화 제공

#### ![](/files/Cj6ZaV9wXdbMMOVQ6kCs)<mark style="background-color:green;">뉴스, SNS 데이터 분석 (소셜분석)</mark>

사용자가 원하는 키워드를 입력하면 뉴스, SNS에 해당 키워드정보를 분석하여 긍정과 부정률 정보를 제공

#### ![](/files/DJyk7i5HuIwUJ3KT5B6c)<mark style="background-color:green;">분석 데이터 다운로드 (지오코딩)</mark>

공간분석에 시작단계로 사용자가 보유한 텍스트로 구성된 주소 데이터를 지도화면에 표출되도록 시각화\
서비스 제공

#### ![](/files/fCroFouMUedudAKWEFU8)<mark style="background-color:green;">전문가를 위한 다양성 분석도구 제공</mark>

공간기반에서 빅데이터 분석이 가능하도록 밀도분석, 네트워크분석, 공간통계분석, 표면분석 등 50종의 공간분석 도구를 제공

<figure><img src="/files/HNGQNAD8DjzdWZbCd2cH" alt=""><figcaption></figcaption></figure>


# 분석플랫폼 구조

분석 플랫폼은 HDFS(Hadoop Distributed File System)를 기반으로 NoSQL을 이용하여 Spatial Hadoop을 제작하고 자료수집, 가공 **·** 융합 및 분석 서비스와 공간분석 알고리즘을 개발한 공간 빅데이터 플랫폼


# 분석플랫폼 주요기능

간편분석과 심화분석을 기준으로 사용자 유형을 구분하여 서비스

### ![](/files/KiAc1GYYn6CYDmbJGG2T)<mark style="background-color:green;">사용자 맞춤형 분석 기능</mark>

#### <mark style="color:green;">전문가분석</mark>

**·** 데이터를 세밀하게 분석할 수 있음 (입력, 변환, 분석 ,저장 등)\
**·** 복잡하고 무거운 데이터도 분석 가능\
**·** 방대한 자료를 조금 더 세밀하게 분석할 때 유용함

#### <mark style="color:green;">일반사용자 분석</mark>

**·** 빠르고 간편한 분석에 최적화 되어있음\
**·** 분석 도구 활용이 어렬울때 적합함\
**·** 개발용어와 기술의 이해가 부족한 사용자도 활용 가능

### ![](/files/3cdzjj1xL5HtoOMnsf76)<mark style="background-color:green;">시각화 기능</mark>

**·** 분석된 결과를 하나의 화면에서 바로 확인\
**·** 복잡한 데이터를 한눈에 알기 쉽게 표출\
**·** 그래프, 지도, 차트 등 다양한 데이터를 실시간으로 확인

<figure><img src="/files/IRpfVg4LotSknLWrwAiS" alt=""><figcaption></figcaption></figure>


# 공간빅데이터 분석플랫폼 시스템 구성

<figure><img src="/files/lM82mGUg5pJD225DDS36" alt=""><figcaption></figcaption></figure>


# 분석플랫폼 시스템 처리흐름도

분석 플랫폼은 최신기술을 적용한 All-in-One 공간 빅데이터 플랫폼으로서 최적의 데이터 품질 검증, 사용자 아이디어 활용을 위한 분석 템플릿, 다양하고 획기적인 지도 시각화 도구를 제공함

<figure><img src="/files/1jTJbjfvTGOrgYIrbDHS" alt=""><figcaption></figcaption></figure>


# 분석플랫폼 구조

분석 플랫폼은 HDFS를 기반으로 NoSQL을 이용하여 Spatial Hadoop을 제작하고 자료수집, 가공, 융합 및 분석 서비스와 공간분석 알고리즘을 개발한 공간 빅데이터 플랫폼

<figure><img src="/files/fwGuexLoTxGsCWCh9eDH" alt=""><figcaption></figcaption></figure>


# 시각화 서비스

### <mark style="color:blue;">시각화서비스 1.</mark>

시각화는 **GPU를 이용**하여 공간 데이터를 이미지로 생성하는 공간 랜더링 엔진을 가진 서버와\
데이터 & 이미지를 지도, 차트, 그래프로 보여주는 웹 대시보드로 구성되어 있음

<figure><img src="/files/ieQruvJMwJQe4roREsjH" alt=""><figcaption></figcaption></figure>

### <mark style="color:blue;">시각화서비스 2.</mark>

시각화는 GPU 기반의 랜더링 엔진으로 빠르게 지도이미지를 생성하고 WMS (Web Map Service)로 대시보드에서 제공함

GPU 기반의 랜더링 엔진으로 빠르게 지도이미지 생성

출처: <https://tech.marksblogg.com/benchmarks.html>

<figure><img src="/files/meV0gUfZnthVLWKLkkwM" alt=""><figcaption></figcaption></figure>

### <mark style="color:blue;">시각화서비스 3.</mark>

시각화는 CPU DB 보다 빠른 GPU 코어를 병렬로 사용하는 GPU DB 기반의 초고속 SQL 쿼리로 빅데이터를 다양한 형태의 지도, 챠트, 그래프로 실시간 시각화하여 대시보드로 제공하는 GeoBI Tool 임

공간적 판단을 위한 다양한 실시간 시각화 대시보드 제공

<figure><img src="/files/VHr5utXEmtE22IJaIbsl" alt=""><figcaption></figcaption></figure>


# 시스템 소개 및 시연

### AI + Big Data + GIS (우버 택시, 스마트 택시)

<figure><img src="/files/MQi2v6dTA0lFUAhuXx5A" alt=""><figcaption></figcaption></figure>

### 택시승하차 빈도 (시간별)

0시와 7시 사이를 제외하고 모두 동일 수준을 유지하지만, 지역별로 15시 경 빈도가 높은 지역(강남,서초,중구), 18시 정도에 빈도가 높은 곳(송파, 영등포, 노원구)으로 나눠짐, 출근시간 중구 빈도 낮음, 퇴근시간 중구 빈도 높음

<figure><img src="/files/FU6L3z6jl7KvjnIO2jVz" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bSZjsIF293Dd6xrcvhCX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/FmqByhPXr6wRK9gp1oG4" alt=""><figcaption></figcaption></figure>


# 사용 매뉴얼

국토교통부 공간빅데이터 분석플랫폼 서비스의 사용매뉴얼 안내

<table data-view="cards"><thead><tr><th data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="/pages/aquoayNb66lMqZSljpGi">/pages/aquoayNb66lMqZSljpGi</a></td></tr><tr><td><a href="/pages/pkm8giQbmsjbH1ayrBZ9">/pages/pkm8giQbmsjbH1ayrBZ9</a></td></tr><tr><td><a href="/pages/uzS11YTYArEhrCPUAsMK">/pages/uzS11YTYArEhrCPUAsMK</a></td></tr></tbody></table>


# 회원가입

1. [공간빅데이터 분석 플랫폼](http://www.geobigdata.go.kr)에 접속하여 우측 상단 로그인 버튼을 클릭

<figure><img src="/files/8mwy9iToukDn2IZokdDp" alt=""><figcaption></figcaption></figure>

2. [국가공간정보포털 홈페이지](https://www.nsdi.go.kr/lxportal/?menuno=2971)로 이동하여 하단의 회원가입 버튼 클릭

<figure><img src="/files/kKJSjsPGkfxK7wYTFjYA" alt=""><figcaption></figcaption></figure>

3. '이용악관 및 개인정보 수집 및 이용에 대한 안내'에 동의 후 확인버튼 클릭

<figure><img src="/files/fjol2ApEwPp7rWPR1lLM" alt=""><figcaption></figcaption></figure>

4. 휴대전화 인증 진행 후 회원가입 마무리

<figure><img src="/files/pvsZq3kGga2ezvbPwcB1" alt=""><figcaption></figcaption></figure>

5. [국가공간정보포털 홈페이지](https://docs2.stlogic.co.kr/molit/undefined/undefined-4/www.nsdi.go.kr)로 이동하여 좌측 하단의 [공간빅데이터 분석 플랫폼](http://geobigdata.go.kr/portal/) 접속 후, 우측 상단 로그인 버튼 클릭

<div><figure><img src="/files/rGlSLQeOE3uLvuP3oIPj" alt=""><figcaption></figcaption></figure> <figure><img src="/files/1TNmicSbxx4gIB0ZPUpN" alt=""><figcaption></figcaption></figure></div>

6. 회원가입 정보 기입후 로그인 버튼 클릭

<figure><img src="/files/aeP558w8tg9F4w3z4HgP" alt=""><figcaption></figcaption></figure>

7. 추가정보 입력 (현재 직업, 사용 신청 목적, 사용신청 상세목적, 공간빅데이터 분석 플랫폼 접속 경로 등 \*로 표시된 필수사항 입력)

<figure><img src="/files/EjrbYIfgt0IbkQOvfTqP" alt=""><figcaption></figcaption></figure>


# 일반분석

국토교통부 공간빅데이터 분석플랫폼의 일반분석 기능에 대한 메뉴얼

<table data-card-size="large" data-column-title-hidden data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center">단일공간분석</td><td><a href="/pages/mkB0KPQJaW6IqSsPIMAq">/pages/mkB0KPQJaW6IqSsPIMAq</a></td></tr><tr><td align="center">표준분석모델</td><td><a href="/pages/hZURfcOAuv4EmAWiPc8D">/pages/hZURfcOAuv4EmAWiPc8D</a></td></tr></tbody></table>


# 단일 공간분석

<figure><img src="/files/f3JpMbmfX1okzz8nsD4k" alt=""><figcaption></figcaption></figure>

### 데이터분석 기능 중 일반분석의 7가지 기능에 대한 설명

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center">중심점 구하기</td><td><a href="/pages/ipwbHtRXF2tX0dvTB4kY">/pages/ipwbHtRXF2tX0dvTB4kY</a></td></tr><tr><td align="center">면적 구하기</td><td><a href="/pages/o2ZvcMX27vNiD6rhHRpM">/pages/o2ZvcMX27vNiD6rhHRpM</a></td></tr><tr><td align="center">좌표계 변환</td><td><a href="/pages/ypvfjhrLVYgAXu2ca4mx">/pages/ypvfjhrLVYgAXu2ca4mx</a></td></tr><tr><td align="center">버퍼 분석</td><td><a href="/pages/GRSNrlJg8wEz3w3WmvK8">/pages/GRSNrlJg8wEz3w3WmvK8</a></td></tr><tr><td align="center">길이 구하기</td><td><a href="/pages/pw32Gy8ycHBUtrQUhWrd">/pages/pw32Gy8ycHBUtrQUhWrd</a></td></tr><tr><td align="center">좌표 구하기</td><td><a href="/pages/zxnhva7oVTA3vg07IQJj">/pages/zxnhva7oVTA3vg07IQJj</a></td></tr><tr><td align="center">Convex Hull</td><td><a href="/pages/cE3eJ24bmQ5RibvqgLbO">/pages/cE3eJ24bmQ5RibvqgLbO</a></td></tr></tbody></table>


# 중심점 구하기

사용자가 업로드한 데이터에 대해 중심을 분석하여 중심점 좌표를 추출하여 포인트 타입의 데이터로 출력하는 분석 기능

<figure><img src="/files/j6nU5SpYejKjor51k75F" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/tfc1hYhfZ34HfIBGjMVQ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1h72YSI29VJgI5ooT3cN" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/2t8a9sXZ21uzxuzHbcnl" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/RY6a00iTqqyCoHwqINt7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/igwRBF0TKmA80aWdEymP" alt=""><figcaption></figcaption></figure>


# 면적 구하기

사용자가 업로드한 데이터에 대해 데이터 별로 면적 값 항목을 추가한 후 면적 계산 값을 저장하여 출력하는 분석 기능

<figure><img src="/files/MV2ap0zoFzFaIZ0rvAVi" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/5irDsIKqfi80GaILFQw4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/viyrlVYYZnLaauUeSDDT" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/5tcwhZpTporh1kplsAjd" alt=""><figcaption></figcaption></figure>


# 좌표계 변환

사용자가 업로드한 공간 데이터에 대해 원본 좌표계와 변환 좌표계를 입력 후, 분석을 수행하면 변환 좌표계로 변형해서 출력하는 분석 기능

.

<figure><img src="/files/uVChTA6vFegOHGMHqXGx" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Z8kcawx3bbmMFXpkmCoX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/XHybRVB6Pls2CdZSXOYj" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/FZfzhT6EZIZP8LayJLfd" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/hUe5mzzGlxovlg5ffBCB" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/HFBm6bUcKfbHl8jJJJ4Q" alt=""><figcaption></figcaption></figure>


# 버퍼 분석

사용자가 업로드한 공간 데이터에 대해 입력한 버퍼값에 따라 해당 공간 데이터별 버퍼링된 폴리곤 데이터로 변환해서 출력하는 분석 기능

<figure><img src="/files/LdNhYJ2W0s4rEPUOJVw5" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/01JSeDA4FywlGWpOFOR4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/5kWgID0hWrfY03OwYgjq" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1SqmHfvb8qFHuFt1tM64" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/58Zs1peMvKQZsrCvAey4" alt=""><figcaption></figcaption></figure>


# 길이 구하기

사용자가 업로드한 데이터가 폴리라인이면 길이를 계산하여 저장하고, 폴리곤 타입이면 둘레를 계산하여 저장한 후 출력하는 분석 기능

<figure><img src="/files/wilHsxFii8QpLv08y8i6" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1zhVpFmqUYSWcDRKlWBK" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/alWI6k3uDJpOdBnfNzQQ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/c1Qr7CNKdN8QceMeW41x" alt=""><figcaption></figcaption></figure>


# 좌표 구하기

사용자가 업로드한 데이터에 위도, 경도 항목을 추가한 후 포인트 타입의 데이터에 대해 해당 위치의 좌표값을 저장한 후 출력하는 분석 기능

<figure><img src="/files/jtgQQXAIsSLGXfjgS8wn" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/DqQQdSzNkPgILdk7ZZNb" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/LQvcQJ59kVFTK2BwJHml" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/H8Dn7UG9KgSVvxgLjRXn" alt=""><figcaption></figcaption></figure>


# Convex Hull

사용자가 업로드한 폴리곤 타입의 데이터에 대해 데이터별 폴리곤 구성 좌표값을 모두 포함하는 최소 폴리곤들을 생성하여 출력하는 분석 기능

<figure><img src="/files/R0JS8bqUDTjbu3NfD1cf" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/q6ZXBxyufOxsN2Ll9Y3S" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jVPFi97CP2OXsiC4XD5C" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/VfjUqDXAtWySCipVKfde" alt=""><figcaption></figcaption></figure>


# 표준분석모델

<figure><img src="/files/CFAaknbCfUBDrFG9suYx" alt=""><figcaption></figcaption></figure>

표준분석모델은 11가지의 샘플 모델이 준비되어 있으며, 다음은  **'버스정류장 사각지역 분석모델'** 에 대한 예시를 소개하고자 한다

### 버스정류장 사각지역 분석

{% tabs %}
{% tab title="메뉴 및 데이터 소개" %}

<figure><img src="/files/i6GNyQxcu1ynwpSGbGMR" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8voSknvs7JEtDMqzruNV" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/DSXt41aX7j7p4B4BsMDa" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/SgpYO2uI25bJd2UcaPk9" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="경계데이터(with QGIS)" %}

<figure><img src="/files/xt0t4lYpM6AvnFwhdiSR" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/vBMozyJ6TGH9xS6HOlo8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/QWWKCeGnEVnykDN7FPwr" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/lkMohrGAFg6AdZ9D07g1" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/O9Y1H2wzpiox4YznkcLi" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="총 인구 및 고령 인구 데이터" %}

#### <mark style="background-color:orange;">지역별 총 인구 샘플 데이터</mark>

<figure><img src="/files/chChMQyGpP9oDQPAPdtZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/S6Yazp1Zxo79q1fA1MOA" alt=""><figcaption></figcaption></figure>

#### <mark style="background-color:green;">지역별 고령인구 샘플 데이터</mark>

<figure><img src="/files/Fv3vwFhIzItIYnWxTKZj" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/qy9QGgKvGhWpECxKy8uT" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="결과분석" %}

<figure><img src="/files/BNOX5bUvURwYPo17eDQk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/2SmoZble9pQn3SaAuWAr" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/O2J1N4DSkTIMKXj11Uko" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/QIwQTzX1zLO5nMZEnUjv" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7vQcQivhiKVWYx5zsLBz" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/FVdqxd2YJkZiCCkTaaR8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/48Ql6s0tTPI192aP2RUh" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/5wxh0L3qyQnVCZTMwNRw" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/gZ00S7c1F482hACYn2Po" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GJ1cOc04HIdOYOiga9eE" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}


# 기타분석모델

<figure><img src="/files/xdeNEgYz0JvVGCfHDo6O" alt=""><figcaption></figcaption></figure>

기타분석모델의 **'철거건축물 위험도 분석'** 과 **'건물 노후도분석'** 모델에 대한 매뉴얼에 대해 소개한다.

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-type="content-ref"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center">철거 건축물 위험도 분석</td><td><a href="/pages/mbFgqshxE5RUCmydPik7">/pages/mbFgqshxE5RUCmydPik7</a></td><td><a href="/pages/mbFgqshxE5RUCmydPik7">/pages/mbFgqshxE5RUCmydPik7</a></td></tr><tr><td align="center">건물 노후화 분석</td><td><a href="/pages/sTLdruRyGq4jAJvv1VQ3">/pages/sTLdruRyGq4jAJvv1VQ3</a></td><td><a href="/pages/sTLdruRyGq4jAJvv1VQ3">/pages/sTLdruRyGq4jAJvv1VQ3</a></td></tr></tbody></table>


# 철거 건축물 위험도 분석

사용자가 업로드한 데이터에 대해 철거 건축물 위험도 분석 기능

<figure><img src="/files/DGJjicobtQzPn5Tl1yxq" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/c1MfhRPNg74ZGf9dGIxy" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/U9l8fxEZKiZo1InHUjCE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/39dWjWrK5U9DcjFSDrWA" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/cGF0qeM7e5Si84TQm3tF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UE9N4ovK3gDRXy3keEnE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1SYZhNaoRvC6VSEInnLk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/9LQ9Gt50Gdboo8qYnBR2" alt=""><figcaption></figcaption></figure>


# 건물 노후화 분석

사용자가 특정 지역의 건물 노후도를 분석하는 기능

<figure><img src="/files/q8f5FBXrSErSYaM3TaLX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UYPpEPl1TFJtQRKdfP9x" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/lSclxQMpRuuZ41jqqynG" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/st6gA4A6lYCTWCAdgu4L" alt=""><figcaption></figcaption></figure>


# 시각화-대시보드


# 분석결과-시각화 바로가기

<figure><img src="/files/IQgQ3JeQBy2eMXqYucq5" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/XR3sRv6aELkxrjDpp7Ip" alt=""><figcaption></figcaption></figure>


# Map 아이템

<figure><img src="/files/xGMXV44oSomu1Ao2whUZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/sszaoDJm2ONWfkRlYzPY" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ZshU6Ox5ts281875YfFu" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/DsSqSsYiETLAyhBFdjgf" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/JrQHGziMNCJismA1Y1VJ" alt=""><figcaption><p>Custom 색상을 적용한 MAP 대시보드의 예시 화면</p></figcaption></figure>

<figure><img src="/files/sUf2DvAosZVjSGIAqIBC" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/FwSnZpSSjy07E2yVocIU" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/LYdb6BkWzx5eXkwZqjTw" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1iDM6063bIyYgNsePKzk" alt=""><figcaption></figcaption></figure>


# Bar & Number & Table 아이템

### Bar Item

<figure><img src="/files/fZRfQxXCUENONobaQIjX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GNURFS6aqnkVa8fY7lCO" alt=""><figcaption></figcaption></figure>

### Number Item

<figure><img src="/files/SI1prxUJ9zzs2Wq4IbYR" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/2CiXvDNEhyFP3T8zVTH7" alt=""><figcaption></figcaption></figure>

### Table Item

<figure><img src="/files/JFcDRdbUva2lzczyHkW3" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/BV9etVXsJcReN3DhSD7Y" alt=""><figcaption></figcaption></figure>


# 시각화-대시보드 실습 최종 화면

<figure><img src="/files/EQxfKrj5POMX6dfKg8P7" alt=""><figcaption></figcaption></figure>


