경로탐색 기능 구현을 위한 각 기관의 노드/링크 데이터 비교 파악

 

독자 여러분 안녕하세요 유령개구리입니다. 

본 게시물에서는 각 기관에서 구축 및 배포하고 있는 교통 링크 노드데이터에 대한 설명을 드리고자합니다. 

 

1. 노드/링크 데이터란...?

1) 노드 데이터

    교통 관점에서 노드는 차량이 도로를 주행함에 있어 속도의 변화가 발생되는 지점을 표현한 곳이며 교차로, 교량 시종점, 고가도로 시종점, 
    도로 시종점, 터널 시종점, 행정경계, IC/JC 등의 유형을 갖추고 있습니다.

2) 링크 데이터

    교통 관점에서 링크는 속도 변화의 발생점인 노드와 노드를 연결한 선을 의미하고 실제의 도로를 표현하게 되며 도로, 교량, 고가도로, 지하차도, 터널 
    등의 유형을 갖추고 있습니다.

참고 : 표준노드링크(http://nodelink.its.go.kr/intro/intro02.aspx)

 

2. 교통 노드/링크 데이터

 

필자가 취득한 데이터의 기관은 각각 아래와 같습니다.

 

1) 표준노드링크 (이하 A)

2) 국가교통 DB (이하 B)

 

필자는 다른 개구리들과 최단거리 경로탐색기능 서비스 구현을 진행함에 있어 각 기관으로부터 취득한 노드/링크 데이터를 다루던 중 

각 데이터가 다름을 알 수 있었습니다. 

 

 

3. 데이터 간 차이점

 

1) 구축 기준 

   필자가 조사한 바에 따르면 각 기관은 구축 기준이 달랐습니다. 

   A기관의 경우 대한민국 실제 도로를 기준으로 구축을 하였고 B기관의 경우 네비게이션 데이터를 기준으로 구축하였습니다. 

 

2) 데이터의 형상

   아래 사진은 각 기관에서 취득한 데이터를 오픈소스 GIS프로그램인 QGIS를 활용해 오픈한 모습입니다.

 

* A 기관 노드, 링크 데이터

위 사진들을 보시면 링크 데이터가 양분할되어있는것을 볼 수 있습니다.  

앞서 설명한 것처럼 실제 도로를 기준으로 구축되었기 때문에 양방향 통행에 대한 모습을 확인할 수 있지요.

  

* B 기관 노드, 링크 데이터 

위 사진들을 보시면 A 기관과는 다르게 링크 데이터가 하나의 선으로 구축되어있는것을 확인할 수 있습니다.

 

3) 데이터의 속성

   각 데이터를 오픈소스 GIS프로그램인 QGIS를 활용해 속성 테이블을 보여드리면 다음과 같습니다. 

   

* A 기관 노드 데이터 속성

노드 데이터의 속성 중 TURN_P 컬럼을 보시면 0으로 표기되어있습니다. 하지만 TURN_P 컬럼의 값은 0, 1 둘로 작성되어있죠

값이 "0"이면 일직선 또는 교차점이 아니라는 의미이고 값이 "1"이면 교차점을 의미하게 됩니다. 

 

* A 기관 링크 데이터 속성  

링크 데이터의 속성 중 F_NODE, T_NODE은 각각 시작노드식별자와 종료노드식별자를 구분해놓은것입니다. 즉 하나의 노드 데이터에 각각의 링크가 

연결되어있음을 알 수 있습니다. 

 

* B 기관 노드 데이터 속성

노드 데이터의 속성 중 TURN_INFO 컬럼이 "1"로 표기되어있습니다. 이 컬럼 또한 0, 1 둘로 작성되어있죠. 하지만 A기관의 TURN_P 컬럼과 동일하게 

0, 1로 작성되었을지라도 나타내는 정보는 다릅니다. 

이 데이터의 TURN_INFO 컬럼값은 회전유무를 판단하고 있습니다. 값이 "0"이면 더이상 회전 가능한곳이 없음 즉, 막다른 길임을 나타내고 값이 "1"이면

회전 가능한곳이 있고 진행할 방향이 있다는 의미입니다. 

 

* B 기관 링크 데이터 속성 

링크 데이터의 속성 중 UP_FROM_NO, UP_TO_NODE, DOWN_FROM_, DOWN_TO_NO 4가지의 컬럼을 볼 수 있습니다. 

각 컬럼은 상행시작노드, 상행종료노드, 하행시작노드, 하행종료노드를 의미하고 있고 컬럼 내 값은 링크와 연결된 노드의 ID를 의미하고 있습니다. 

 

* We Choose!!!

필자는 처음에 설명드렸듯  다른 개구리들과 최단거리 경로탐색기능 서비스 구현 중에 있었습니다. 하지만 우리는 B기관의 데이터를 활용하기로 

했습니다. 왜 B 기관의 데이터를 사용했을까요?

우리가 구현 과정에서 사용한 DB는 PostgreSQL이었습니다. 우리가 PostqreSQL을 선택한 이유는 "pgr_dijkstra" 함수를 활용하기위함이었습니다.

 

3. pgr_dijkstra...??

pgr_dijkstra함수는 pg_routing에서 제공하고 Dijkstra 알고리즘을 사용하여 최단 경로를 반환하는 함수입니다. 

