김형준 GIS 연구소 (for Developers)  
Front Page
Notice | E-Mail | Admin | Write Article   
 
2009/09/28에 해당하는 글 2건
2009/09/28   [ArcObjects] Graphic Element 추가하기
2009/09/28   텍스트 효과 단위기능 테스트 (4)


2009/09/28 18:57 2009/09/28 18:57
[ArcObjects] Graphic Element 추가하기

ArcObjects에서 제공하는 Map 컨트롤은 기본적으로 GraphicsContainer 자식 객체를 가지고 있으며 이 컨테이너에 사용자가 원하는 그래픽 요소를 추가할 수 있는 기능을 제공합니다. 추가할 수 있는 그래픽 요소는 생각할 수 있는 2차원 요소 대부분으로 포인트, 폴리라인, 폴리곤, 사각형, 타원 등입니다. 이 글은 이러한 그래픽 요소를 추가하는 방법를 폴리곤 그래픽 요소의 추가를 예로 들어 정리해 하겠습니다.

그래픽 요소의 구성은 크게 지오메트리(Geometry)와 심벌(Symbol)이며... 지오메트리는 정점으로 구성한 그래픽 요소의 뼈대로 생각할 수 있고 심벌은 그래픽 요소의 채움에 대한 색이나 투명도 그리고 외곽선의 굵기, 색상 등에 대한 정보입니다.

앞서 언급한 폴리곤 그래픽 요소를 추가하기 위하여 먼저 지오메트리를 구성하는 코드를 작성해 보면 다음과 같습니다.

사각형을 구성하는 4개의 좌표를 지정하기 위해 Point 타입의 변수 pPt1, pPt2, pPt3, pPt4의 X 그리고 Y에 좌표값을 지정합니다. 여기서는 사각형의 구성 좌표는 (100, 100)  (900, 100)  (900, 900)  (100, 900)입니다. 그리고 이렇게 지정한 좌표로 구성된 사각형 폴리곤을 구성하기 위해 Polygon 타입의 pPg 변수를 만들고 앞서 만든 4개의 좌표 변수를 추가합니다. 여기까지가 그래픽 요소의 지오메트리를 정의하는 방법이고... 다음으로 심벌을 정의하는 방법에 대해 정리해 보겠습니다.

폴리곤의 심벌을 간단히 생각해보면 채움과 외곽선으로 구분할 수 있습니다. 아래의 코드가 채움 심벌과 외곽선 심벌을 지정하는 코드입니다.

채움에 대한 색상과 외곽선에 대한 색상을 지정하기 위하여 IRgbColor 타입의 변수 pFillRGB와 pLineRGB를 정의하고 이 변수에 대한 색상을 RGB 요소 값으로 지정합니다. 그리고 이렇게 만든 색상을 실제 심벌에 지정하기 위하여 외곽선 심벌 타입인 ISimpleLineSymbol로 pSLS 변수를 생성하고 이 변수의 Color 속성에 앞서 지정한 색상을 지정합니다. 마찬가지로 채움에 대한 ISimpleFillSymbol 변수인 pSFS를 생성하고 색상을 지정합니다. 여기서는 단순한 채움과 외곽선 스타일이므로 ISimpleFillSymbol과 ISimpleLineSymbol을 사용했지만 다양한 이미지 패턴 채움 등과 같은 복잡한 심벌은 또 다른 심벌 타입을 사용하게 됩니다.

이제 이렇게 생성한 심벌과 지오메트리를 폴리곤 요소로써 그래픽 컨테이너에 추가하는 방법은 아래와 같습니다.

1번과 2번 코드가 폴리곤 요소인 PolygonElement 타입의 pPE를 생성하는 코드이며 4번 코드와 5,6번 코드가 앞서 정의한 지오메트리와 심벌을 pPE 객체에 지정하는 코드입니다. 그리고 이렇게 만든 폴리곤 요소를 그래픽 컨터에너에 추가하는 코드가 6번이며 화면상에 그 결과를 반영하는 코드가 마지막 7번 코드입니다. 참고로 6번 코드의 AddElement의 2번째 인자는 z-order 값으로써 0이 가장 최상단에 그려지게 됩니다. 아래는 실행 결과입니다.

