DOI QR코드

DOI QR Code

Implementation of WebGIS for Integration of GIS Spatial Analysis and Social Network Analysis

GIS 공간분석과 소셜 네트워크 분석의 통합을 위한 WebGIS 구현

  • Choi, Hyo-Seok (Dept. of Geoinformation Engineering, Sejong University) ;
  • Yom, Jae-Hong (Dept. of Geoinformation Engineering, Sejong University)
  • Received : 2014.01.16
  • Accepted : 2014.04.30
  • Published : 2014.04.30

Abstract

In general, topographical phenomena are represented graphically by data in the spatial domain, while attributes of the non-spatial domain are expressed by alpha-numeric texts. GIS functions for analysis of attributes in the non-spatial domain remain quite simple, such as search methods and simple statistical analysis. Recently, graph modeling and network analysis of social phenomena are commonly used for understanding various social events and phenomena. In this study, we applied the network analysis functions to the non-spatial domain data of GIS to enhance the overall spatial analysis. For this purpose, a novel design was presented to integrate the spatial database and the graph database, and this design was then implemented into a WebGIS system for better decision makings. The developed WebGIS with underlying synchronized databases, was tested in a simulated application about the selection of water supply households during an epidemic of the foot-and-mouse disease. The results of this test indicate that the developed WebGIS can contribute to improved decisions by taking into account the social proximity factors as well as geospatial factors.

일반적으로, 공간 도메인의 공간자료는 지형적인 현상을 도형적으로 표현하고 비공간 도메인의 속성자료는 공간 자료의 특징을 서술적으로 설명한다. GIS에서 속성자료를 이용한 분석은 조건을 이용한 검색이나 통계분석에 제한적으로 활용되고 있다. 최근 소셜 네트워크 분석의 그래프 모델링 및 네트워크 분석기법은 인문 사회적 현상을 분석하는데 사용되고 있으며, 본 연구에서는 이러한 네트워크 분석기법을 GIS의 비공간적인 속성자료 처리에 적용하여 분석기능을 다양하게 하였다. 또한, 공간 데이터베이스와 그래프 데이터베이스를 이용하여 GIS 공간분석과 비공간적 네트워크 분석의 통합분석 방법을 설계하였고, 이를 WebGIS를 구현하여 보다 효과적인 의사결정을 가능하도록 하였다. 구현된 WebGIS를 상수도 보급 대상 가구 선정 업무와 구제역 질병의 2차 전파 분석 업무에 적용하여 실험 및 평가하였다. 실험 결과, 구현된 시스템의 통합 분석을 통해 공간적인 요인 및 사회적 친밀도와 같은 비공간적인 요인을 고려한 방역을 제시하였으며, 이는 질병 전파의 효과적인 차단에 기여할 것으로 판단한다.

Keywords

1. 서 론

1.1 연구 배경

GIS(Geographic Information System)의 공간분석을 수행하기 위해서는 우선 현실 세계를 모델링 하여야 한다. O’Sullivan and Unwin(2010)은 현실 세계의 현상을 객체와 필드로 분류하였고, 객체는 점, 선, 면으로 표현되며, 필드는 격자형 그리드로 표현된다. 객체 현상을 나타내는 방법 중에 벡터 모델은 기하학적 모양이나 크기, 관계를 나타내는 지오메트리(공간 참조된 도형자료)와 이와 관련된 속성자료(문자와 숫자)로 구성되어 있고, 필드 현상을 나타내는 방법 중에 래스터 모델은 격자형의 그리드로 구성되어 있다. GIS에서 사용되는 또 다른 현상은 도로망과 상하수도 관망과 같은 네트워크 현상으로서, 네트워크는 그래프로 모델링할 수 있으며, 그래프는 노드와 에지로 구성된다. Fig. 1은 위에서 언급된 객체, 필드 및 네트워크 현상을 GIS에서 모델링 하는 개념을 도식화한 내용이다.

Fig. 1.The concept of spatial modeling in GIS

객체 현상의 GIS 공간분석 과정에서, 기하학적 형태로 표현되는 지오메트리는 다양한 분석(인접성, 연결성, 포함 여부 등)에 이용되는 것에 비해, 속성자료는 문자와 숫자에 대한 조건을 이용한 검색이나 통계분석 등에 이용되고 있다(De Smith et al., 2011). 예를 들어, 특정 위치에서 반경 500m 내에 5층 이상인 건물의 개수를 구할 때, 지오메트리를 이용하여 특정 위치에서 ‘버퍼(buffer)’ 공간분석과 건물 레이어와 ‘중첩(intersection)’하는 공간분석을 하고, 속성자료에서는 ‘5층 이상’이라는 조건 검색을 하고, ‘합계’를 구하는 통계분석을 한다. 현실 세계의 디지털 자료는 지오메트리 자료에 비해 속성자료가 더 많이 다양하게 존재하지만, GIS에서는 이러한 속성을 이용한 분석방법이 조건 검색과 통계분석에 많이 의존하는 실정이며, 보다 다양하게 분석하는 방법을 제시할 필요가 있다.

1.1.1 공간 도메인과 비공간 도메인의 네트워크 분석

최근 스마트폰 보급의 증가와 소셜 네트워크 서비스의 성장으로 다양한 종류의 대규모 자료가 급속히 생성되고 있다. 소셜 미디어 분야에서는 이러한 빅데이터로부터 보이지 않는 패턴을 파악하고 사회적인 현상을 분석하는데 네트워크 분석을 이용하고 있다(Scott et al., 2005). 또한, 통계학, 생물정보학, 의료, 기상정보 등 다양한 분야에 네트워크 분석기법을 활용하고 있으며, 이러한 분석은 비공간 도메인, 즉 GIS 자료의 속성 부분에서 수행된다고 볼 수 있다. 비공간 도메인의 네트워크 분석은 누가 누구와 관련이 있으며, 누가 중심적인 역할과 전달하는 역할을 하고 있는지 등의 관계를 중심으로 한 구체적인 망의 구조적 특징을 주요 관심 대상으로 하고 있다.

