[GIS] DuraMap-Xr을 활용한 Windows 기반의 GIS 프로그래밍

듀라맵은 작고 가벼운 GIS 엔진으로 빠르고 풍부한 기능을 제공합니다. 수치지도와 항공영상 기반의 지도 표시, 공간 데이터 편집, 지오메트리와 그리드 기반의 공간분석, 통계 데이터의 차트 표시, 좌표변환, 공간 데이터 생성과 같은 기능을 제공합니다. 듀라맵을 활용한 윈도우즈 기반의 GIS 프로그래밍을 위한 개발자 문서입니다. 문서의 다운로드는 다음 URL을 참고하시기 바랍니다. http://www.gisdeveloper.co.kr/?page_id=3916

[GIS] DuraMap-Xr, 타일맵 레이어

듀라맵은 3.8 버전부터 타일맵 형태의 배경지도를 인터넷을 통해 받아 사용자에게 제공할 수 있습니다. 아래는 듀라맵을 이용해 타일맵 레이어를 추가하여 실행한 화면입니다. 위 화면에 대한 예를 통해 듀라맵에서 타일맵 레이어를 추가하는 API를 살펴보도록 하겠습니다. 저는 여기서 VB를 이용하였습니다. 듀라맵은 COM 기반의 ActiveX 컴포넌트로 ActiveX 개발시 디버깅에 VB가 적합하여 사용하였습니다. 듀라맵은 C#과 델파이와 같은 COM을 지원하는 개발언어에서도 …

[GIS] DuraMap, 듀라맵 3.1.0.1 버전업

듀라맵이 3.1.0.1로 버전업 되었습니다. 추가된 기능 2가지와 해결된 오류입니다. 먼저 해결된 오류는 윈도우즈 XP에서 편집시 잦은 다운현상을 해결하였습니다. 이 문제에 대한 이유는 XP와 비스타(Windows 7 포함)에서 동기화 객체인 CriticalSection의 작동에 차이가 발생하는 것에 원인이 있었습니다. 그리고 추가된 기능 2가지는 다음과 같습니다. 첫번째로 사용자가 정의한 도형을 포인트 심벌로 사용할 수 있게 되었습니다. 그리고 두번째는 폴리곤의 라벨 …

[GIS] DuraMap-Xr, 자체포맷 항공영상(XrR) 추가하기

듀라맵은 대용량의 항공영상을 자체포맷으로 변환하여, 변환된 자체포맷을 최소한의 메모리를 사용하고 빠른 속도로 표출할 수 있습니다. 변환된 자체포맷은 XrR이라는 확장자를 갖습니다. 이 글은 XrR 파일을 레이어로 추가하는 방법에 대한 예제입니다. 먼저 다음과 같은 폼을 디자인합니다. 폼에는 듀라맵 컴포넌트와 Add XrR Layer라는 버튼이 있으며 OpenFileDialog 컴포넌트가 있습니다. 이 글에서 작성되는 코드는 모두 Add XrR Layer 버튼의 클릭 …

[GIS] DuraMap-Xr, 선택된 도형 하이라이팅 시키기

2011년 새해.. 첫번째 1월입니다! 뭔가 새로운 마음 가짐으로.. 일에 전념하려는 의지와는 다르게 여러가지로 집중하지 못했던 시간이 새해까지 계속 이어져왔는데요. 이런 문제를 극복하기 위한 방법을 여러가지로 고민하다가.. 문득 다음과 같은 아이디어가 떠올랐답니다. “Be Activated For Yourself” 이 아이디어의 약빨이 조금 먹히는 거 같습니다. 다행이도 말입니다. 해서….. 오랜만에 듀라맵에 대해 그간 질문으로 올라왔던 내용 중에 하나에 대해서 …

[GIS] DuraMap-Xr, 그림 아이콘을 지도 위에 표시하기

