넥스젠(NexGen)의 통계지도 기능

NexGen은 통계 데이터를 지도 상에 시각화할 수 있는 강력한 기능을 제공합니다. 작성할 수 있는 통계지도에는 주제도와 차트맵이 있는데요. 아래는 주제도를 작성하는 기능에 대한 동영상입니다. 주제도는 통계값에 대한 하나의 특징을 각 지역별로 비교하는데 유용합니다. 아래의 동영상에서 소개되는 주제도에서는 여자수와 남자수를 합한 값을 특징으로 사용하였습니다.

또한 아래는 차트맵을 작성하는 동영상입니다. 차트맵은 통계값에 대해서 여러 개의 특징을 하나의 영역에 대해서 비교함과 동시에 여러개의 지역별로도 비교할 수 있는 방법입니다. 아래의 동영상에서 소개되는 차트맵은 여자수와 남자수를 각각의 특징으로 사용하고 있습니다.

위의 동영상에서 사용하는 통계 데이터 및 조금 더 자세한 내용은 아래의 글을 통해 살펴보실 수 있습니다.

지리정보시스템(GIS)를 활용한 통계지도

FingerEyes-Xr에서 문자열로 공간 데이터 추가하기

로컬 파일이나 URL Request를 통해, 또는 문자열 그대로.. 여튼, 아래와 같이 문자열로 구성된 데이터가 있다고 하자.

[
	{
		"주소":"전라남도 무안군 무안읍 면성1길 78",
		"인구":"100",
		"_상태":"OK",
		"WKT": "POINT(151985.4391669556 266232.22030393773)"
	},
	{
		"주소":"전라남도 무안군 무안읍 성남리 779-2",
		"인구":"50",
		"_상태":"OK",
		"WKT": "POINT(152027.07037272514 265628.6982788675)"
	},
	{
		"주소":"전라남도 무안군 무안읍 무안로 513-8",
		"인구":"77",
		"_상태":"OK",
		"WKT": "POINT(152432.06457469938 266037.0198316685)"
	}
]

위의 문자열에서 고려해야할 유일한 규칙은 좌표 데이터를 구성하기 위해서 WKT 필드가 활용(대소문자 구분)된다는 점이다. 그외의 필드는 모두 속성 필드로 해석된다. 이 JSON 문자열을 지도의 구성 단위인 레이어로 추가하기 위한 코드는 다음과 같다.

var json = 
    '[ \
        { \
            "주소": "전라남도 무안군 무안읍 면성1길 78", \
            "인구": "100", \
            "_상태": "OK", \
            "WKT": "POINT(151985.4391669556 266232.22030393773)" \
        }, \
        { \
            "주소": "전라남도 무안군 무안읍 성남리 779-2", \
            "인구": "50", \
            "_상태": "OK", \
            "WKT": "POINT(152027.07037272514 265628.6982788675)" \
        }, \
        { \
            "주소": "전라남도 무안군 무안읍 무안로 513-8", \
            "인구": "77", \
            "_상태": "OK", \
            "WKT": "POINT(152432.06457469938 266037.0198316685)" \
        } \
    ]';

var lyr = new Xr.layers.FeatureJSONLayer("레이어 이름", { EPSG: 4326, dataset: json });
map.layers().add(lyr);
map.update();

지리정보시스템(GIS)를 활용한 통계지도

지리정보시스템(GIS)의 중요한 기능 중 하나는 데이터에 대한 효과적인 시각화입니다. 그 중 위치에 기반하여 통계 데이터를 주제도와 그래프의 형태로 시각화 할 수 있습니다. 이러한 통계지도 작성을 위해 통계 데이터로써 아래와 같이 엑셀 등과 같은 프로그램에서 저장된 파일 사용합니다.

위의 데이터를 보면 행정구역의 이름에 대한 다양한 통계값들이 나열되어 있어 있는 형태입니다. 이를 컴마(,)로 값을 분리한 형식인 CSV로 저장합니다. 이처럼 위와 같은 CSV 형식의 데이터 파일의 남자와 여자에 대한 인구수를 합해 주제도로 표현한 통계지도는 다음과 같습니다.