반면에 GIS에서 전통적으로 수행하는 네트워크 분석은 공간 도메인, 즉 지오메트리를 이용하여 수행되고 있으며, 이는 도로망, 상하수도망 등 실제 존재하는 네트워크망에 대해서 최단거리 분석, 관로 분석 등과 같이 위상기하학(Topology)적 정보를 대상으로 하고 있다(De Smith et al., 2011). 이와 같이 GIS의 네트워크 분석은 공간적인 특성을 찾고자 하는 것에 비해 소셜 네트워크 분석과 같은 분석은 관계를 중심으로 하는 비공간적인 특성을 찾고자 하고 있다(Doytsher et al., 2012).

1.1.2 GIS와 네트워크 분석

국내에서는 소셜 네트워크의 위치정보를 활용하는 웹서비스가 최근에 연구되고 있다. Ahn and Joo(2011)는 스마트 폰 중심의 위치기반 소셜 네트워크 웹서비스 모델을 설계하였고, Jung(2013)은 LBSNS 기반의 장소를 추천하는 방법을 연구하였다. 이 연구들은 소셜 네트워크에서 공간분석이 아닌 위치만 활용하였다는 한계점이 있다. 국외에서는 소셜 네트워크의 위치정보를 활용한 분석적인측면의 연구가 있다. Cranshaw et al.(2010)은 사용자의 이동패턴과 소셜 네트워크의 구조적 특성을 비교하여 위치와 사람의 관계를 이용한 사용자 사이의 친밀도를 예측하였고, Doytsher et al.(2012)는 소셜 네트워크와 공간 네트워크를 그래프 데이터베이스에 구축하고 이를 융합하는 연구를 하였다. 이 연구들은 객체의 위치를 참조하여 분석하는 방식으로 공간적 요소를 사용하였지만, 기존의 GIS 공간분석에 비해 공간적인 분석이 미흡하다.

Baas(2012)는 그래프 데이터베이스와 공간 데이터베이스를 이용하여 공간분석과 네트워크 분석의 성능을 비교 분석하였다. 속도 측면에서 네트워크 탐색은 그래프 데이터베이스가 우수하였고, 공간분석은 GIS의 공간 데이터베이스가 우수한 것으로 발표하였다. 그래프 데이터베이스를 이용하여 공간분석이 가능하지만, 공간 데이터베이스의 공간분석 함수에 비해 종류의 개수가 현저히 부족하다.

본 연구에서는 소셜 네트워크 분석기법을 GIS의 속성 분석에 적용하여 속성 분석의 다양성을 증대하고자 한다.

1.2 연구 목적 및 방법

본 연구의 목적은 소셜 네트워크의 분석기법을 GIS의 비공간적인 속성자료 처리에 적용하여 GIS의 분석기능을 다양하게 하는 것이고, 이를 위해 공간 도메인의 GIS 공간분석과 비공간 도메인의 네트워크 분석을 동시에 수행할 수 있는 통합 분석 방법을 설계하였다.

벡터 모델과 그래프 모델의 공통 식별자를 사용하여 두 모델이 상호작용할 수 있는 시스템을 설계하고 제시하고자 한다. 공간 도메인에서의 공간분석과 비공간 도메인에서의 네트워크 분석을 융합함으로써 통합된 분석 기법에 의한 새로운 정보를 제공해 주는 방법의 도출이 가능할 것으로 판단하였다.

연구 수행은 Fig. 2와 같이 진행하였다. 우선 데이터베이스 차원에서 자료의 통합 방안을 연구하였으며, 이를 이용한 분석의 통합 그리고 결과의 시각적인 통합 방법을 설계하였다. 설계를 기반으로 공간분석과 네트워크 분석이 가능한 WebGIS 시스템을 구현하였다. 최종적으로 구현된 WebGIS 시스템을 이용하여 상수도 보급 대상 가구 선정과 구제역 질병의 2차 전파를 통합 분석하는 애플리케이션에 적용하여 새로운 정보를 제공할 수 있는지에 대해서 실험하였다.

Fig. 2.The process of research

 

2. GIS 공간분석과 소셜 네트워크 분석의 통합

2.1 데이터베이스의 통합

데이터베이스의 통합은 GIS에서 사용하는 관계형 DBMS와 네트워크 분석에 활용되는 그래프 데이터베이스를 통합하는 방안을 구상하였다. PostGIS와 같은 관계형 DBMS는 다양한 공간 객체 타입 지원하고 다양한 공간분석 함수를 제공하며(Steiniger and Hunter, 2013), Neo4j는 최근 많은 관심을 받고 있는 오픈소스 그래프 데이터베이스로서 네트워크 분석을 쉽게 할 수 있으며, 특히 Cypher라는 강력한 검색언어를 제공하고 있다(Neo4j, 2013).

각각의 데이터베이스에 구축된 모델을 통합하기 위하여 벡터 모델의 레코드 id와 그래프 모델의 노드 id를 공통의 식별자로 사용하여 상호작용을 할 수 있게 하였다(Fig. 3). 항상 식별자들이 동일한 값 유지하도록 동기화시켜야 한다.

Fig. 3.The integration of vector model and graph model using same identifier

2.2 통합 분석

한 쿼리 문장에 관계형 공간 쿼리문과 네트워크 분석 쿼리문을 혼재하면서 사용하는 것은 기술적으로 복잡하며 현실적으로 사용자들에게 더 부담이 될 것으로 판단된다. 통합분석은 순차적으로 수행하는 방식으로 설계하였으며, 한 데이터베이스의 쿼리 또는 분석 결과를 다른 데이터베이스에 전달해서 연쇄적으로 분석할 수 있도록 하였다. 즉, 선행 결과를 후속 분석에서 활용할 수 있도록 선택된 id를 전달하여 연쇄적인 분석이 가능하도록 하였다(Fig. 4).