* pgr_dijkstra Documents(https://docs.pgrouting.org/2.0/en/src/dijkstra/doc/index.html)

 

우리는 해당 함수를 활용하기 위해 Sample Data를 확인하였습니다.

* pgr_dijkstra Sample Data Documents(https://docs.pgrouting.org/2.3/en/doc/src/developer/sampledata.html#sampledata)

 

* 아래는 Sample Data입니다.

각 노드에 링크가 연결되어있고 노드와 노드 간 이동 방향이 상 하행 양방향으로 표현되어있는것을 볼 수 있습니다. 

 

우리 개구리들은 위 샘플데이터처럼 각 노드에 링크가 연결되어있고 이 링크들이 진행방향과 상 하행을 모두 나타낼 수 있는 데이터가 필요하였습니다.

그렇기에 B 기관의 데이터가 우리가 구현하는 서비스에 좀 더 부합된다는 결정을 내리게된것입니다.

 

이상으로 우리 개구리들이 최단거리 경로탐색 기능을 구현함에 있어 살펴보았던 데이터들과 각 데이터들의 차이점, 형상, 속성 그리고 선택의 이유를 

살펴보았습니다. 

 

 

 

 

 

 

 

WSL 설치 & tomcat 설치 및 배포

 

Window 10에서 Windows Subsystem for Linux(WSL) 설치와 tomcat 설치 및 배포하는 방법을 알려드리겠습니다.

 

리눅스용 윈도우 하위 시스템(Windows Subsystem for Linux, WSL)은 윈도우 10에서 네이티브로 리눅스 실행 파일(ELF)을 실행하기 위한 호환성 계층이다. WSL은 리눅스 커널 코드가 포함되지 않은, 마이크로소프트가 개발한 리눅스 호환 커널 인터페이스를 제공하며, 그 위에 리눅스 유저랜드를 실행시킬 수 있는데, 이를테면 우분투,SUSE페도라를 들 수 있다.이러한 유저랜드는 배시 셸과 명령 언어를 포함할 수 있으며, 네이티브 리눅스 명령 줄 도구(sed, awk 등)들과 프로그래밍 언어 인터프리터(루비, 파이썬 등)가 내장된다.

링크: https://ko.wikipedia.org/wiki/리눅스용_윈도우_하위_시스템

출처: 위키백과

 

요구되는 사항은 64비트 운영체제, x64 기반 프로세서, Window10 버전 1607이상 입니다.

필자의 컴퓨터는 64비트 운영체제, x64 기반 프로세서, Window10 버전 1903입니다.

 

WSL 설치

컴퓨터의 제어판 > 프로그램 > 프로그램 및 기능 화면에 'Windows 기능켜기/끄기'를 실행하여 'Linux용 Windows 하위 시스템' 항목을 활성화합니다.

 

Ubuntu(Linux) 설치

Microsfot Store에서 Ubuntu를 검색하여 설치합니다.

 

 

Java8 설치

설치한 Ubuntu를 실행합니다.

UNIX username과 UNIX password를 설정합니다.

(필자의 username은 pinkprog입니다.)

 

 

 

아래 명령어를 실행함으로써 리눅스 패키지를 업데이트, 업그레이드, 정리작업을 합니다.

sudo apt –y update

sudo apt –y upgrade

 

sudo apt –y autoremove

 

 

 

아래 명령어를 실행함으로써 자바8의 jre, jdk, maven을 설치합니다.

sudo apt -y install openjdk-8-jre-headless openjdk-8-jdk-headless maven

 

아래 명령어를 통해 Java8이 잘 설치되었는지 확인합니다.java -version



tomcat8 설치

아래 명령어를 실행함으로 tomcat8을 설치합니다.sudo apt-get install tomcat8

 

tomcat8이 잘 설치되었는지 확인합니다.sudo /usr/share/tomcat8/bin/version.sh




tomcat8 구동

먼저 톰캣의 포트가 외부 접속이 되도록 방화벽을 변경해야 합니다.

캣의 기본 포트는 8080입니다. 


sudo ufw allow 8080/tcp

 

톰캣을 실행합니다

sudo service tomcat8 start

 

 

인터넷 브라우저에서 localhost와 톰캣포트를 입력하여 정상적으로 작동되는지 확인합니다.

예:  http://localhost:8080/

 

 

 

WAR 파일 배포

WAR 파일을 /var/lib/tomcat8/webapps 경로로 옮겨야 합니다.

(필자가 tomcat으로 배포하고자 하는 war 파일은 

C:\intelliJ\stdmap_war2 에 있습니다.

stdmap_war.war파일을  /var/lib/tomcat8/webapps 경로로 옮겨야 합니다.)

 

 

먼저 관리자 계정 password를 설정합니다.

sudo passwd

 su - 명령어를 사용하여 관리자 계정으로 전환합니다.

 

war 파일이 있는 경로로 들어갑니다.cd /mnt/c/intelliJ/stdmap_war2
stdmap_war.war 파일을 

/var/lib/tomcat8/webapps 경로로 옮깁니다.

mv stdmap_war.war /var/lib/tomcat8/webapps
tomca8을 재시작합니다.sudo service tomcat8 restart

 

인터넷 브라우저에서 해당 파일이 톰캣에 잘 배포됐는지 확인합니다.

예: http://localhost:8080/stdmap_war

 

 

 

 

 

 

 

 

 

SVG(Scalable Vector Graphics) 정의

> 바로가기 : W3C SVG Specfication (https://www.w3.org/TR/SVG2/)
> 바로가기 : W3School SVG Tutorial (https://www.w3schools.com/graphics/svg_intro.asp)
> 바로가기 : SVG 애니메이션 레벨2 (https://svgwg.org/specs/animations/)

동적 웹페이지를 위하여 플래쉬가 널리 사용되던 적이 있습니다. 현재도 사용되긴 하지만 웹 호환성 문제가 나타나며 점진적으로 사용이 감소하고 있는 추세입니다. 플래쉬를 충분히 대체할 수 있는 웹 표준 기술이 존재하기 때문에 플래쉬는 결국 사장될 것입니다. 이를 대체하는 대표적인 표준 기술이 SVG 입니다.

SVG(Scalable Vector Graphics)는 XML 문서 형식으로 2차원 벡터 그래픽 객체를 정의하는 웹 표준으로 1999년 W3C(World Wide Web Consortium)의 주도로 개발되었습니다. 당시 인터넷 이용 환경은 차별없는 웹 구현에 제약이 있었습니다. 웹 브라우저에서 그래픽 객체를 표현하기 위해 Flash, Applet, ActiveX 등 벤더 종속적인 Binary Plug-in 을 사용했으나 상호운영성 및 호환성에 부족한 부분이 있었습니다.

현재 신규 제작되는 웹사이트의 경우 대부분 HTML5 사양이 적용되고 있습니다. HTML5가 이전 HTML 사양과 구별되는 기술직인 특징은 멀티미디어(video, audio) 사용성 강화, 그래픽 표현 강화(svg, canvas), Socket 적용 등을 들 수 있습니다. HTML5가 정의하는 2차원 벡터 그래픽 표현 방법은 SVG를 사용합니다. 이를 통해 HTML5는 SVG가 가지는 장점을 수용합니다. SVG가 가지는 장점은 여러가지가 있지만 대표적으로 다음과 같습니다.

  • 문서로 작성되는 그래픽이기 때문에 텍스트 편집기를 통해 제작될 수 있다. 기계판독(Machine-Readable)이 되는 형식이다
    (플래쉬는 이진 바이너리 코드의 실행으로 기계판독이 되지 않는 데이터 입니다)
  • 벡터 그래픽이기 때문에 표현되는 장비 해상도에 영향을 받지 않는다
    (확대, 축소하더라도 원본의 품질을 유지한다)
  • DOM (Document Object Model)을 가지기 때문에 그래픽 요소에 대한 검색, 색인이 가능하다
  • Video, Audio, Raster Image 등 멀티미디어 요소와 통합이 쉽다
  • Animation 지원으로 동적인 그래픽 표현이 가능하다
    (SVG 애니메이션은 SMIL(Synchronized Multimedia Intergration Language)을 정의하는 W3C Synchronized Multimedia(SYMM) 워킹그룹과 협력하여 개발되었습니다.)
  • 웹 표준 기술이기 때문에 별도의 이진 플러그인 없이 웹브라우저에서 바로 동작한다.

[출처] http://svgtutorial.com/svg-browser-support/   

SVG 적용 사례

> 바로가기 : Pinterest (https://www.pinterest.co.kr/)
> 바로가기 : ArcGIS (https://developers.arcgis.com/javascript/3/jssamples/graphics_svg_path.html)
> 바로가기 : Earth NullSchool (https://earth.nullschool.net/)
> 바로가기 : D3-Data Driven Documents (https://d3js.org/)

 

SVG를 이용한 공간정보 시각화

공간정보 분야에서 SVG 적용으로 얻을 수 있는 가장 큰 이점은 SVG Animation 요소 적용으로 실시간으로 변하는 상황의 표현이 쉽다는 것입니다. 아래의 예시는 간단한 SVG 애니메이션 소스 입니다. 

첫번째는 그래픽요소가 가지는 속성을 변경하는 것으로, 실제 공간정보분야에 적용된다면 비즈니스 레이어에 존재하는 객체가 가지는 Business Value에 연동하여 그래픽 표현을 적용하는데 적용될 수 있습니다.
두번째는 객체의 위치를 변경하는 것으로써 이동체(Moving Object)의 실시간 위치를 관제하는 경우 적용될 수 있습니다.
세번째는 지정된 길을 따라가는 예시로 항공기의 궤적, 물류 분야 관제 등 경로 표현에 적용될 수 있습니다.
SVG에서 객체의 형상(Rectagle, Circle, General Path, Group,..)을 정의하는 모든 요소는 애니메이션의 대상이 됨으로 동적인 표현이 가능합니다.

지리좌표계의 적용을 위해 SVG 의 Root Element(<svg>)에 'viewBox' 속성을 지정합니다. 이를 통해 실세계 좌표계(World Coordintate Reference System)를 사용할 수 있습니다. 일반적으로 경위도로 표현되는 좌표를 그대로 이용하기 때문에 GIS App 개발을 위한 별도의 변환 작업이 요구되지 않습니다.

> 다운로드 : svg_gis.html ( 

svg_gis.zip
다운로드

가장 일반적인 방법으로써 공간정보의 시각화를 위하여 Openlayers, leaflet등의 공개 SW가 널리 사용됩니다. 이 들 라이브러리는 D3와 함께 사용되면 동적인 정보 표현을 가능하게 합니다. D3는 HTML, SVG, CSS를 쉽게 사용하도록 도와주는 Wrapper 또는 Helper 라이브러리 입니다. 사용자는 SVG가 정의하는 그래픽 요소에 대한 지식이 없더라도 D3를 통해 쉽게 SVG를 이용할 수 있습니다.

기회가 된다면 본 블로그를 통해 다양한 GIS Data Viewer(OpenLayers, Leaflet, CesiumJS)에서 SVG를 활용하는 사례를 직접 제작하여 게시하겠습니다. 

> 바로가기 : SVG 애니메이션 사례 - 영국 바람 차트 (

https://charts.animateddata.co.uk/ukwind/)

> 바로가기 : leatlet + SVG - TOURISVIS.COM 스키장 안내 지도 (

https://winter.intermaps.com/oetztal?lang=en)

 

 

1. 개요

품질 좋은 소프트웨어는 수많은 테스트 수행을 통해 제작됩니다. 그러나 외주 용역 사업이 대부분을 차지하는 국내 SW개발 환경에서 충분한 테스트를 보장하는 기간을 사업계획에 반영하기 어려운 것이 사실입니다. 이런 현실적인 이유로 공공정보화사업을 통해 구축된 웹사이트가 일부 만족할 만한 평가를 받지 못합니다. 

제작된 어플리케이션을 이용하는 사용자의 체감 성능을 향상시키고, 잠재적 성능 저하 요인을 제거하고, 사용자 증가에 따른 올바른 확장 전략 수립을 위해 어플리케이션의 성능점검은 무엇보다 중요합니다. GIS 분야가 아닌 모든 분야에 적용되는 공통사항으로써 본 글을 통해 필자가 적용하는 기법을 공유합니다. 완벽한 성능평가는 아니지만 웹을 통해 게시되는 어플리케이션에 일반적으로 적용될 수 있는 방법으로 제한된 기간을 극복하면서 사용자의 체감성능을 충분히 향상시킬 수 있습니다.

적용되는 성능평가는 크게 두부분으로 나누어 진행이 됩니다. 
첫번째는 서버와 클라이언트 사이의 요청/응답 성능 평가입니다. Apache JMeter를 이용합니다.
두번째는 서버로부터 응답이 도달한 후 클라이언트의 브라우저에 표시되는 부분의 성능평가 입니다. Google Page Insights를 이용합니다.

> 바로가기 : Apache JMeter
> 바로가기 : Google Page Insights

2. Apache JMeter를 이용한 서버, 네트워크 성능 평가

Geoserver를 통해 전개되는 WMS를 대상으로 성능평가를 진행합니다.

이 후 실행되는 Apache JMeter 성능 평가는 다음의 URL을 테스트 합니다. 테스트 환경에 따라 클라이언트에 도달하는 시간에 차이가 있겠으나 필자의 네트워크 환경에서 단건 기준 약 0.2초내에 응답이 완료되고 있습니다.

http://1.250.62.223:8180/geoserver/progworks/wms?service=WMS&version=1.1.0&request=GetMap&layers=progworks:group_uq&bbox=126.9092,37.4978,126.9689,37.5437&width=700&height=500&srs=EPSG:4326&format=image/png 


2.1 성능평가 준비 및 설정

Apache JMeter의 설치 및 기본 사용은 인터넷에 좋은 자료가 많이 있습니다. 별도 설명하지 않겠습니다. 간단한 아래 그림을 참고하십시오. 아래 그림의 Thread Group을 통해 사용자(요청) 개수, 반복횟수(Loop Count), 실행통제시간(Ramp-up period) 을 지정하고
HTTP Request 를 통해 성능평가 대상 WMS의 서버 및 입력파라미터를 설정하면 Test Listener를 통해 결과 값을 확인합니다.


2.2 사용자 수용 능력 평가
예측되는 전체 쓰레드 갯수( 사용자 요청 갯수) 가 지정된 시간 내에 실행되는지 여부를 평가합니다. 쉽게 말하면 사이트의 특정 페이지에 1분에 60번의 요청을 처리하는 것이 목표라면, 
Apache JMeter의 Thread Group에서 1분(Ramp-Up Period)에 60번의 요청(Number of Threads)을 처리하는 것을 테스트하면 됩니다.
또는 Thread Group에서 Ramp-Up Period : 1분, Number of Threads: 6, Loop Count: 10 으로 설정해도 됩니다. 차이점은 전자의 경우 1초에 한 번씩 60개의 요청이 수행이 되고, 후자의 경우 6개의 요청이 동시에 이루어지고 10초간격으로 1분간 반복이 됩니다.

위의 첨부 그림의 분당 60개의 요청처리는 실제 테스트 결과로 반영하기에는 무리가 있습니다. 실제 필드에 적용하는 경우라면 피크타임의 전체 시간(1시간, 2시간 등)을 Ramp-up Period로 설정한 후 실행 쓰레드 개수를 지정해야 할 것입니다. 
위 시험의 목표는 사이트 구축 시 수용하고자 하는 사용자 수를 계량화하고, 목표로 하는 시간 내에 해당 사용자의 요청을 처리하는지 점검합니다. 


2.3 과부하 점검

사용자를 지속적으로 증가시켜 개별 응답이 지정된 시간 내에 응답하는지 여부를 평가합니다. 쉽게 말해 개별 요청의 처리 제한 시간이 1초일 경우 1초에 응답할 수 있는 동시요청개수를 찾는 것입니다. 이를 통해 테스트 대상 서버의 물리적 수용한계점을 찾을 수 있고 시스템 확장이 필요한 기준을 수립할 수 있습니다.
과부하 점검에서 Ramp-Up Period는 크게 의미 없습니다.
필자의 경우 Loop Count를 10, 20 등으로 고정하고 Number Of Threads의 갯수를 1, 5, 10, 15, 20, 30 과 같은 형식으로 지속적으로 늘려가며 테스트를 수행합니다. 만일 개별 요청의 응답 제한 시간이 1초라고 할 때 Number Of Threads 개수가 얼마일 때 응답제한시간을 초과하는지 측정하고, 실제 처리되는 초당 Throughput이 언제 감소하는지를 살펴봅니다.

위의 테스트 결과 예시는 동시 사용자를 30명, 40명, 50명 지정하고 각 10회씩 동시 요청한 후 결과 값을 표시합니다.
먼저 평균응답시간을 살펴보면 동시 사용자 30일 때 1초 내에 있었으나 40명일 경우 1초를 초과하고 있습니다. 50명일 경우 거의 2초에 가까운 평균응답시간을 보여주고 있습니다. Throuhput을 보면 3명일 경우 초당 37건을 처리하고 있으나 40명일 경우 오히려 초당 35건으로 처리 능력이 떨어짐을 알 수 있습니다.

일반적으로 잘 짜여진 코드라고 하면 동시 사용자 증가에 따라 평균응답시간은 선형으로 지속적으로 증가합니다. 증가하는 평균응답시간이 제한된 시간을 넘어서는 경우, 사용자 증가 시점에 따라 Throughput이 오히려 감소하는 경우는 테스트 대상 서버가 한계치에 도달한 경우입니다.
주의할 점은 과부하 테스트 시 필수적으로 테스트 계통에 걸치는 서버 자원을 모니터링 해야 합니다.

만일 WAS 자원은 여유가 있는데, DBMS 자원에 여유가 없다면 DBMS의 확장(수직확장 우선)이 우선적으로 고려되어야 합니다.
DBMS는 안정적이나 WAS 자원에 여유가 없다면 WAS의 확장(수평확장 우선)이 우선적으로 고려되어야 합니다. 드문 경우이긴 하지만 모든 자원은 여유가 있는 상태인데 사용자의 증가에 따라 전송되는 패킷(Received Byte)량이 증가하지 않는다면, 테스트 서버와 연결되는 네트워크 설정 점검 또는 증설이 요구됩니다.


3. Google Page Insights를 이용한 페이지 최적화

서버가 충분한 성능을 발휘하고 있는데 실제 브라우저에 표출이 늦다면 웹 페이지 레벨의 최적화가 요구됩니다. 필자가 애용하는 방법은 첫 번째 구글 개발자 도구를 이용하여 페이지의 로딩속도를 점검하고 그 시간이 늦는 경우 페이지와 함께 전송되는 리소스 등을 점검합니다. 이 때 이용하는 것이 "Goolge Page Insights"입니다.
서버 성능 점검은 개별페이지를 테스트하지 실제 브라우저 표출의 대상이 되는 JS, CSS 등 리소스에 대한 다운로드는 포함하지 않습니다. 따라서 성능점검 시 꼭 페이지 표출 속도도 점검해야 합니다.

Google Page Insights는 친절하게도 어떤 방식으로 수정해야하는지 친절히 알려줍니다. 단순한 수고가 서비스의 만족도를 높인다면 보람있는 일입니다.
위의 예시는 국가공간정보포털 오픈마켓을 측정한 것으로 평균정도의 응답속도를 보이고 있습니다.

4. 맺음말

제가 겪어본 바에 의하면 공간정보분야 공공 부문 서비스에 대한 평판이 그리 좋은 편은 아닙니다. 오직 국가정보화사업을 통해 먹고사는 공간정보업체는 특히 더욱 성능부분에 충실할 필요가 있습니다. 비교적 영세한 업체로 이루어진 산업계의 특성상 아키텍처그룹, PM 그룹을 별도로 운영할 수 없는 형편도 이해하지만 정보화사업이 아니면 망할 수 밖에 없는 형편에서 고객이 만족할 수 있도록 더욱 노력해야 합니다. 전 고객이 떠나는 것이 두렵습니다.

마지막으로 프로그웍스는 앞장 서서 테스트를 철저히 하겠음을 다짐하며 마무리 합니다.

국가지점번호 격자 파일을 제작하며, 실제 작성된 국가지점번호 파일의 위치 유효성 검증을 위해 산행길에 나섰다.

목적지는 남한산성 남문, 코스는 산성역에서 시작해서 도로 옆을 따라가는 등산로를 선택했다. 산행 중 발견되는 모든 국가지점번호판을 직접 확인하기로 했다. 그리 좋지 않은 체력으로 최초 2개만 확인하고 그 이후는 숨이 차서 발견 할 수 없었다. 어쩌면 없었을 수도 있다.

개인적 견해는 사람이 빈번하게 다니는 일반적 등산로 상에 굳이 설치할 필요가 있었을까하는 의문이 든다. 필자는 잘 정리된 등산로를 따라 걸었으며, 이 곳은 실제 긴급구조가 필요한 상황이 발생할 확률이 비교적 적은 곳이었다. 또한 실제 도로가 바로 옆에 있고 사람의 왕래도 빈번하고 통신 감도도 훌륭한 곳으로 설치된 국가지점번호판의 효용성이 그리 높아보이지는 않았다.
오히려 사람이 자주 다니지 않고, 일반적 등산를 벗어난 지역에 우선적으로 설치하는 것이 좋을 것 같아 보인다. 

발견한 국가지점번호는 아래 그림과 같으며 이 후 작성된 내용은 국가지점번호 설치 장소의 정확도를 검증하는 것이다.


지점번호판 설치장소 정확도 검증

사무실에 출근하여 산행을 하며 촬영한 국가지점번호의 위치 정확도 검증 작업을 진행하였다. 검증 절차는 국가지점번호를 5179좌표계(UTM-K)로 치환하고 치환된 좌표를 4326좌표계(WGS84 경위도) 로 좌표변환한 후 각각을 구글 지도와 QGIS (배경은 OpenStreetMap)에서 위치를 확인하였다. 확인 결과 설치된 위치는 비교적 정확할 것으로 추정할 수 있었다.
첫번째 지점번호의 경우 산림이 비교적 우거진 지역으로 어렵게 나마 주변 건물을 확인할 수 있긴 하지만 실제 번호판 설치를 위한 기준점 정의를 위한 지형지물로 활용하기에는 어려움이 있었을 것으로 추정된다.  두번째 지점번호는 도로에 인접한 지점으로 첫번째 지점번호보다는 설치 위치 확정 작업이 쉬웠을 것으로 보인다.
국가지점번호가 도로명주소가 부여되지 않은 산, 임야 등의 식별에 이용되다고 할 때 대부분의 지점번호는 측량이 불가능한 산악지역에 설치될 것이다. 이 때 10m 격자단위를 정확하게 측정하여 해당 장소에 국가지점번호 번호판을 설치할 수 있을 것으로 보이진 않는다.


  지점번호 

  EPSG:5179 좌표

 EPSG:4326좌표

  다사 6925 4045

  969255, 1940455

 127.1520, 37.4628

  다사 7049 4118

  970495, 1941185

 127.1663, 37.4694


직접제작한 국가지점번호 정확도 검증

프로그웍스가 제작한 국가지점번호를 PostGIS 에 등록한 후 SQL 질의(공간질의)를 통해 해당위치의 정확한 지점번호가 출력되는지 확인한 결과 위의 사진에 나타나는 지점번호가 정확히 조회됨을 확인함

SELECT num_name, st_astext(geom) FROM national_point_num_5179_26 WHERE st_intersects(geom, st_pointfromtext('point(969255 1940455)', 5179));
==> 질의 결과 : 다사69254045, POLYGON((969250 1940450,969250 1940460,969260 1940460,969260 1940450,969250 1940450))

SELECT num_name, st_astext(geom) FROM national_point_num_5179_26 WHERE st_intersects(geom, st_pointfromtext('point(970495 1941185)', 5179));
==> 질의 결과 : 다사70494118, POLYGON((970490 1941180,970490 1941190,970500 1941190,970500 1941180,970490 1941180))


1. Raster Image 와 Vector Graphics의 정의

일부 GIS 웹 사이트를 보게 되면 WMS와 WFS의 선택이 부적절하여 서비스 성능을 떨어뜨리는 경우가 있다. 본 글을 통해 어플리케이션 구성에 있어 WMS와 WFS 선택 기준을 설명한다.

Raster Image는 흔히 Smart Phone의 카메라를 통해 생성되는 JPEG, PNG 등의 형식을 가지는 데이터를 의미한다. 각각의 포맷 별로 저장되고 압축되는 방식의 차이가 존재하지만 기본적으로 흔히 Pixel 이라고 부르는 것에 입력되는 색상으로 표현되는 데이터라고 할 수 있다.
OGC의 WMS(Web Map Service)는 HTTP를 통해 Raster Image를 제공하는 서비스이다.

Vector Graphics는 흔히 좌표라고 부르는 위치를 지정하는 요소의 연결을 통해 구성되는 데이터를 의미한다. GIS 분야에서 GeoJSON, KML, GML, ESRI SHP 등으로 정의되는 형식이라고 할 수 있다.
OGC의 WFS(Web Feature Service)는 HTTP를 통해  Vector Data 를 제공하는 서비스이다.


2. Raster Image 와 Vector Graphics의 특징

Raster Image의 경우 저장되는 포맷에 상관없이 메모리에 풀린 상태라면 가로 1024px, 세로 1024px 크기의 TRUE COLOR ( RED, GREEN, BLUE) 이미지라면 3MB의 크기를 가진다.
즉, 이미지 생성을 위한 원본 데이터의 크기에 상관없이 렌더링 되는 이미지의 가로, 세로 크기만큼만의 사이즈를 가진다. 국가공간정보포털이 제공하는 연속지적도 서울지역 SHP파일의 경우 약 1.5 GB 이지만, 1024px * 1024px * 3Bands (RED, GREEN, BLUE)의 Raster Image로 렌더링되면 결국 3Mb 의 크기만 가질 것이다. 물론 저장되는 포맷에 따라 압축이 됨으로 실제 생성되어 전송되는 크기는 수백KB 일 것이다.

Vector Graphics의 경우 지형을 표현하는 도형이 가지는 좌표 셋을 그대로 반환함으로써 원본 크기만큼의 전송 양을 가지게 될 것이다.
즉, 국가공간정보포털이 제공하는 연속지적도 서울지역 SHP파일의 경우 약 1.5 GB이므로 , 전송되는 데이터 양 또는 이와 같을 것이다.


3. WMS와 WFS의 성능향상을 위한 확장 기법

WMS에서 Raster Image는 지리 공간 상의 도형 형상 좌표를 이미지 픽셀 좌표로 변환하는 과정(AffineTransform)과 컬러링 과정이 요구됨으로 사용자의 서비스 요청 처리에 있어 비교적 많은 Computing Power를 사용한다.
이러한 특징으로 이미지 생성 성능 향상을 위해서는 수직적 확장(CPU 추가, Memory 추가, GPU 주가등)이 우선 고려되어야 한다.

WFS에서 Vector Graphics는 원 데이터 소스가 가지는 지형 도형을 반환 포맷에 맞도록 텍스트 렌더링 과정만 있음으로 비교적 적은 Computing Power를 사용한다.
이러한 특징으로 Vector Data 생성을 위한 성능향상은 사용자 수용 능력 향상 측면에서 접근되며, 이를 위해 수평적 확장 (서버 증설:로드밸런싱, 클러스터링)이 요구된다. 그러나 서버가 많은 데이터를 반환해야 한다면 네트워크 부하가 중요 고려요소가 될 수 밖에 없다.


4. WMS와 WFS의 선택

WMS와 WFS의 선택에서 고려해야 할 것은 

  • 렌더링 되야 하는 원본 데이터의 크기로써, 원천 데이터의 크기가 크다면 WMS가 유리할 것이다.
  • 사용자 페이지를 기준으로 각 객체에 이벤트가 연동되어야 한다면 어쩔 수 없이 WFS가 선택지 일 것이다. 
  • 그러나 위 경우에도 전체 형상 확인을 위해 WMS를 호출하고, 마우스이벤트 등과 연결하여 개별 객체를 호출하는 방식으로 페이지를 구성하는 것이 효율적일 수도 있다. 



| ckan 은 라이선스의 제약이 없는 오픈소스기반의 강력한 데이터 플렛폼이다. 출처 - ckan.org

강력한 오픈소스 제품의 개발 

 모든 오픈소스 제품들은 모든 사람들이 정보이용에 평등 해야 한다는 GNU 선언 및 다양한 재능기부활동, 현장의 수요에 의해서 개발되고 배포된뒤 계속해서 개선과정을 거쳐 발전하는 생태계를 이루고 있다. 특히 수요가 많은 분야에서는 다양한 사람들의 참여로 상용제품을 능가하는 강력한 제품이 등장 
하기도 한다. 
ckan의 활용 사례를 소개하기 전에 오픈소스 데이터플렛폼포털로 ckan이 개발되기 위해 수요를 제공한 공개데이터(OpenData) 에 대해 간략히 소개 한다. 


지식 표현의 증대 , 공개데이터의 부각 

 인터넷이 발달 하고,인공지능등의 새로운 기술적 진보가 진행 되면서 다양한 지식의 표현 방법을 연구 하다 보니, 다수의 데이터를 필요로 하게 되었다. 
이러한 수요로 데이터를 손쉽게 수급 받고, 자유롭게 활용하는 방법이 연구 되었다. 


다양한 데이터의 수요 증가 

 다양한 데이터의 수요가 증대되었고, 다양한 데이터를 공공의 이익을 위해  제약조건없이 사용하기 위한 노력들을 하고 있으며, 이런 노력의 일환으로
 데이터를 쉽게 개방하고 체계적으로 관리하기위한 OpenSource 프로그램  ckan (comprehensive knowledge archive network)을 개발하고
 보급하여 사용하도록 하였다. 


공개데이터(OpenData) 와 공공데이터

데이터를 공공데이터의 잠재성을 높게 평가하고 있는 외국의 사례를 조사하다 보니 개방형 데이터, 개방형 정부의 데이터로 볼 수 있으며 원문 그대로의 OpenData 는 포괄적인 의미이기 때문에 별도의 설명이 필요 하다.


공개데이터 (OpenData)란?

공개데이터 (OpenData)는 자유롭게 사용이 가능한 데이터를 의미 한다. 
다양한 기관에서 많은 데이터를 생산하지만 생산기관의 제약 조건으로 데이터를 제대로  수급 받기 어렵고 사용하더라도 변경, 재 개방을 하기 어려운 점이 있으나. 간단하게 OpenData는 이런 제약조건이 없는 데이터이다.
 
 이런 공개데이터를 활성화 시키기 위해서 영국의 Open Knowledge International에서는  공개데이터의 엄청난 잠재력을 인지 하고, 지속적으로 가치를 향상 시키는 활동을 하고 있다.


공공데이터는?

정부와 공공기관에서 생산한 데이터를  일반 국민이 자유롭게 활용할 수 있도록  다양한 형태로 개방·제공하고, 이를 활용하여 다양한 고부가가치를 창출하도록 지원하고 있다.

  • 대한민국에서 공공데이터의 정의 와 관계법령은 공공데이터 포털에 정의되어 있다.

공공데이터 의 공개데이터(OpenData)로 사용

 공공기관, 정부 에서 생산,개방하는 공공데이터개방데이터(OpenData) 조건으로 개방하여 공공데이터의 무한한 잠재력을 발전시키고, 데이터 개방으로 정부의 책임 강화, 건강한 삶 보장, 복지 증진 새로운 산업을 발굴하는데 사용하도록 하는 선순환 구조를 만들 수 있다.

 
공개데이터 관련 내용 출처 


ckan 이란 무엇인가? 

ckan 은 공공데이터 및 오픈 데이터를 효율적으로 공개/공유하는 데이터 포털 플랫폼이다. 

ckan의 개발 주체는 비영리 단체인 OKI(Open Knowledge International) 산하 Open Knowledge Labs이며, 공개데이터(OpenData)의 활성화를 위해 데이터 생산자, 생산기관에서 웹 상에서 단순하게 , 빠르게 공개 하는 것을 돕기위해서 만든 오픈소스데이터 포털이다.  


ckan 의 장점

 메타데이터기반으로 공개데이터를 체계적으로 관리 할 수 있다. 체계적으로 관리를 할 수 있어서 공개데이터의 가치를 올릴 수 있다. 공개데이터(OpenData)를 쉽게 이용하기 위해서 데이터 카탈로그 기능을 기반으로 데이터 검색, 메타데이터 제공, 데이터셋 제공을 하고 있다. 

 

표준화된 데이터 적제 체계를 구성 하고 있어 ckan 을 도입한 기관간의 데이터 연계가 가능 하며, 다양한 익스텐션(Extension) 을 구성하여 시맨틱 웹(Semantic Web)과 같이 인터넷과 같은 분산환경에서 데이터에 대한 정보와 데이터 사이의 관계-의미 정보(Semanteme)를 공유하여 제공 할 수 있다. 

출처 : https://ckan.org/2011/05/03/under-the-hood-of-ckan/


 

ckan 은 오픈소스로 라이선스 제약 없이 무료로 사용 할 수 있다. GitHub 을 통해서 배포 되고  다수의 오픈소스 개발 참여자들과 함께 완성도 높은 데이터 포털을 구성 할 수 있다. 

출처 - ckan.org


 

다양한 확장 프로그램을 통해서 데이터 표현기능을 다채롭게 구성 할 수 있다. 

 예) 공간정보 속성 사용 : 데이터 셋의 공간정보 속성을 이용해서 공간정보와
       연결되는 데이터들을 지도상에서 표출 할 수 있는 속성을 제공 한다.  

출처 - ckan blog


 
ckan 활용 사례

ckan 의 Government Working Group으로 활동 하고 있는 호주, 캐나다, 미국에서 공개데이터 포털로 사용하고 있으며 

  1. ckan을 사용하여 더 나은 서비스와 상호 운용성을 창출하는 정부를위한 개발 활동 조정 
  2. ckan 개발을위한 효율성 증대  
  3. ckan을 사용하는 개발자, 중개자 및 정부가 Github을 통해 오픈 소스 소프트웨어에 기여하고 사용하도록 보장

  등을 목표로 하고 있다.

 출처 - https://ckan.org/about/government-working-group/

 

 

 

 

 


국가별 데이터 포털 활용 사례 

 국가기관에서 공공데이터의 개방을 위해 ckan 을 데이터포털로 사용하고 있는 대표적인 사례 소개  

  대한민국

 

 

 국가공간정보포털

 공공데이터 포털

 수원시공공데이터

 싱가포르

 

   https://data.gov.sg/

 싱가포르 개방데이터(OpenData) 

싱가포르의 공공데이터를 다양한 형태의 차트를 통해서 제공해 주고 있다.


 미국

 

   https://www.data.gov/

 미국 개방데이터(OpenData) 

 다양한 테마를 기준으로 분류해서 정부 기관에서 생산한
공공데이터를 제공하고 있다.



  영국

 

   https://data.gov.uk/

 영국 개방데이터(OpenData) 

 주제를 기준으로 분류된 공공데이터를 개방하고 있고,

 개인이나 기관에서 데이터를 손쉽게 등록할 수 있는 메뉴를 제공한다.



프로그웍스는 전자정부프레임워크 기반의 기존 시스템 환경에서 표준 인터페이스 정의를 통해 성공적으로 ckan을 적용한 경험을 가지고 있습니다.

esri 의 클라우드 컴퓨팅 적용 사례


esri 의 클라우드 컴퓨팅 단편적인 이야기

■ esri 는?

Desktop GIS 프로그램을 기반으로 시작한 세계적인 GIS 프로그램 업체이다. 



Jack과 Laura Dangermond (둘은 부부이다.)가 1969 년 컴퓨터 매핑과 공간 분석을 사용하여 광범위한 지리적 인 문제를 해결하기 위해 환경 시스템 연구소 (Environmental Systems Research Institute)를 설립하였으며, 이 회사는 토지이용 컨설팅 업무를 주로 수행 했었다 .

이 후 GIS 분야에서 지난 수십년간 다양한 토지이용 모델과 관련 컴퓨터 소프트웨어를 개발,공급 해 왔다. 시장의 수요와 기술의 발전에 관련 도메인의 거의 독점적인 입지를 다지며사업을 확장하여 미국내 10 개 지사와, 전세계 200개 국가에 80개 이상의 공급 업체와 제휴 하고 있다.


사진 출처 - JACK AND LAURA DANGERMOND 


 출처 Wiki 백과 - esri 

■ esri 의 주요 제품

01

데스크탑 GIS

주력제품은 유명한 ArcGIS for Desktop Ver.10.6 이다.  ArcGIS for Desktop 은  ArcMap , ArcCatalog , ArcToolbox , ArcScene ,  ArcGlobe 및 ArcGIS Pro를 포함한 여러 통합 응용 프로그램으로 구성되어 있다. 
이 제품군의 주요 구성 요소 인 ArcMap , ArcCatalog 및 ArcToolbox 를 사용하면 사용자가 지리 정보를 작성, 분석, 매핑, 관리, 공유 및 게시 할 수 있다.

서버 GIS

데스크탑 기반의 ArcGIS 기능을 웹브라우저 기반을 확장하는데 사용된다.  ArcGIS Server , ArcGIS Online 등의 제품이 있다. 

모바일 GIS

ArcPad 가 대표적인 제품으로 다양한 스마트디바이스에 배포 할 수 있는 제품 군이다.
(ArcGIS 기반이 되는 Components 제작기반이 주로 Microsoft 의 기술을 많이 상속 받아서 Widows 기반 스마트 장치 제품에 편중이 심하다. )

개발자 GIS

전체 제품군이 Arc Object 로 불렸던것 같다. ArcGIS를 구성하는 Object 들을 제공하여 개발자가 ArcGIS를 특정 목적에 맞게 커스터마이징 하여 개발 할 수 있다. 

온라인 GIS

ArcGIS Online 이 있다.  Esri, ArcGIS 사용자 및 기타 신뢰할 수있는 데이터 공급자가 게시 한 컨텐츠, 지리 정보를 공유하고  검색 할 수있는 웹 응용 프로그램이다. 사용자는 그룹을 만들고 그룹에 가입 할 수 있으며, 공개 또는 그룹 내에서 공유 된 항목에 대한 액세스를 제어 할 수 있다.

 출처 Wiki 백과 - ArcGIS 

■ esri 의 클라우드 컴퓨팅 전략 

GIS anywhere

클라우드의 SaaS(Software-as-a-Service) 개념으로  GIS 소프트웨어는 esri 가 공급 하고 사용자는 공간데이터분석, 매핑업무에 집중 한다. 라는 개념이다. 공간정보분석의 막강한 성능과 다양한 분야에서의 신뢰성은 esri 의 데스크탑GIS 에서 이미 달성 했지만, 시대가 변해 인터넷이 매우 빠른 속도로 정보를 교환하고, 대용량의 데이터를 필요로 하는 시대가 되었다.  클라우드 개념이 도입되면서 SaaS(Software-as-a-Service) 형태로 제품을 서비스 하는 시장이 개척 되었고, esri도 주력 제품인 ArcGIS for Desktop의 기능을 웹 기반 클라우드에 올리기 시작 한다. 

분석기능이 무겁다

하지만 초창기에 웹 기반에서 모든 분석기능을 다 제공 하기 위해서는 하드웨어적인 한계가 분명 했고, 이어서 유연하게 GIS 데이터의 표출과 공유 쪽으로 초점이 모아졌다.   공유와 표출에 초점을 맞 추다 보니 무거운 공간분석을 수행하는 역할은 ArcGIS Desktop 을 이용하고, 데이터 분석 결과를 DBMS에 적재한 뒤 서버GIS 에서 Web기술을 이용해서 결과를 표출하고 조회 할 수 있는 기능을 제공하는 형태가 되었다. 

웹 기반 클라우드를 활용 하다.

.net 이전시대에서 CGI 가 비주류로 물러나며, 웹 표준에 대한 논란 이전, 모질라와 MS 가 으르렁 거리며 독과점 소송을 이어가던 시절 이며, VB 스크립트 후발로 ASP가 생산성의 가치를 높이고 있던 시절 에  esri 제품에서 웹브라우저에서 지도를 표출 하는 것은 Map Object 나 ArcIMS를 이용해서 였다.
서버사이드에서 직접 오브젝트를 호출해서 웹 페이지에 지도 객체를 띄우거나 자바스크립트를 이용한 지도 라이브러리를 작성 해서 사용 했었다. 

  


이미치 출처 - 
https://www.cursosgis.comhttps://gisandscience.com/ 

이후 ArcGIS Server 가 등판되고, esri 는 ArcGIS Desktop에서 편집한 지도를 손쉽게 웹으로 올릴 수 있는 체계를 공급 하였다. 이 시기에 IIS 에서 ASP 기반의 웹 서비스가 .net 으로 버전 업되고,  웹서버에 올라간 지도를 Restful API 로 공유를 하는 기술이 적용 되었다.

Arcgis Online  출시

발행된 지도가 손쉽게 웹에 배포 되자 웹의 특성을 이용한 여러 사람들의 동시접근 과 동시 이용을 위해서 Arcgis Online 이 출시 되었다.
실제 ArcGIS Server에서 출발한 웹 기능을 다수의 사용자와 데이터 공유, 할 수 있도록  ArcGIS Online 에서 제공 하고 있으며, Esri 의 개발자를 위한 레퍼런스 기술 관련 페이지 (esri Mapbook) 에서도  Arcgis Online 을 이용하여 지도를 공유하고 있다.
이후에 클라우드 기술이 중요하게 부각 되면서 서버 제품군을 클라우드환경에 맞춰서 개선하여 개발 하기 시작 했다. 

ArcGIS Online - 출처 esri.com

 사용자들의 공간정보 활용 및 공유가 중점 

ArcGIS Server 에서 발행한 지도를 공유 하는 것이 중점이라고 생각 한다.
ArcGIS Online 기반에서는 지도를 편집하거나 데이터를 공유하고 웹상에서 발행하는 작업이 가능 하다. 
간단한 작업으로 지도에 POI를 생성해서 바로 발행 하고, 서비스에 반영하거나  Esri 에서 제공하는 배경지도와 전 세계에 다양한 지역의 주제도를
이용할 수 있었다. (안타깝게도 대한민국에서 활용할 수 있는것은 배경지도 정도였다. )

esri제품의 클라우드 유형 

 ArcGIS 의 Cloud Service Model 은 다음 세가지로 구분되었으며,  ArcGIS 배포형태, 관리 주체에 따라 구분되어진다. 

    • Non-Colud

 - 일반적으로 사용자 머신에 배포 되는 ArcGIS Enterprise 

    • Infrastructur-as-a-Service (IaaS) 

 - 클라우드 기반 머신에 배포 되는 ArcGIS Enterprise

    •  Software-as-a-Service (SaaS)

- ArcGIS Online 과 Esri Managed Cloud Service(EMCS)

- 웹들 통해서 접근 되는 비 배포 방식

 Esri Cloud 지원 제품의 관리 주체 별로 구분

    •  사용자가 직접 관리하는 On-premise*, 혹은 AWS, Azure 
    •  Esri 에서 관리 하는 Esri Managed Cloud Service(EMCS)

 


Esri Cloud 지원 제품의  IaaS방식 배포 방식에 따른 분류 

 아마존 AWS 와 MS Azure 에서 Esri 제품 이미지가 준비되어  클라우드 기반 가상머신에 이미지를 적용 한 뒤에 사용자가 제품을 설정 
 할 수 있도록 설정도구*를 제공 한다.

 * Azure : ArcGIS Enterprise Cloud Builder 
 * AWS : Amazon's CloudFormation Templates 

  구글클라우드에 ArcGIS 이미지와 설정 도구는 아직 지원을 안 하는데  Google Earth 때문에 구굴을 경쟁사로 인식 해서가 아닌가 한다. 
 하지만 ArcGIS Enterprise 이미지가 없을 뿐이고, ArcGIS Enterprise 제품은 다양한 IaaS 기반에서 사용 할 수 있다. 

esri ArcGIS Enterprise 는 다양한 IaaS 에 설치 가능 하다. 

Azure와 AWS 에서 ArcGIS Enterprise 사용 

    • Azure 와 AWS 의 강점을 이용해서 IoT 기기들과 연결이 용이함. 
    • Cloud Storage 를 이용한 무거운 Server Tiles 저장 및 관리 가능 
    • 단일장애점 (*SPOF (single point of failure) ) 제거 

*단일장애점 : 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소

*용어 - 출처 : WiKi 백과

esri Cloud 활용 사례

※ 참고 문헌 

esri - Deploying and Using ArcGIS Enterprise in the Cloud - Witt Mathot, Larry Boden
ArcGIS 의 클라우드 활용 사례는 위 문헌을 참고 할 것. 

■ 대용량 공간데이터의 공간연산 및 표출 

대용량 데이터의 시대 

데스크탑GIS 에서 클라우드 서비스까지 쭉 올라왔지만 최근 기술의 요구사항은 대용량 데이터를 이용한 분석 서비스를 제공하는데 어느정도의 효율성이 나오느냐가 관건 이다.(이 글에서는 DBMS에 저장되는 대용량 공간정보의 방식은 논하지 않았다.)

esri 에서 ArcGIS Enterprise를 이용한 클라우드기반 어플리케이션 배포를 제공 하지만 클라우드 고유의 기능인 Auto-Scaling을 이용한 기술 보다는 표출에 따라 유연한 서버 증설등에 무게를 두고 있는 것 같다.  

앞서 이야기 했듯이 esri 의 클라우드 서비스는 사용자들의 공간정보 공유 및 활용이 중점 인지라 표출에 따른 성능을 우선으로 한다면 빠른 표출이 중요한 관건이다. 하지만 아직까지는  데스크탑GIS의 Components를 활용해서 ArcGIS Enterprise 제품을 IaaS 환경에서 특정 공간분석 모델을 대용량 데이터 기반으로 연산 할 수 있는 기능을 구현 하는 것 은 esri에서 제공하는 제품을 클릭 몇 번으로 기능을 구현 하는 것 보다 숙련된 소프트웨어 엔지니어의 역량 영역으로 봐야 할 것이다. 


 

#1 환영합니다 !!

공간정보 활용을 위한 정보를 공유합니다. 무료 개방되고 있는 공간정보와 PostGIS, QGIS 등 공개SW를 잘 이용하려는 목적으로 운영되는 모임입니다.

 

 

 

+ Recent posts