SMALL

전체 글 732

LCC 투영법 기반의 데이터 표출 및 지도 윤곽 처리

LCC(Lambert Conformal Conic) 투영법 기반의 지도를 표출하는 방법에 관해서는 제가 예전에도 관련 게시물들을 통하여 몇번 다뤄본 적이 있습니다. 또한 LCC 투영법 기반으로 격자 분포를 하는 2차원 데이터를 지도와 함께 중첩 표출하는 예제들도 관련 게시물들을 통하여 소개했던 적이 있습니다. 따라서 LCC 투영법 기반의 지도를 표출하는 방법에 관한 기본적인 내용을 굳이 반복할 생각은 없지만, 추가적으로 다뤄보고 싶은 관련 주제가 있어서 오늘 소개해보고자 합니다. IDL의 NG 체계에서 LCC 투영법으로 지도를 표출할 때 약간 골치아프게 다가오는 이슈가 있습니다. 바로 지도의 외곽 부분에 대한 처리인데요. LCC 투영법 자체의 특성상 경도 및 위도 격자선이 곡선 또는 기울어진 선이 됩니다..

IDL/Mapping 2023.08.07

데이터 포인트들을 다양한 색상으로 표출하기 [2]

제가 얼마전에 "데이터 포인트들을 다양한 색상으로 표출하기"라는 제목의 게시물을 올린 바 있습니다. 기본적으로는 2차원 공간상에 흩어져있는 다수의 데이터 포인트들이 있고 각 포인트마다 데이터 값이 있을 경우를 가정하고, 이러한 데이터를 2차원 공간상에서 표시하면서 각 포인트마다 데이터 값에 따라 색상을 부여하는 방식으로 표출하는 방법에 관한 내용이었습니다. 오늘은 그 연장선에서 한 단계 더 들어가보고자 하는데요. 데이터 포인트들을 다양한 색상으로 표시하면서 윤곽선도 함께 표시되도록 하는 방법에 관하여 알아보고자 합니다. 원래 SCATTERPLOT 함수에서는 각 포인트의 윤곽선에 대한 설정은 가능합니다. 특히 SYM_COLOR 속성을 사용하면 각 포인트의 심볼의 윤곽선 색상을 설정할 수 있고 SYM_FIL..

IDL/New Graphics 2023.07.31

Refresh 메서드를 활용한 표출 시간 절약법

우리가 NG 체계에서 그림 표출을 할 때, 다수의 그래픽 개체들이 한 판에 올라가도록 해야 하는 경우들이 종종 있습니다. 즉 기본이 되는 그림을 하나 표출해놓고 그 위에 다른 그래픽 요소들을 계속 중첩해가는 경우입니다. 이런 예제를 들자면 뭐 수도 없이 많겠지만, 제가 예전에 게시물로 올렸던 케이스 하나를 예로 들어보겠습니다. 해당 게시물의 링크는 다음과 같습니다. https://swrush.tistory.com/678 이 예제에서는 다음과 같은 표출 결과를 얻게 되어있습니다. 이와 같이 서피스 기반의 그림 상에 지도, 이미지, 등위선 형태의 그림들을 중첩하는 과정입니다. 그리고 전체적인 과정에 해당되는 소스 프로그램은 다음과 같습니다. PRO test_map_image_contour_3d TIC dat..

IDL/New Graphics 2023.07.26

IDL extension for VSCode

VSCode(Visual Studio Code)는 개발자들 사이에서 많이 이용되고 있는 프로그래밍 툴입니다. 통상적으로는 VSCode 내에서 C, Java, Python 등 각종 프로그래밍 언어로 코딩할 수 있도록 각 언어별 확장자(Extension)을 설치해서 사용하게 되는데요. 최근에 IDL 확장자가 추가되었습니다. 즉 VSCode 내에서 IDL 프로그램의 편집, 컴파일, 실행 등이 가능해진 것입니다. 일단 관련 링크는 다음과 같습니다. https://marketplace.visualstudio.com/items?itemName=IDL.idl-for-vscode 물론 당연한 얘기지만 먼저 VSCode와 IDL이 PC에 설치되어 있어야 합니다. VSCode는 공식 웹사이트에서 설치파일을 받아서 설치하면..

IDL/Miscellaneous 2023.07.11

IDL 8.9의 Gabor Filter 기능 소개

IDL 8.9 버전에서 새로 추가된 Gabor Filter 기능은 2차원 이미지에 대하여 적용 가능한 필터링 옵션이라고 볼 수 있으며 주로 경계선 추출(Edge Detection) 또는 텍스쳐 분석(Texture Analysis)에 사용되는 처리 기법입니다. IDL 8.9에서 이 기능을 사용하기 위해서는 GABOR_KERNEL 및 GABOR_FILTER 함수를 사용해야 합니다. 그래서 오늘은 이 기능에 관하여 관련 예제와 함께 소개를 해보고자 합니다. Gabor 필터링 자체는 기본적으로는 컨볼루션(Convolution)의 일종이며 적용되는 커널(Kernel)의 세부 형태에 따라 결과가 달라지게 됩니다. 따라서 GABOR_KERNEL 함수를 사용하여 커널의 형태를 먼저 정의한 후, 이 커널 데이터를 대상 ..

IDL 8.9에서 추가된 상수 정의 기능

IDL 8.9에서는 상수(Constants)의 정의 기능에 있어서 업데이트된 사항들이 몇가지 있습니다. 그래서 관련된 주요 사항들을 정리하여 소개해보고자 합니다. 기존의 IDL에서는 복소수를 정의하는데 있어서 COMPLEX 함수를 사용하는 것이 유일한 방법이었습니다. 예를 들어서 복소수 2-3i를 정의하는 방법은 다음과 같습니다. a = COMPLEX(2, -3) HELP, a 이렇게 하면 출력된 내용을 통하여 확인할 수 있듯이 변수 a는 복소수 2-3i를 담게 됩니다. A COMPLEX = ( 2.00000, -3.00000) 그런데 IDL 8.9에서는 복소수를 정의하는 새로운 방법이 추가되었는데, 바로 알파벳 i 또는 j를 활용하는 방법입니다. 즉 다..

IDL/Programming 2023.06.29
728x90