또한 아래는 동일한 데이터 파일에 대해서 여자와 남자의 인구수를 축으로 하여 파이차트로 표현한 통계지도입니다.

위의 통계지도는 넥스젠(NexGen)이라는 GIS 솔루션을 통해 작성된 것인데요. 넥스젠에서 통계지도 기능에 대한 활용 동영상은 아래 글을 참고하시기 바랍니다.

넥스젠(NexGen)의 통계지도 기능

웹 GIS 클라이언트 엔진, FingerEyes-Xr

FingerEyes-Xr은 웹에서 지도를 표시하고, 표시된 지도와 연관된 기능을 제공할 수 있는 맵 컴포넌트입니다. GitHub에 소스가 공개되어 있으며, 다양한 GIS 시스템 개발을 위한 핵심 맵 컴포넌트로 활용되었고 웹 GIS 솔루션, NexGen에서도 지도 표출 및 다양한 지도 관련 기능을 위한 컴포넌트입니다.

FingerEyes-Xr은 완전한 웹 표준 기술만을 사용하였고, 모든 웹브라우저에서 구현된 표준 기술만을 사용하여 IE, Chrome, Safari, Firefox 등 거의 대부분의 브라우저에서 실행될 수 있습니다. FingerEyes-Xr은 이미 정해진, 구체적인 기능 개발을 지원하는 기반 컴포넌트인데, FingerEyes-Xr에서 지원하는 기능과 이 컴포넌트를 사용해 개발이 가능한 주요 기능은 다음과 같습니다.

먼저 핑거아이즈엑스알(FingerEyes-Xr)은 OGC 표준인 WFS, WMS 방식의 지도를 표시하여 활용할 수 있고, 항공영상을 TMS 방식 등을 통해 배경지도로 활용할 수 있습니다. 그리고 지도 위에 다양한 그래픽 요소를 매쉬업할 수 있는데, 표현할 수 있는 그래픽 요소에는 Marker, Polyline, Polygon, Box, Circle, Ellipse, Text, Image가 있고, 속성 데이터에 기반하여 복합적인 그래픽 요소를 공간 데이터의 차원으로 자유롭게 구성할 수 있는데, 이에 대한 자세한 내용은 아래 글을 참조하시기 바랍니다.

FingerEyes-Xr, 공간 데이터에 대한 Custom Draw (사용자 정의 그리기)

FingerEyes-Xr은 그래픽 요소와 공간 데이터를 웹에서도 자유롭게 편집할 수 있습니다. 이에 대한 구체적인 내용은 FingerEyes-Xr을 이용해 개발된 NexGen의 편집 기능을 통해 확인이 가능하며, 이와 관련된 글은 아래와 같습니다.

넥스젠(NexGen)의 공간 데이터 편집 기능

FingerEyes-Xr은 수치지도와 항공영상과 같은 이미지 지도 뿐만 아니라 라스터(Raster) 기반의 셀 데이터에 대한 연산이 가능하고 그 결과 지도 상에 표현할 수 있습니다. 관련된 내용은 아래와 같습니다.

[GIS] FingerEyes-Xr, 핑거아이즈로 생성한 밀집도(밀도도)

또한 통계 데이터를 주제도와 파이차트 등으로 표현하여 통계지도를 생성할 수 있는데, 이에 대한 간단한 예시는 다음과 같습니다.

FingerEyes-Xr에서 주제도(Theme Map) 표현

FingerEyes-Xr에서 파이 차트(Pie Chart) 표현하기

또한 FingerEyes-Xr은 사용자가 보다 쉽게 지도 기반의 기능을 활용할 수 있도록 다양한 지도 관련 UI를 제공하여, 개발자가 쉽게 지도 기반 UI를 구성할 수 있도록 지원합니다. 그리고 GIS 미들웨어 서버인 GeoService-Xr과 연계하여 지오코딩 관련 기능을 제공하며, 관련 내용은 다음과 같습니다.

넥스젠(NexGen)의 스타쿼리(* Query) 기능

