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)의 통계지도 기능