사용자 삽입 이미지

또한 앞의 코드를 통해 살펴본 폴리곤 요소와 지오메트리 그리고 심벌에 대한 클래스 관계도는 아래와 같습니다.

사용자 삽입 이미지
Tag :
2009/09/28 12:51 2009/09/28 12:51
텍스트 효과 단위기능 테스트
구글맵이나 네이버지도, 다음지도 등등 모든 포털 지도사이트에서 제공하는 지도 서비스는 지도 이미지를 256x256 픽셀 크기로 잘려진 타일이미지 형태로 서비스되고 있습니다. 자사만의 지도 타일이미지 렌더링 프로그램을 직접 개발한 곳도 있을테고.... 구글처럼 오픈소스 라이브러리를 이용해 구축한 곳도 있을테고....

현재  RIA 기반의 지도 솔루션 개발에 필요한 지도 타일 이미지 렌더러를 개발하고 있습니다. 오픈소스를 활용하여 개발할까... 생각도 해보았지만... 다양한 사용자가 원하는 자신만의 지도 스타일의 충족이라는 틈새 시장을 놓고 볼때... 오픈소스의 획일화된 지도 이미지 스타일은 제 기획 의도와 맞지 않다고 판단하여 직접 개발하기로 결정하게 되었습니다.

사용자 삽입 이미지

위의 결과 이미지는 현재 개발중인 지도 타일이미지 렌더러에서 텍스트 표현을 위해 고민해본 텍스트 효과입니다. 실제 종이 지도를 살펴보고 글자에 적용된 효과를 살펴보면서 위의 3가지 효과정도면 될듯하여 하나 하나 구현해 보았습니다.

추후 타일 이미지 렌더러... 개발이 완료되면 위의 텍스트 효과가 적용된 지도를 통해 좀더 분명한 결과를 알릴 수 있겠지만.. 지금 단계에서 현재 제 스스로가 무엇을 하고 있는지... 어느 방향으로 가고 있는지에 대해 한 조각이라도 구체화하기 위한 과정으로써의 글을 올려봅니다.
Tag :
BLOG main image
 Notice
DuraMap-Xr 소개 및 다운로드
[오픈소스] SimpleSHP v0.1
FingerEyes-Xr 소개 및 다운로드
OpenGL Tutorials
 Category
전체 (552)
GIS 개발 (155)
프로그래밍 (240)
스치는 생각들 (128)
번역 또는 집필 (3)
영작학습 (6)
 TAGS
GIS Xr OpenGL Shader BlackPoint FingerEyes Algorithm Java Map Engine WPF
 Calendar
«   2009/09   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
 Recent Entries
English Writing Study
English Writing Study
English Writing Study 4
English Writing Study 3
English Writing Study 2
 Recent Comments
안녕하세요~ 코봉히님....
김형준 - 05/15
동부->중부 좌표변환할 일...
코봉히 - 05/14
잘봤습니다.
지나가다 - 05/11
지금 사용하고 있는 dem...
김형준 - 05/04
단면도 측정 결과를 보고....
아무개 - 05/02
출처를 밝히시면 마음껏...
김형준(Dip2K) - 05/02
하나더 말씀을 안드렸네요...
Begginer - 05/02
고맙습니다. OpenGL으로...
Begginer - 05/02
네, 기존 버전에 대해 불...
김형준(Dip2K) - 05/01
정말 감사합니다..새로운...
조성각 - 05/01
 Archive
2012/05
2012/04
2012/03
2012/02
2012/01
2011/12
2011/11
2011/10
2011/09
2011/08
2011/07
2011/06
 Link Site
Adobe Flex 3 Help
Cartograph 2.0
GADM
GIS 위키디피아
GIS 프로그래밍 연구소
MapTools.org
OGC
OGRE3D
OSGeo 한국 지부
Paul Bourke Site
Wikipedia
국가수자원관리 정보시스템
국립지리원
국토연구원
국토해양부
네이버 과학
대한측량협회
류광님의 블로그
이민파님의 공간분석과 리...
지오서비스(GeoService)
 Visitor Statistics
Total : 982092
Today : 114
Yesterday : 582
태터툴즈 배너
rss