그리고 표고값을 이용하여 표고측정, 지형의 표고값을 활용한 지형단면도, 지형 평균경사도, 지형 3차원 가시화 가능을 제공합니다. 이에 대한 내용으로 FingerEyes-Xr을 이용해 개발된 NexGen의 지형 관련 기능은 아래 글과 같습니다.

넥스젠(NexGen)의 DEM 데이터를 활용한 측정 기능

이외에도 FingerEyes-Xr를 이용하여 지도와 관련된 더 많은 기능을 지원하고 있고, 새로운 기능들이 추가되고 있습니다. FingerEyes-Xr을 통해 지도와 관련된 그 어떠한 기능이라도 기술의 제약 없이 개발할 수 있습니다.

GIS 미들웨어 서버, GeoService-Xr

GeoService-Xr은 공간 데이터를 서비스하고 공간 데이터와 관련된 다양한 응용 서비스를 제공합니다. GS인증 1등급 제품으로써, 넥스젠(NexGen)이 사용하는 공간서버가 GeoService-Xr입니다. Java 언어로 개발되어 있어서 다양한 운영체제에서 실행될 수 있습니다. 서버로써 빠른 응답속도와 안정성을 갖추고 있습니다. 특히 서울시종합방제센터의 차량동태관리시스템에 GeoService-Xr이 적용되어 365일 24시간 매우 안정적으로 운영되고 있습니다.

지오서비스엑스알(GeoService-Xr)은 GIS 관련 시스템을 개발할 때 필요한 모든 서버 차원의 기능을 제공합니다. 먼저 GeoService-Xr은 배경지도를 타일맵 방식으로 서비스할 수 있는데, 이를 이용한 NexGen에 대한 아래의 글을 통해 좀더 자세히 살펴보실 수 있습니다.

위치 데이터 활용을 위한 웹 GIS 솔루션, 넥스젠(NexGen)의 다양한 배경지도 지원

그리고 표고 데이터 자체를 서비스하기도 하고, 이 표고 데이터를 활용한 분석 기능으로써 지형 단면도와 지형 경사도를 분석하여 그 결과를 서비스할 수 있습니다. 아울러 이를 기반으로 3차원 지형으로 가시화 할 수 있습니다. 이에 대한 자세한 내용은 아래의 글을 통해 살펴보실 수 있습니다.

넥스젠(NexGen)의 DEM 데이터를 활용한 측정 기능

Giga-Bytes 단위의 대용량 데이터를 서버로 업로드하고 다운로드할 수 있는 기능을 제공하는데, 대용량의 공간 데이터의 서버측 처리와 비공간 데이터에 대한 관리를 위한 기능에 유용하게 사용될 수 있습니다. 그리고 주소와 좌표 간의 변환 기능인 지오코딩 기능을 제공함으로써, 별도의 지오코딩 솔루션의 도입 없이 바로 지오코딩 기능을 사용할 수 있습니다. 이와 관련된 자세한 내용은 아래의 글에서 살펴보실 수 있습니다.

GeoService-Xr의 특장점, “Geocoding 기능”

또한 지오서비스엑스알은 노드와 링크에 대한 네트워크 데이터를 처리하여 최단 거리 분석 등이 가능한데, 이와 관련된 내용은 아래의 글을 통해 살펴볼 수 있습니다.

도로명주소DB의 도로중심선을 활용한 최단거리 기능 소개

맵 커뮤니케이터 기능을 위한 서버로써의 기능을 제공하는데, 이를 활용하여 사용자간에 위치를 기반으로 다양한 데이터 공유와 의사소통이 가능합니다. 관련된 내용은 다음 글을 통해 살펴 보실 수 있습니다.

맵을 이용한 정보 공유, 맵 커뮤니케이터 기능 소개

이 외에도 공간정보 시스템을 개발할 때 필요한 정확한 좌표계 변환, 지오메트리에 대한 다양한 공간 연산 및 분석, 공간 데이터를 서버 단에서 취합하여 클라이언트에서 SHP, KML 등의 파일로 다운로드 받는 기능, 이기종의 서버 간에 크로스도메인 문제를 해결할 수 있는 프록시 서버 기능 등을 제공합니다.