Fig. 4.The integration of analysis methods

2.3 통합 분석결과의 시각화

일반적으로 GIS에서 정보를 표현하는 방식은 화면에 지오메트리 자료를 이용하여 도형을 표현하고 속성자료를 이용하여 도형의 스타일을 지정하여 사용자에게 정보를 전달한다. 그래프 모델은 항상 노드와 에지가 중심이 되어 객체와 객체들 사이의 관계를 표현하여 사용자에게 정보를 전달한다. 그래프의 시각화 요소는 노드와 에지의 크기, 색깔, 굵기 등으로 표현하며, 테이블에 비해 객체와 객체의 관계에 대해서 직관적으로 정보를 전달할 수 있는 장점이 있다. 통합 분석의 결과를 시각화는 두 개의 별도 화면에 표현하도록 설계하였다. 한 화면은 지도를 배경으로 위치와 공간적인 관계를 나타내는 전통적인 GIS 화면으로 설계하였으며, 다른 화면은 노드와 에지의 색과 굵기 등으로 표현하여 객체들 사이의 관계를 표현하도록 하였다.

또한, 네트워크 분석의 결과를 다시 공간적인 화면에 투영하여 표현할 수 있도록 하여, 비공간 도메인의 정보를 공간 도메인 정보와 시각적으로 통합할 수 있도록 설계하였다.

 

3. 통합 분석 WebGIS 설계 및 구현

통합 분석 WebGIS 시스템은 Fig. 5와 같이 아키텍처 설계하였다. 클라이언트는 공간분석과 네트워크 분석의 실행과 분석 결과를 화면에 시각화할 수 있도록 하였고, 서버는 클라이언트에서 요청한 분석을 해당 데이터베이스 접근하여 자료에 대한 분석 요청을 처리하고 그 결과를 클라이언트에 전달할 수 있도록 설계하였다. 또한, 이종의 데이터베이스를 사용할 수 있도록 설계하였고, 서버는 공통의 식별자를 이용하여 이전에 수행되었던 분석 결과를 다음 분석에 연결하여 이용한다.

Fig. 5.System architecture of integrated analysis WebGIS

본 연구에서 구현한 통합분석 WebGIS는 Fig. 6과 같이 소프트웨어 아키텍처를 설계하였다. 서버는 Node.js로 구현하였으며, 데이터베이스 연결을 위해 pg모듈과 neo4j-js모듈을 이용하였다. 공간 데이터베이스는 Postgres/PostGIS를 사용하였고, 그래프 데이터베이스는 Neo4j를 사용하였다. 클라이언트는 ExtJS 프레임워크를 기반으로 GeoExt와 OpenLayers를 이용하여 GIS 공간분석의 시각화를 구현하였고, D3.js를 이용하여 네트워크 분석의 시각화를 구현하였다.

Fig. 6.Software architecture of integrated analysis WebGIS

3.1 클라이언트

클라이언트는 웹 브라우저를 통해 구동되며, 인터페이스는 크게 사용자가 수행하고자 하는 분석을 선택하는 부분과 분석의 결과를 확인하는 부분으로 구분된다. Fig. 7은 클라이언트의 인터페이스이고, 각각의 분석은 하단(Fig. 7의 a)에 위치한 버튼을 클릭하여 실행된다. Fig. 7의 b에는 분석 버튼에 의해서 실행된 분석문을 기록하게 하였고, 버튼을 클릭하는 순서에 따라 공간분석 또는 네트워크 분석과 관계없이 연쇄적으로 실행할 수 있도록 설계하였다. 통합 분석의 결과는 공간분석으로부터 나온 결과와 네트워크 분석으로부터 결과를 각각 다른 윈도우에 나누어 시각화하였다. 인터페이스 좌측(Fig. 7의 c)에는 공간분석의 결과를 시각화하기 위한 지도와 레이어 관리창이 위치하고, 우측(Fig. 7의 d)에는 네트워크 분석의 결과를 그래프로 시각화하였다.

Fig. 7.Client interface of WebGIS

GeoExt를 이용하여 전체적인 클라이언트의 인터페이스를 구현하였다. 각 분석 기능은 별도의 버튼으로 실행되며, 버튼을 클릭하면 고유의 URL로 Request하게 된다. 지도 패널은 JSON(JavaScript Object Notation) 형태로 반환되어 공간분석의 결과를 시각화되도록 설계하였다. 마찬가지로 JSON 형태로 반환되는 네트워크 분석 결과의 시각화는 GeoExt의 패널을 추가하여 나타내었다. 네트워크 분석의 결과는 D3.js를 이용하여 그래프 구조로 시각화를 하였다. D3.js는 웹에서 자료를 시각화하는 자바스크립트 라이브러리로 웹 표준을 따르고 DOM(Data Object Model)에 자료를 바인딩하여 자료 중심의 변환을 할 수 있는 특징이 있다(McKelvey et al., 2012). 특히, 다양한 해상도에서 벡터를 표현할 수 있기 때문에 그래프 시각화에 적합하고 노드의 크기, 색깔, 모양과 에지의 굵기, 색깔, 헤드 모양을 이용해 그래프를 효율적으로 표현할 수 있다.

3.2 서버

본 연구에서 구현한 서버는 통합분석의 코어역할을 수행하며, Fig. 8의 처리과정을 따라 클라이언트로부터 받은 요청을 처리한다. 각 분석의 Request URL(Fig. 8의 a)에 따라 지정된 쿼리(Fig. 8의 b)를 데이터베이스에서 실행(Fig. 8의 c) 하고, 받은 결과(Fig. 8의 d)를 JSON 형태로 클라이언트에 Response(Fig. 8의 f)한다.