포인트 SHP 파일을 듀라맵에서 표현할때 그리기 심벌로 이미지를 적용하고자 할때가 있습니다. 듀라맵에서 포인트 심벌로 제공하는 이미지 파일의 종류는 bmp, jpg, 투명 배경을 지원하는 gif, 알파값을 지원하는 png입니다. 다음 코드는 포인트 타입의 SHP 파일을 레이어로 추가하고 심벌로 png 파일을 지정하는 코드 예입니다. axXr1.Layers.AddShapeMapLayer(“lyr”, “D:/__Data__/주기.shp”); axXr1.WaitForAllConnections(); if (axXr1.Resources.AddImageResource(“img”, “d:/__data__/redmark.png”)) {     axXr1.Layers.GetLayerAsShapeMap(“lyr”).         …

[GIS] DuraMap-Xr 3.0 릴리즈

듀라맵 3.0이 릴리즈되었습니다. 이전 버전을 사용하고 계시는 분들은 최신 버전을 받아 사용하시기 바랍니다. 소소한 버그에서부터 좀더 크고 복잡한 SHP 파일을 읽고 표시할 수 있도록 개선되었습니다. 듀라맵 3.0은 크게 3가지 기능이 추가되었습니다. 3가지 추가된 기능은 다음과 같습니다. 1. 데이터 용량에 제한없이 항공 및 위성 영상 표현 50cm, 25cm급 항공영상에 대해서 전국 범위의 테라급 용량의 항공 및 …

[GIS] DuraMap-Xr, 특정 레이어를 최상단으로 이동시키기

특정 레이어의 이름을 gl이라고 할때.. 이 gl이라는 이름의 레이어를 최상단에 위치시키는 코드입니다. String lastLayerName = XrMain.Layers.GetLayerName(XrMain.Layers.Count – 1); if(lastLayerName.CompareTo(“gl”) != 0) {     XrMain.Layers.MoveLayer(“gl”, lastLayerName, false);     XrMain.Update(); } 가장 먼저 최상단에 위치하는 레이어를 구하고.. 최상단의 레이어가 gl이 아닐 경우에 4번 코드의 MoveLayer 매서드를 통해 최상단으로 이동시켜 주면 됩니다. MoveLayer의 세번째 인자값을 false로 …

[GIS] DuraMap-Xr, 편집 Event 정리

듀라맵에서 그래픽 레이어나 SHP 파일의 도형을 편집할때.. 편집에 대한 흐름을 보다 융통성있게 처리하기 위해 다음과 같은 이벤트를 제공합니다. OnEditAddedRow – 마우스를 통해 새로운 도형이 그려져 레이어에 추가된 직후 발생하는 이벤트 OnEditBeforeDeleteRows – 선택된 도형(들)을 DEL 키를 눌러 삭제하기 직전에 발생하는 이벤트 OnEditDeletedRows – 선택된 도형을 DEL 키를 눌러 삭제된 직후 발생하는 이벤트 OnEditModifiedRows – 선택된 …

[GIS] DuraMap-Xr, 그리드 레이어 응용(IDW 보간)

그리드 레이어에 대한 간단한 소개에 이어… 그럼 어떻게 그리드 레이어를 사용하는지를 하나의 예를 통해 살펴보도록 하겠습니다. IDW 보간 기법인데요. 공간상에 분포된 기지점(이미 알고 있는 공간상의 위치와 속성값)을 이용해서 미지점에 대한 속성값을 보간해 보는 알고리즘이 바로 IDW 입니다. IDW에 대한 설명과 수학적 공식은 이 블로그에서 IDW로 검색해 살펴보시기 바랍니다. 이후부터는 IDW에 대한 알고리즘을 이해하고 있다는 전제 …

[GIS] DuraMap-Xr, 그리드 레이어 소개

DuraMap-Xr은 DEM나 그리드 데이터를 생성하고 읽어들이면서 그리드 데이터의 값을 수정할 수 있는 그리드 레이어 기능을 제공합니다. 그리드 레이어로써 쉽게 ArcGIS에서 제공하는 FLT 파일을 DuraMap-Xr에서 읽어 표시하는 코드는 아래와 같습니다. bool bOK = Xr1.Layers.AddGridMapLayer(“grid”,         “FileName=d:/__data__/flt/rastert_r151.flt;OnMemory=0”); if(bOK) {     Xr1.WaitForAllConnections();     GML.EnableCacheBitmap = true;     Xr1.ZoomFullExtent();  } 코드를 살펴보면…. 먼저 …

[GIS] DuraMap-Xr, 공간 데이터 편집

먼저 예제로 만들 프로그램에 대한 시연을 살펴보겠습니다. [Flash] http://www.gisdeveloper.co.kr/wp-content/uploads/1/1195370430.swf DuraMap-Xr을 이용하여 SHP 파일이나 공간 데이터 서버로부터 제공받은 도형 데이터를 마우스를 이용하여 편집하고 편집된 결과를 SHP 파일로 다시 저장하거나 공간 데이터 서버로 반영할 수 있는 시스템 개발이 가능합니다. 이 글은 DuraMap-Xr을 이용하여 SHP 파일을 마우스로 편집하고 저장하는 API에 대해 설명합니다. 편집 기능을 위해 만들 폼입니다. 편집에 …

[GIS] DuraMap-Xr의 공간 데이터 편집 기능에 대한 간단한 시연

DuraMap-Xr에 대한 공간 편집 기능 문의가 있어 간단하게 만들어 본 동영상을 공유해 봅니다. SHP 파일에 대한 편집 내용으로.. 크게 새로운 공간 데이터 추가와 기존 데이터의 편집 기능을 소개하고 편집 기능에서 매우 활용도가 큰 정점(Vertex)와 선분(Edge)에 대한 스냅(Snap) 기능과 편집된 이력에 대한 Undo/Redo에 대한 시연 내용으로 구성되어 있습니다. [Flash] http://www.gisdeveloper.co.kr/wp-content/uploads/1/1195370430.swf DuraMap-Xr은 PC에 저장된 공간 데이터뿐만 아니라 …

[GIS] DuraMap-Xr, 위성/항공 이미지 레이어

범용 GIS 엔진인 DueaMap-Xr은 위성영상이나 항공영상에 대한 이미지 데이터를 표시하기 위해 ImageMapLayer를 지원합니다. 흔히 GIS 업계에서 공간 좌표를 메타데이터로 가지는 이미지 데이터의 포맷으로 geotiff를 사용합니다. tiff는 볼래 Tag라는 개념으로 이미지 데이터에 대한 데이터로써의 메타 데이터를 제공할 수 있는 구조이면서 동시에 하나의 파일에 여러개의 이미지를 저장하고 있는 구조입니다. 파일 하나에 대해 여러개의 이미지 각각을 페이지(page)라고 합니다. …

[GIS] DuraMap-Xr로 만든 지도 스타일 샘플 이미지들..

좀더 자세히 말씀드리면.. DuraMap-Xr로 만든 BeautifyMap-Xr로 디자인된 지도 이미지입니다. 제공받은 데이터를 가공하지 않고 그대로 사용하여 BeautifyMap-Xr의 기능을 십분발휘하지 못해 아쉬운 면이 크지만.. DuraMap-Xr로 이런 느낌의 지도 스타일을 사용자에게 제공할 수 있다는 점을 공유해 봅니다. BeautifyMap-Xr은 이렇게 제작된 스타일의 지도를 사용자가 원하는 크기의 타일 이미지로 조각내 저장하는 기능을 가지고 있습니다. 이런 타일 이미지는 추후 웹이나 모바일 …

[GIS] DuraMap-Xr, 편집과 공간연산

공간 데이터의 가시화와 편집 그리고 공간분석 기능을 제공하는 GIS 엔진인 DuraMap-Xr은 편집 기능에 있어서.. 편집 대상을 GraphicLayer와 SHP 파일등과 같은 공간 데이터로 구성된 ShapeMapLayer로 지정할 수 있습니다. 편집 대상을 GraphicLayer로 하든지 아니면 ShapeMapLayer하든지.. 그 방법은 전혀 다르지 않습니다. 여기서는 간단히 별도의 공간 데이터를 필요로 하지 않는 GraphicLayer를 대상으로 사용자가 마우스를 이용하여 폴리곤을 그리고 그려진 폴리곤에 …

[GIS] DuraMap-Xr, 그래픽 레이어 및 요소 추가

범용 GIS 엔진인 DuraMap-Xr은 사용자가 바로 필요로 하는 도형을 추가하고 편집하기 위한 그래픽 레이어를 제공합니다. 이 그래픽 레이어를 통해 사용자는 GIS 엔진에서 제공하는 공간분석과 공간연산을 위한 객체로 사용할 수 있으며 원하는 화면 구성을 위해 활용할 수 있습니다. 또한 그래픽 레이어에 추가된 도형은 쉽게 GIS에서 사용되는 공간 데이터로 변환되어 저장될 수 있습니다. 이 글은 DuraMap-Xr이 제공하는 …

[GIS] DuraMap-Xr, 통계 데이터를 이용한 차트맵

수치 데이터로 구성된 데이터를 차트와 같은 그래프로 표현하여 사용자의 이해를 높일 수가 있습니다. 여기에 더해 통계 데이터로 구성되는 차트를 지도 위에 표현한다면 더욱 이해도를 높일 수 있을 것입니다. 이 글은 DuraMap-Xr에서 차트를 표현하는 API에 대해 설명합니다. 먼저 아래와 같이 버튼 4개와 Xr 맵 컨트롤을 폼에 추가합니다. 버튼의 구성 순서는 실행 순서와 같습니다. 먼저 Add Map …

[GIS] DuraMap-Xr, 통계 데이터를 이용한 주제도 작성

공간 상의 인구 데이터와 같은 공간 통계 데이터를 이용하여 주제도를 작성하는 기능은 GIS의 중요한 기능 중에 하나입니다. 예를들어서 각 지역에 대해 집계된 인구수를 지역 별로 비교하기 위해 단계별로 색상을 달리하여 주제도를 만들 필요가 있는데 DuraMap-Xr에서 이러한 방법에 대해 살펴보도록 하겠습니다. 필요로 하는 GIS의 기능이 정해지기 전에 먼저 파악되는 것이 아마도 데이터가 아닐까 싶습니다. 사용할 데이터는 …

[GIS] DuraMap-Xr, 속성 데이터 값을 이용한 주제도 작성

DuraMap-Xr은 속성값에 대해 도형의 그리기 심벌을 다르게 지정하여 주제도를 작성할 수 있는 기능을 제공합니다. DuraMap-Xr에서 속성에 대한 주제도를 작성하기 위해 제공되는 주요 COM 클래스는 다음과 같습니다. MapThemeEqual MapThemeSimilarity MapThemeRange MapTheme3D MapThemeEqual은 값이 정확히 일치하는 도형에 대한 심벌을 지정합니다. 그리고 MapThemeSimilarity는 값이 부분적으로 비슷하게 일치하는 도형에 대한 심벌을 지정합니다. 또한 MapThemeRange는 주어진 범위에 값이 포함되는 도형에 …