[GIS] FingerEyes, 차트 표시하기(차트 레이어 추가)

핑거아이즈에 대한 마지막 API 사용 실습 튜토리얼로써 공간상에 의미있게 분포되어 있는 수치데이터를 차트로 표현하는 기능에 대해 살펴보겠습니다. 이 글에 대한 최종 결과에 대한 실행은 아래와 같습니다. 각 집계구에 나이대별 인구수를 파이차트로 표현하는 예입니다. 실행 결과 보기 및 소스코드 다운로드 위의 실행 결과를 살펴보면 어플리케이션에 대한 UI는 총 3개입니다. 차트표시라는 버튼, 범례표시라는 버튼 그리고 맵 컴포넌트입니다. …

FingerEyes-Xr for Flex 소개

핑거아이즈(FingerEyes)는 RIA 기술인 플래시로 개발된 지도 솔루션입니다. 윈도우즈, 맥OS 그리고 리눅스 계열의 OS에서 인터넷 익스플로러, 파이어폭스, 구글크롬, 사파리 등의 다양한 인터넷 브라우저에서 사용할 수 있습니다. 핑거아이즈는 LGPL with GeoService-Xr 라이센스를 가지는 오픈소스 프로젝트입니다. 핑거아이즈에 대한 소스 코드는 지오서비스(www.geoservice.co.kr)의 자료실을 통해 다운로드 받으실 수 있으며 최신 소스에 대해서는 eMail을 통해 요청하시면 보내 드립니다.. 핑거아이즈는 원하는 스타일의 …

[GIS] FingerEyes, 도형에 대한 속성 확인하기

지도 위에 어떤 도형을 클릭하여 클릭된 도형이 가지고 있는 속성을 확인하는 방법에 대한 설명입니다. 여기서 도형이라함은 예를 들어 집계구처럼 나이별 인구수 등과 같은 집계값들을 가지고 있는 영역을 의미합니다. 물론 영역처럼 폴리곤 형태뿐만 아니라 포인트, 폴리라인도 모두 해당합니다. 실행결과 보기 및 소스 코드 다운로드 위의 데모는 나이대별 인구수와 인구밀도, 노령화지수, 노년부양비 등과 같은 통계 데이터에 대한 …

[GIS] FingerEyes, 밀도도 그리기

밀도도란 공간 상의 어느 지점에 어떤 특징이 밀집되어 나타나는지를 효과적으로 표현한 지도로 생각할 수 있습니다. 예를 들어… 인구가 가장 많이 밀집되어 있는 곳이 어디인가를 쉽게 한눈에 파악해 볼 수 있습니다. 이 글에서도 이 인구를 주제로 하여 핑거아이즈에서 밀도도를 나타내는 방법에 대해 살펴보겠습니다. 먼저 아래 링크를 통해 최종 결과를 실행해 밀도도가 어떤 것인지 확인해 보시기 바랍니다. …

[GIS] FingerEyes, 주제도 표현하기

속성값에 따라 다양한 심벌(색상 등)을 달리하여 맵을 표현한 것을 주제도라고 할 수 있습니다. 이 글은 핑거아이즈에서 주제도를 표현하는 방법에 대해 설명합니다. 실행결과 보기 및 소스코드 다운로드 위의 화면은 이 글에서 만들 최종적인 실행 결과에 대한 것으로써 강남구의 주택수에 따라 색상을 달리해 표현한 결과입니다. 이제 주제도를 표현하기 위해 핑거아이즈에서 어떤 API를 활용하는지 살펴보겠습니다. 먼저 플래시 빌더를 …

[GIS] FingerEyes, 마우스를 통한 매쉬업

실행 결과 보기 및 소스 코드 다운로드 이 글은 사용자가 마우스를 이용해 매쉬업할 항목을 직접 그리는 핑거아이즈의 API 사용에 대해 설명합니다. 먼저 플래시빌더에서 새로운 어플리케이션(File-New-MXML Application)을 생성합니다. 그리고 위의 화면 구성을 위해 아래와 같은 UI 코드를 추가합니다. 네, 총 12개의 버튼과 1개의 맵 컨트롤로 구성된 어플리케이션입니다. 각 버튼에 대한 클릭 이벤트에 대한 코드를 작성하기 전에 …

[GIS] FingerEyes, 매쉬업 레이어 추가 및 코드를 통한 매쉬업