Fig. 8의 e에서 각 분석의 결과는 클라이언트에서 시각화하기 적합한 형태로 변환하는 과정을 거친다. 공간분석의 결과는 공간자료를 JSON 행태로 저장하는 GeoJSON으로 변환하고, 네트워크 분석의 결과는 노드의 속성, 관계의 시작노드와 끝 노드가 정보가 포함되어 있는 JSON 형태로 변환한다.

Fig. 8.Processing order in server

각 분석은 독립적으로 수행되지만, 연쇄적인 분석을 위하여 서버는 이전에 수행되었던 분석 결과를 공통의 식별자를 이용해 참조하여 다음 분석을 수행하게 된다. Fig. 8의 e에서 와 같이 앞서 분석한 결과로 선택된 객체를 공통의 식별자인 id로 서버 메모리에 저장하고, 다음 분석이 실행될 때 Fig. 8의 b에서 해당 쿼리에 조건으로 전달된다.

본 연구에서 구현한 WebGIS는 데이터베이스와 서버, 서버와 클라이언트 사이에 주고받는 자료가 많다. 이를 처리하기 위해 Node.js를 이용하여 서버를 구현하였고, Node.js는 싱글 스레드를 사용하는 비동기식 서버측 언어로 입출력(I/O)은 많지만 연산은 간단한 애플리케이션에 적합하다(Tilkov and Vinoski, 2010).

3.3 DBMS

연구에서 제안하는 통합 분석의 방법의 핵심은 관계형 데이터베이스와 그래프 데이터베이스를 사용하는 것이다. 각 데이터베이스는 자료 저장소의 역할 뿐만 아니라, 서버로부터 받은 쿼리를 실행하여 그 결과를 서버로 보내는 분석의 역할도 한다.

공간자료는 오픈소스 관계형 데이터베이스 PostgreSQL/PostGIS를 사용하였다. PostGIS는 2.0버전을 기준으로 892개의 공간분석 함수를 제공하고 지오메트리 정보를 이용하여 공간분석 쿼리를 처리한다(PostGIS, 2013).

네트워크 자료는 오픈소스 그래프 데이터베이스인 Neo4j를 사용하였다. Neo4j는 NOSQL(Not Only SQL)의 데이터모델 중 그래프 데이터베이스로 그래프의 노드(Node)와 관계(Relationship), 속성(Property) 구조로 자료를 저장한다 (Neo4j, 2013). 네트워크 구조의 자료를 저장하는데 용이하며, 그래프의 연결구조에 따른 패턴 매칭을 이용한 네트워크분석이 가능하다. 또한, 그래프 쿼리 언어인 Cypher를 통해 패턴 매칭 분석을 할 수 있다.

Cypher는 검색하고자 하는 패턴을 선언하고 이에 매칭되는 그래프를 검색한다(Robinson et al., 2013). Cypher는 Table 1에 명시된 구문을 이용한다. START는 패턴 매칭의 검색이 시작되는 노드나 관계를 지정하고, MATCH는 그래프의 구조를 정의함으로써 검색하고자 하는 패턴을 지정한다. WHERE는 노드와 관계의 속성을 이용하여 필터링하는 부분이고, RETURN은 반환하는 결과 값의 형태를 지정한다.

Table 1.Syntax of cypher

예를 들어, 이름이 ‘neo’인 사람(a노드)의 친구를 나타내는 b노드 검색하기 위한 그래프 패턴은 Fig. 9와 같다. ‘neo’와 ‘neo’의 친구를 나타내는 두 개의 노드와 그 사이의 ‘FRIEND’인 관계를 이용하여 검색할 수 있다.

Fig. 9.An example of node, relationship and properties

이 모델을 바탕으로 ‘neo’의 친구의 이름을 검색하기 위한 Cypher 문장은 다음과 같다.

START 부분의 ‘*’ 은 모든 노드를 기준으로 검색한다는 것을 의미하고, WHERE 부분에서 a의 이름을 ‘neo’로 제약조건을 주어 ‘neo’를 시작 노드로 검색을 시작한다. MATCH 부분은 ‘a’를 기준으로 ‘FRIEND’의 관계를 가지고 있는 ‘b’를 찾는 패턴 검색을 하고, 최종적으로 RETURN 부분에서 ‘b’의 이름을 반환하게 한다.

 

4. WebGIS를 통한 통합 분석 실험 및 결과분석

4.1 상수도 보급 대상 가구 선정과 구제역 질병의 2차 전파

앞서 개발된 WebGIS를 이용하여 GIS 공간분석과 비공간 도메인의 네트워크 분석을 통합 분석하여 구제역으로 인한 상수도 보급 대상 가구 선정 사례에 적용하여 실험하였다.

구제역은 소, 돼지 등과 같은 우제류 동물의 급성 전염병으로 전파 속도가 매우 빠르게 진행되기 때문에 확산을 방지를 위해 발생지역을 중심으로 살처분한다. 살처분된 가축은 구제역 긴급행동지침(농림수산부)의 기준에 의해 매몰지를 선정하여 매몰한다. 하지만 긴급하게 진행되면서 기준을 어기는 사례가 발생하였고, 2차 피해를 야기할 수 있는 침출수 유출로 인한 지하수 오염이 발생할 수 있다. 환경부는 구제역이나 조류독감 발생 후 인근 마을에 침출수 우려 종식을 위하여 상수도 보급 사업을 진행해 왔고, 특히 2010년 구제역은 전국적으로 큰 피해가 발생하여 상수도 보급 우선 대상을 선정하는 과정이 필요하게 되었다(Ministry of Environment, 2011). 해당 지역의 여건을 파악하고 있는 지자체가 우선순위를 판단하고 있고, 이 연구의 실험은 환경부 지침을 기반으로 제작된 파주 시청의 상수도 사업 지원 지침을 이용하여 공간분석을 진행하였다. 상수도 보급 대상 지역은 가축 매몰지 주변 500m 중 상수도 보급이 안 되어 지하수를 생활용수로 사용하는 지하수 오염 우려가 있는 가구이고, 제외 지역은 다음과 같다(Paju-city, 2011).

(1) 상수도가 이미 보급된 지역 (2) 수혜가구가 적은 지역(10가구 미만) (3) 공장, 근린생활 시설 등 영리 목적으로 하는 시설 (4) 지하수 오염 우려가 없는 지역 (5) 하천을 경계로 지하수 오염 우려가 명백히 없는 지역 (6) 매몰지보다 고지대로 지하수 오염 우려가 명백히 없는 지역

본 연구는 파주시청의 지침 따른 상수도 보급 대상 가구를 선정하는데 공간 도메인의 GIS 공간분석을 수행하였고, 매몰지의 침출수 유출로 오염된 가구로부터 비공간 도메인의 네트워크 분석을 통해 구제역 질병의 2차 전파의 경로를 예측하는 실험을 하였다.

실험 중에 공간분석 부분은 Lee(2013)가 발표한 WPS를 이용하여 상수도 보급 대상 가구 선정 방법을 따랐으며, 추가로 통합 분석의 효율성을 실험하기 위하여 1개의 매몰지를 임의로 선정하여 침출수가 유출되었다는 가정을 하였다. 또한, 침출수에 의해 구제역 질병의 2차 전파될 수 있다는 가정하에, 침출수의 영향을 받는 상수도 미보급 가구로부터 2차 전파 경로를 예측하기 위하여 비공간 도메인 네트워크 분석을 추가하여 실험하였다.

4.2 공간자료와 네트워크 자료 구축

실험을 위한 자료는 공간자료와 네트워크 자료로 구분할 수 있다. 공간자료는 상수도 보급 대상 가구 선정하는 GIS 공간분석에서 사용되며, 네트워크 자료는 침출수 유출로 인한 구제역 질병의 2차 전파를 네트워크 분석하는데 사용된다.

4.2.1 공간자료 구축

실험을 위한 대상 지역은 경기도의 구제역 발생 마을로 선정하였고, 사용한 공간자료는 가구, 매몰지, 하천, 행정경계, DEM(Digital Elevation Model)이다. 공간자료는 Lee(2013)가 수행한 연구의 자료를 공간 데이터베이스에 구축하였다.

4.2.2 네트워크 자료 구축

개인정보보호로 인한 가족관계나 신상정보의 획득과 사용이 자유롭지 않기 때문에 인적 자료는 가상의 자료를 생성하여 네트워크 자료로 사용하였다. 네트워크 자료는 객체와 관계의 형태인 그래프 구조로 생성하였으며, 생성한 자료는 Table 2와 같다. 자료 중 가구, 농장, 학교는 실제 조사한 공간자료이며, 사람에 대한 자료는 가상으로 생성하였다. 그래프 데이터베이스에서 객체(사람, 가구, 농장, 학교)는 노드로 생성하였고, 가구는 공간 데이터베이스와 공통 식별자 id를 갖는다. 대상 지역 주변을 검색하여 학교를 추가하였고, 지역에 거주하는 사람은 가구의 2배수로 임의로 생성하였다. 사람과 집의 관계인 LIVE, 사람과 농장의 관계인 WORK, 사람과 학교의 관계인 STUDY는 임의로 생성하였다. 관계는 노드의 수의 비율로 무작위로 생성하였고, 사람과 사람이 사는 집은 2:1, 사람과 사람이 일하는 농장은 4:1, 사람과 사람이 다니는 학교는 8:1 비율로 생성했다. 생성된 결과는 Table 3과 같다. Table 3의 타겟당 연결된 소스는 연결정도(degree)를 의미하며, 이는 어떤 노드의 중요성을 나타내는 중심성(Centrality)분석에 이용된다.

Table 2.Simulated network data

Table 3.Relationship of simulated network data

가상의 네트워크 자료는 CSV 파일로 생성하였으며, 노드 CSV는 객체의 id와 속성을 기술하고, 관계 CSV는 객체의 연결 관계를 기술한다. Fig. 10은 네트워크 자료 CSV 파일의 일부이며, Fig. 10(a)는 사람 노드, Fig. 10(b)는 농장 노드이다. Fig. 10(c)는 사람과 농장의 관계를 나타낸다. from열은 사람 노드의 pid이고, to열은 농장 노드의 fid이며, 두 노드를 WORK의 관계로 연결된 것을 보여준다.

Fig. 10.Part of CSV files of network data

CSV 파일로 생성된 네트워크 자료를 그래프 데이터베이스에 구축하였으며, 전체 네트워크 자료는 노드는 708개, 관계는 628개, 속성은 1415개이다. Fig. 11은 네트워크 자료 전체를 시각화한 것이다. 노드의 색은 노드의 종류에 따라 진하기를 다르게 하였고, 노드의 크기는 연결정도가 높을수록 큰 것으로 표현하였다. 그림에서 연결정도가 높을수록 연결되어있는 노드가 많음을 알 수 있고, 이는 해당 노드가 중심성이 높다는 것을 의미한다.

Fig. 11.Visualization of total network data

4.3 통합 분석 실험 및 결과분석

파주 시청의 상수도 사업 지원 지침을 이용한 GIS 공간분석 결과 224개의 가구 중 상수도를 설치를 지원받게 되는 가구의 수는 52개이다. 1차 분석결과를 이용하여 네트워크 분석을 연쇄적으로 하였다. Fig. 12는 실험의 대상 지역으로 삼각형은 매몰지, 별은 농장, 폴리곤은 가구, 선은 강을 나타낸다. 폴리곤 중 옅은 색은 GIS 공간분석으로 선택된 가구이고 나머지는 진한 색으로 나타내었다.

Fig. 12.Study area for integrated analysis