이해하기 쉽고.. 소개하는데 좀더 효율적인 방법을 위해 글의 진행 순서를 결과를 먼저 보이고.. 결과를 얻기 위한 방법을 제시하는 것으로 하겠습니다. 결과에 대한 화면은 아래와 같습니다. 실행 결과 보기 및 소스코드 다운로드 자 이제, 스피드하게 진행하도록 하겠습니다. ^^ MXML Application을 추가하고 기본이 되는 코드로써 어플리케이션의 initialize 이벤트에 다음과 같은 코드를 작성합니다. protected function onInit(event:FlexEvent):void { var …

[GIS] FingerEyes, 수치지도 레이어 추가하기

수치지도 레이어는  이미지로 만들어진 지도가 아닌 좌표값으로 구성된 지도 레이어를 의미하며 핑거아이즈에서는 Shape Map Layer라고 불립니다. 이 글은 ShapeMapLayer를 추가하는 API에 대해 설명합니다. 먼저 실습을 위해 FingerEyes, 타일맵 레이어 추가을 통해 만들어진 소스 코드를 토대로 하겠습니다. 토대가 되는 소스 코드는 FingerEyes, 타일맵 레이어 추가를 통해 다운로드 받으실 수도 있습니다. 여타 다른 레이어와 마찬가지로 ShapeMapLayer 역시 …

[GIS] FingerEyes, 스케일바, 줌레벨 컨트롤바, 인덱스맵컨트롤 추가하기

사용자가 직관적이고 효율적으로 지도뷰를 조작하고 현재 지도뷰에 대한 정보를 얻기 위해 필요한 컨트롤들은 다음과 같습니다. 스케일바 컨트롤(Scale Bar Control) 줌레벨 컨트롤(Zoom Level Control) 인덱스맵 컨트롤(Index Map Control) 스케일바 컨트롤은 현재 지도에 대한 축척값에 대한 정보를 제공하며 줌레벨 컨트롤은 현재 지도의 축척 레벨을 마우스를 통해 조절하기 위한 컨트롤입니다. 그리고 인덱스맵 컨트롤은 현재 보고 있는 지도가 어느 …

[GIS] FingerEyes, 타일맵 레이어 추가

타일맵 레이어는 수치지도나 항공영상을 이용해 만들어진 지도를 일정한 크기(격자)의 잘라 미리 만들어 놓은 그림으로 구성됩니다. 수치지도나 항공영상을 굳이 타일 이미지로 미리 가공해 사용하는 이유는 다음과 같습니다. 미리 만들어진 지도이므로 네트워크 상에서 빠르게 서비스 할 수 있음 단순한 이미지 파일이므로 쉽고 빠르게 화면상에 표시할 수 있음 단순한 이미지 파일이므로 서버와 클라이언트 단에 부하가 매우 적음 한번 …

[GIS] FingerEyes, 핑거아이즈 사용 준비하기

핑거아이즈 API에 대한 첫번째 튜토리얼로써 가볍게 핑거아이즈를 사용하기 위한 설정에 대해 설명해 드리겠습니다. 핑거아이즈에 관심을 가져 주시고 이 글을 읽어 주신 분들에게 먼저 감사드립니다! 먼저 플래시 빌더에서 핑거아이즈에 대한 동적 라이브러리를 사용해야 합니다. 핑거아이즈에 대한 동적 라이브러리는 확장자가 .swc이며 다음 url에서 다운로드 받을 수 있습니다. FingerEyes-Xr 소개 핑거아이즈는 이미 관공서 등의 GIS 시스템 구축 프로젝트에 …

크리깅(Kriging) 분석에 대한 색상 시각화

아래의 결과는 크리깅(Kriging) 분석을 통한 보간 결과(공간상의 숫자값은 보간을 위한 입력 값이 아닌 단순 번호임)입니다. 크리깅 보간의 결과값의 범위가 최대값 7.4, 최소값 0.6이 산출된 경우입니다. 최대값은 빨간색으로 최소값은 초록색으로 표현하고 있습니다. 단순히 시각적인 관점으로 보면 나쁘진 않은데, 문제는.. 빨간색은 위험 범위의 값일 경우 표현에 사용하고자 한다는데 있습니다. 위험 수위 값은 10부터라고 정의 했을때.. 위의 경우 …

크리깅(Kriging) 공간분석

공간 상에 분포된 값 기반의 보간 방식 중 하나인 크리깅을 기능 단위로 만든 코드를 정리한 글입니다. GIS 엔진은 웹 GIS 컴포넌트인 FingerEyes-Xr를 사용했습니다. 크리깅 알고리즘은 오픈소스 라이브러리인 kriging.js를 사용하였으므로 Leaflet이나 OpenLayers에 대한 API에 익숙한 개발자라면 해당 GIS 컴포넌트로도 크리깅 결과에 대한 효과적인 시각화를 구현할 수 있을 것입니다. 웹 기반에서 수행되지만 별도의 서버가 필요하지 않습니다. 지도는 …

GIS 엔진을 이용한 공간 통계 데이터 시각화 확장

통계 데이터를 공간 상에 시각화하기 위해 지리정보시스템(GIS)을 활용하는 것은 매우 효과적인 방법입니다. 흔히 주제도(Thematic Map)라고 하는 단계색상구분도(Choropleth Map), 차트맵(Chart Map), 밀도맵(Densit Map) 등이 가능하여, 각각의 예시는 아래 그림과 같습니다. 이외에도 다양한 종류의 주제도가 있고, 표현하고자 하는 관점에서 새로운 주제도가 계속 생겨날 것입니다. 이에 대해 GIS 엔진을 이용하여 새로운 주제도를 생성하는 내용을 API 관점에서 정리해 봅니다. …

NexGen의 GeoAI 기능, 영상판독

GeoAI는 공간정보과학(Geospatial Science; Spatial Data Science)과 인공지능(Artificial Intelligence)의 합성어이며, 공간 빅데이터(Spatial Big Data)로부터 유의미한 정보를 도출하기 위해 인공지능 기술(A.I.: Machine Learning, Deep Learning)과 고성능 컴퓨터를 활용하는 분야입니다. GeoAI에는 여러가지 기능이 있는데, NexGen에서 영상판독 GeoAI 기능을 아래의 동영상 시연으로 소개합니다. 비디오를 지원하지 않는 웹브라우져입니다. NexGen에서 GeoAI 서비스를 실행하기 위한 개략적인 시스템 구성도는 다음과 같습니다. NexGen은 GIS를 …

웹에서 SHP 파일 생성하기

SHP 파일은 최소 3가지 파일로 구성됩니다. 좌표 데이터가 저장된 .SHP, 이 좌표 데이터로 구성된 도형에 대한 인덱스가 저장된 .SHX, 속성 데이터가 저장된 .DBF 파일입니다. 웹 GIS에서 사용자가 공간 데이터를 활용하여 또 다른 의미의 공간 데이터를 생성해 낼 수 있을 것이고, 이 새로운 공간 데이터를 SHSP 파일 형태로 저장할 수 있다면 자신의 PC에 보관하거나, 다른 사용자와 …

웹 GIS 솔루션, NexGen 소개

웹 GIS 솔루션, NexGen은 GS인증 1등급 제품인 GIS 미들웨어 서버 GeoService-Xr과 오픈소스로 GitHub에 공개된 웹 클라이언트 엔진 FingerEyes-Xr로 개발되었습니다. NexGen은 GIS 솔루션으로써 갖춰야할 기본적인 기능을 기반으로 사용자가 원한는 공간 데이터를 추가하여, 이 데이터와 관련된 기능을 커스마이징을 통해 추가할 수 있는 솔루션입니다. NexGen은 다음과 같은 기능으로 구성되어져 있습니다. 위의 기능은 NexGen에서 기본적으로 제공되는 기능으로써, 범용적으로 활용할 …

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

지도를 활용하여 정보를 공유하고, 업무에 효율적으로 활용할 수 있는 맵 커뮤니케이터 기능에 대한 소개입니다. 맵 커뮤니케이터, 의미 그대로 지도를 이용한 의사소통 기능이고 NexGen에서 제공하는 기능입니다. 맵 커뮤니케이터에서 제공하는 기능은 대화를 기본으로 지도를 활용한 위치 공유, 지도 위에 스케치한 정보 공유 기능입니다. 그리고 다양한 파일을 공유할 수 있는데, 대용량의 파일도 문제 없이 공유할 수 있습니다. 아래는 …

NexGen에서 지형에 대한 3차원 시각화 기능

우리는 GIS의 많은 기능을 2차원에서 수행하다가, 실제 그 형상을 보다 사실적으로 시각화 파악하고 싶을 때가 있습니다. NexGen은 이러한 사용자의 요구 사항을 완벽하게 충족시키기 위해 지형에 대한 3차원 시각화 기능을 제공합니다. 아래의 동영상은 이에 대한 기능의 시연입니다. 비디오를 지원하지 않는 웹브라우져입니다. 공간 서버에 지형에 대한 표고 데이터에 대한 DEM을 저장해 이처럼 웹에서 지형을 3차원 시각화할 수 …

JavaScript의 Class 정의 정리

모던한(?).. 즉 현대적인 Javascript에서는 클래스를 정의하기 위한 class 키워드를 제공하기는 하지만, 현재의 IE에서 아직도 지원하지 않아 나름대로의 class 정의 방식을 사용하고 있습니다. 웹 기반의 GIS 엔진인 FingerEyes-Xr도 이러한 class 정의 방식으로 개발 되었습니다. 수백여개의 클래스를 이 방식으로 정의해 왔음에도 새로운 클래스를 정의할라치면 기존에 만들어진 소스를 Copy 해서 Paste 해 고치는 것이 세련미 떨어져.. 직접 키보드로 …