본 연구에서는 구제역으로 인하여 살처분된 매몰지로부터 오염된 지하수를 사용한 사람은 구제역 바이러스 전파의 매개체가 될 수 있다고 가정하여 실험하였다. Fig. 12의 사각형은 확대한 그림이고, 매몰지 1의 침출수가 유출되었을 때 매몰지 1로부터 반경 500m 이내에 있는 가구 중 상수도 보급을 받지 못하는 가구의 id는 15, 16, 106, 107, 186, 187이다. 이 가구들은 구제역 바이러스 감염의 가능성이 있고, 본 연구의 가정에 의해 이 가구들은 구제역 2차 전파의 원인이 될 수 있다. 효과적인 전파 차단을 위하여 해당 가구로부터 구제역 전파의 가능 경로를 네트워크 분석하였다. 실험은 농장에서 일하는 사람에 의한 전파 가능성과 학교에 의한 전파 가능성으로 구분하여 진행하였다.

4.3.1 실험 1 : 농장에서 일하는 사람에 의한 전파

(1) 실험 1-1

실험 1-1은 감염의 가능성이 있는 가구에서 사는 사람이 일하는 농장을 찾는 실험이다. 감염의 가능성이 있는 가구와 사람의 관계, 사람과 농장의 관계를 이용하여 패턴 검색을 할 수 있다. Fig. 13(a)의 시작 노드는 감염의 가능성이 있는 가구이고, LIVE의 관계를 가지고 있는 노드와 다시 WORK의 관계를 갖는 노드를 검색하여 농장을 찾을 수 있다.

Fig. 13(b)는 실험 1-1의 Cypher 쿼리문이다. Cypher 쿼리문의 시작점을 나타내는 START 부분에서 모든 노드를 선택하여 데이터베이스 전체에서 검색하도록 하였고, 검색하고자 하는 패턴을 정의하는 MATCH 부분에서는 가구에 LIVE하는 사람들 중에 농장에 WORK하는 패턴을 정의하였다. MATCH 부분에서 ‘[ ]’는 관계를 의미하며, 노드는 변수와 ‘( )’를 사용할 수 있다. 최종적으로 RETURN 부분에서 는 MATCH 부분에서 정의한 패턴을 갖는 경로를 반환하라고 정의하였다.

Fig. 13.Graph pattern and cypher query for analysis 1-1

Fig. 14는 실험 1-1의 결과를 시각화한 것이다. 공간분석을 선행 수행하지 않고 쿼리를 실행시키면 121개의 경로가 검색되지만, 실험에서는 앞서 공간분석이 실행된 결과로부터 검색되기 때문에 1개가 검색되었다. 즉, 2차 전파 가능성이 있는 가구 15, 16, 106, 107, 186, 187에 사는 사람들 중에 농장에서 일하는 사람은 person117이라는 것이다.

Fig. 14.Graph visualization of the results in analysis 1-1

Table 4는 실험 1-1에 의해 최종 검색된 결과로 농장farm21이 검색되었으며, 중심성 특성을 분석한 결과로 연결정도가 5로 나왔는데, 이는 5명의 사람이 이 농장에서 일한다는 것을 의미한다. 이 정보를 이용하여 5명에 대한 추가 조치를 하면 질병 전파 차단에 효과적일 것으로 판단된다.

Table 4.The results of analysis 1-1

(2) 실험 1-2

실험 1-2는 한 사람이 동시에 여러 농장에서 일할 수 있는 것으로 가정했을 경우이다. 감염 가능성이 있는 가구에서 사는 사람이 일하는 농장에서 같이 일하고 있는 동료가 동시에 일하는 다른 농장을 검색하는 실험이다. Fig. 15(a)는 검색을 위한 그래프 패턴이고, 실험 1-1의 결과인 농장에서 WORK의 관계를 갖는 노드와 다시 WORK의 관계를 갖는 노드를 검색하여 농장을 찾을 수 있다.

Fig. 15(b)는 실험 1-2의 Cypher 쿼리문이다. 실험 1-1의 쿼리문에서 MATCH 부분만 수정되었고, 검색된 농장 f1으로부터 WORK의 관계를 찾으면 일하는 사람이 검색되고, 이 사람으로부터 WORK의 관계를 이용하여 다시 검색하면 다른 농장인 f2를 찾을 수 있다.

Fig. 15.Graph pattern and cypher query for analysis 1-2

실험 1-2의 결과, 검색 쿼리와 일치하는 패턴은 없었다. 이는 id가 15, 16, 106, 107, 186, 187인 가구가 n일 때 Fig. 15(a)와 같은 패턴이 없다는 것을 의미한다.

(3) 실험 1-3

실험 1-3은 한 가구 안에 서로 다른 농장에 일하는 가족구성원이 있는 것으로 가정했을 경우이다. 즉, 감염의 가능성이 있는 가구에서 사는 사람이 일하는 농장에서 같이 일하는 다른 사람의 가족에 의해서 전파될 수 있는 농장을 찾는 실험이다. 실험에서 가족은 같은 집에 사는 사람이라고 가정하고 검색하였고, Fig. 16(a)는 실험 1-3의 검색을 위한 그래프 패턴이다.

Fig. 16(b)는 실험 1-3의 Cypher 쿼리문이다. MATCH 부분에서 감염의 가능성이 있는 가구에서 사는 사람이 일하는 농장은 LIVE와 WORK의 관계를 이용해 n으로부터 f1을 검색할 수 있다. f1으로부터 WORK와 LIVE의 관계를 이용하여 농장에서 일하는 다른 가구를 찾을 수 있고, 다시 LIVE와 WORK의 관계를 이용하여 다른 가구에 사는 사람이 일하는 농장 f2를 찾을 수 있다.

Fig. 16.Graph pattern and cypher query for analysis 1-3

Fig. 17은 실험 1-3을 시각화한 것이다. MATCH 부분에서 정의한 패턴을 가지고 있는 가구의 id는 186이고, f1으로 농장21이 검색되었으며, f2로 농장2, 농장9, 농장25가 검색되었다. 가구148은 농장에서 일하는 사람이 3명이고 각각 다른 농장에서 일하고 있으며, 가구 132는 농장에서 일하는 사람이 3명이나 2명은 같은 농장에서 일하는 것을 그래프를 통해 직관적으로 확인할 수 있다.

Fig. 17.Graph visualization of the results in analysis 1-3

Table 5는 실험 1-3에 의해 최종 검색된 농장이며, 총 4개의 농장이 검색되었다. 연결정도가 높은 농장은 중심성이 높다는 것을 의미하므로, 구제역의 2차 전파를 효율적으로 차단하기 위해 연결정도가 높은 농장25부터 농장21, 농장2, 농장9 순서로 전파 차단 조치를 하여야 한다.

Table 5.The results of analysis 1-3

4.3.2 실험 2 : 학교에 의한 전파

(1) 실험 2-1

실험 2-1은 감염의 가능성이 있는 가구에서 사는 사람이 다니는 학교를 통해 전파될 수 있는 농장을 찾는 실험이다. 사람이 학교에 다니는 것은 STUDY의 관계를 이용하였고, 학교에 다니는 사람 중에 농장에서 일하는 사람을 검색하였고, Fig. 18(a)는 실험 2-1의 검색을 위한 그래프 패턴이다.

Fig. 18(b)는 실험 2-1의 Cypher 쿼리문이다. MATCH 부분에서 감염의 가능성이 있는 가구에서 사는 사람이 사는 학교는 LIVE와 STUDY의 관계를 이용해 n으로부터 s를 검색할 수 있다. 다시 검색된 학교에 다니는 학생 p1 중에 WORK의 관계를 검색하면 학교에 다니면 농장에서 일하는 사람을 검색할 수 있다.

Fig. 18.Graph pattern and cypher query for analysis 2-1

Fig. 19는 실험 2-1을 시각화한 것이다. GIS 공간분석으로 필터링 된 6개 가구 중 다음과 같은 패턴을 갖는 가구는 1개가 검색되었으면 id는 187이다. 검색된 학교 s는 1개이며, 학교에 다니며 농장에서 일하는 사람 p1은 8명이 검색되었고, 시각화된 그래프를 통해서 각각 다른 농장에서 일하는 것을 알 수 있다.

Fig. 19.Graph visualization of the results in analysis 2-1

Table 6은 실험 2-1의 검색된 농장과 연결정도를 나타내며, 연결정도가 높은, 즉 작업 인원수가 많은 농장8, 농장17부터 차단이 이루어져야 한다.

Table 6.The results of analysis 2-1

(2) 실험 2-2

실험 2-2는 실험 2-1과 유사하나, 검색한 학교로부터 시작하여 농장을 검색하는 부분에서 차이가 있다. 실험 2-1은 학교에 다니며 일하는 사람을 검색하였다면, 실험 2-2는 2차 전파의 가능성이 있는 가구와 같은 학교에 다니는 가구 구성원이 일하는 농장을 찾는 경우로서, Fig. 20(a)는 실험 2-2의 검색을 위한 그래프 패턴이다.

Fig. 20(b)는 실험 2-2의 Cypher 쿼리문이다. MATCH 부분에서 실험2-1과 같은 학교 s를 검색할 수 있고, s로부터 STUDY와 LIVE의 관계를 이용하여 학교에 다니는 사람의 가구 h를 검색할 수 있다. 다시 h로부터 LIVE와 WORK의 관계를 이용하여 h 가구로부터 사는 사람이 일하는 농장 f를 검색할 수 있다.

Fig. 20.Graph pattern and cypher query for analysis 2-2

Fig. 21은 실험 2-2를 시각화한 것이다. 2차 전파 가능성 있는 가구와 같은 학교에 다니는 가구 중에서 농장에서 일하고 있는 학교에 다니는 사람이 있는 가구 id가 187인 것을 제외하면 7개가 검색되었다. 이 7개 가구들에 사는 사람들이 일하는 농장은 총 9개이다. 실험 2-1은 8명의 사람으로부터 8개의 농장이 검색된 것에 비해 7명의 사람으로부터 9개의 농장이 검색되었다는 차이점이 있고, 원인은 가구148은 농장에서 일하는 사람이 3명이 있기 때문이다.

Fig. 21.Graph visualization of the results in analysis 2-2

Table 7은 실험 2-2의 검색된 농장과 연결정도를 나타내며, 연결정도가 높은 농장17부터 차단이 이루어져야 한다.

Table 7.The results of analysis 2-2

4.3.3 네트워크 분석 결과의 공간적 표현

네트워크 분석 결과를 지도에 공간적으로 다시 표현하였다. 실험 1 즉, 농장에서 일하는 사람들 중심으로 전파 분석하는 경우, 농장 중 침출수가 유출된 매몰지로부터 반경 500m 이내에 있는 농장은 1개(farm9)이고, 나머지 3개(farm2, 21, 25)는 범위 밖에 위치했다(Fig. 22(a)). 실험 2에서 는 4개(farm4, 5, 9, 11)의 농장이 범위 안에 위치했고, 10개의 농장이 범위 밖에 위치했다(Fig. 22(b)). 지도에 표현된 네트워크 분석의 결과를 통해 비공간적으로 형성된 네트워크를 통한 질병 전파는 반드시 공간적인 패턴이 있는 것은 아닌 것을 알 수 있다. 바람, 하천과 같은 자연적인 요인에 의한 전파는 공간적인 패턴이 있지만, 인간적인 교류 즉 학교, 직장과 같은 요인을 고려하면 사회적 친밀도(Social proximity)에 의한 특성이 지배적임을 알 수 있다. 실험 1에 비해 2로부터 찾은 농장이 많았고, 이는 중심성이 높은 학교와 같은 공공시설은 바이러스나 질병 전파에 큰 영향을 미칠 것으로 생각된다.

Fig. 22.Visualization of the results in analysis

 

5. 결 론

본 연구는 GIS 공간분석과 네트워크 분석의 통합 분석을 위한 방법을 제시하고, 제시된 방법을 기반으로 WebGIS를 구현하였다. 또한, 상수도 보급 대상 가구 선정 업무와 구제역 질병의 2차 전파 분석 업무에 적용하여 실험하였고, 다음과 같은 결론을 얻을 수 있었다.

첫째, 통합 분석에서 비공간 도메인의 네트워크 분석을 통해 비공간적인 접근성 즉 사회적 친밀도를 고려한 방역을 할 수 있었다. 질병 전파의 차단을 목적으로 공간적인 접근성을 고려한 방역이 이루어지고 있으나, 비공간적으로 형성된 사회적 네트워크를 통해서도 질병 전파의 가능성이 있고, 이를 통합 분석을 통해 차단할 수 있다.

둘째, 개발된 WebGIS 클라이언트를 통한 GIS 공간분석과 네트워크 분석의 시각화를 동시에 할 수 있었다. 기존의 지도와 속성테이블을 이용한 GIS의 시각화에 그래프를 추가하여 사회적 관계를 직관적으로 정보를 표현함으로써 보다 효율적인 정보전달을 할 수 있었다.

본 연구에서 개발한 WebGIS는 다양한 애플리케이션에 적용이 가능할 것으로 생각되며, 향후 데이터베이스 구축단계에서 공간 데이터베이스와 그래프 데이터베이스의 효율적인 통합 방법에 대한 연구가 필요한 것으로 사료된다.

References

  1. Ahn, B. I. and Joo, Y. D. (2011), Design of location based social network service model centering around smart phone, Journal of the Korean Industrial Information System Society, Vol. 16, No. 5, pp. 55-62. (in Korean with English abstract) https://doi.org/10.9723/jksiis.2011.16.5.055
  2. Baas, B. (2012), NoSQL spatial: Neo4j versus PostGIS, Master's thesis, Utrecht University, Utrecht, Netherlands, p. 67.
  3. Cranshaw, J., Toch, E., Hong, J., Kittur, A. and Sadeh, N. (2010), Bridging the gap between physical location and online social networks, In Proceedings of Ubicomp'10, ACM, 26-29 September, Copenhagen, Denmark, pp. 119-128.
  4. De Smith, M. J., Goodchild, M. F. and Longley, P. A. (2011), Geospatial analysis: A comprehensive guide to principles, techniques and software tools 3rd Edition, The Winchelsea Press, Leicester, UK.
  5. Doytsher, Y., Galon, B. and Kanza, Y. (2012), Querying sociospatial networks on the world-wide web, In Proceedings of the 21st international conference companion on World Wide Web, ACM, 16-20 April, Lyon, France, pp. 329-332.
  6. Jung, K. I. (2013), A study on a place recommendation method based on LBSNS, Master's thesis, Konkuk University, Seoul, Korea, p. 54. (in Korean with English abstract)
  7. Lee, H. and Yom, J. (2013), The design and implementation of BPEL for spatial analysis WPS model: With emphasis on the selection of housing units for water supply, Journal of the Korean Society of Surveying, Geodesy, Photogrammetry and Cartography, Vol. 31, No. 5, pp. 355-363. (in Korean with English abstract) https://doi.org/10.7848/ksgpc.2013.31.5.355
  8. McKelvey, K., Rudnick, A., Conover, M. D. and Menczer, F. (2012), Visualizing communication on social media: Making big data accessible, arXiv, Ithaca, NY, USA, http://arxiv.org/pdf/1202.1367v1.pdf (last date accessed: 18 December 2013).
  9. Ministry of Environment (2011), Drinking water management guidelines 2011, Ministry of Environment guidelines No. 2011, Ministry of Environment, Sejong-si, Korea, pp. 43-52.
  10. Neo4j (2013), The neo4j manual v1.9.5, Neo Technology Inc., San Mateo, CA, USA,http://docs.neo4j.org/chunked/1.9.5/ (last date accessed: 10 January 2014).
  11. O'Sullivan, D. and Unwin, D. J. (2010), Geographic information analysis 2nd Edition, John Wiley & Sons Inc., Hoboken, N.J., USA.
  12. Paju-city (2011), Q&A for the water supply business for contamination of foot-and-mouth disease, Paju City Hall, Paju-si, Korea, https://www.paju.go.kr (last date accessed: 23 December 2013).
  13. PostGIS (2013), PostGIS 2.0 manual, Refractions Research Inc., Victoria, BC, Canada, http://postgis.net/stuff/postgis-2.0.pdf (last date accessed: 10 January 2014).
  14. Robinson, I., Webber, J. and Eifrem, E. (2013), Graph databases 1st Edition, O'Reilly Media, Sebastopol, CA, USA, 208p.
  15. Scott, J., Tallia, A., Crosson, J. C., Orzano, A. J., Stroebel, C., DiCicco-Bloom, B., O'Malley, D., Shaw, E. and Crabtree, B. (2005), Social network analysis as an analytic tool for interaction patterns in primary care practices, Annals of Family Medicine, Vol. 3, No. 5, pp. 443-448. https://doi.org/10.1370/afm.344
  16. Steiniger, S. and Hunter, A. (2013), The 2012 free and open source GIS software map: A guide to facilitate research, development and adoption, Computers, Environment and Urban Systems, Amsterdam, Netherlands,http://dx.doi. org/10.1016/j.compenvurbsys.2012.10.003 (last date accessed: 15 December 2013).
  17. Tilkov, S. and Vinoski, S. (2010), Node.js: Using JavaScript to build high-performance network programs, Internet Computing, IEEE, Vol. 14, No. 6, pp. 80-83. https://doi.org/10.1109/MIC.2010.145

Cited by

  1. Spatial Clustering Analysis based on Text Mining of Location-Based Social Media Data vol.23, pp.2, 2015, https://doi.org/10.7319/kogsis.2015.23.2.089