IDL로 그래픽창이 두 개인 앱을 만들어봅시다

아시는 분들은 아시겠지만 IDL을 이용하여 소위 말하는 ‘앱’을 개발할 수 있습니다. IDL 세상에서는 위젯 프로그래밍(Widget Programming)이라고 합니다. 그래픽 유저 인터페이스(GUI)라고도 하죠. 물론 이러한 프로그래밍을 위해서는 어느 정도 공부가 필요합니다. 만약 이와 관련된 공부를 해야 할 경우 참고할만한 자료가 몇가지 있는데 소개해보면 다음과 같습니다. 1. IDL 도움말에서 왼쪽 탭의 메뉴구조상으로 Contents – IDL Programming – Interfaces …

Continue reading ‘IDL로 그래픽창이 두 개인 앱을 만들어봅시다’ »

New ENVI의 Open과 Open As

ENVI 의 File 메뉴 아래에는 Open 과 Open As 두 개의 파일을 여는 메뉴가 있습니다. 이 둘의 차이가 뭘까요? ENVI는 파일의 종류를 자동으로 인식할 수 있을 경우(파일 이름, 확장자, 메타 데이터 등) Open 메뉴만으로도 알아서 파일을 읽을 수 있습니다. ENVI 안에는 각종 위성의 영상을 읽어 들일 수 있는 읽기 루틴들이 있는데요, 파일이 어떤 위성의 영상인지 …

Continue reading ‘New ENVI의 Open과 Open As’ »

알아두면 편리한 문자처리 함수들 [4]

지난 글에서 예고했던대로 오늘은 STRMATCH라는 함수에 대하여 알아보겠습니다. 7. STRMATCH 이 함수는 그 이름에서 알 수 있듯이 대상 문자열을 비교 문자열과 비교하여 일치하는가 여부를 판단하여 알려주는 역할을 합니다. 좀 더 넓은 의미로 생각한다면, 대상 문자열내에 내가 지정한 비교 문자열이 포함되는가 아닌가의 여부를 확인하는 역할이라고도 볼 수 있습니다. 가장 기본적인 사용예제는 다음과 같습니다.

여기서 대상 …

Continue reading ‘알아두면 편리한 문자처리 함수들 [4]’ »

알아두면 편리한 문자처리 함수들 [3]

5. STRLEN 문자열의 길이를 알려주는 함수입니다. 공백도 포함됩니다. 따라서 다음과 같은 문자열의 길이는 8로 출력됩니다.

  6. STRPOS 문자열내에서 특정 문자의 위치를 알려주는 함수입니다. IDL에서는 항상 그렇듯이, 위치를 나타내는 인덱스는 0부터 시작합니다. 다음 예문을 봅시다.

여기서는 ‘Communication Breakdown’이라는 문자열에서 ‘cat’이라는 문자를 찾고 그 위치를 알아본 것인데, 위치 인덱스는 7로 나옵니다. 즉 첫 글자인 …

Continue reading ‘알아두면 편리한 문자처리 함수들 [3]’ »

ENVI 와 ENVI Classic

ENVI 4.7이나 ENVI 4.8과 같이 이전 ENVI 사용자들에게 가장 큰 불만은 아마도 “너무 많은 창이 열리는 것”이라고 생각합니다. 작업을 하다가 윈도우 태스크바를 보면 수십개의 창이 열려 있는 것을 보고 놀라곤 했습니다. 원하는 창을 찾는 것도 쉬운 일은 아니었구요. ENVI 5에서 제시된 새로운 ENVI는 이러한 것을 하나의 창으로 간결하게 정리하고, 단순화된 메뉴, 현대적인 버튼들들과 도구 팔레트라는 …

Continue reading ‘ENVI 와 ENVI Classic’ »

알아두면 편리한 문자처리 함수들 [2]

이번에는 STRSPLIT라는 함수에 대해 알아보겠습니다. 내용이 약간 긴 관계로 오늘은 이 함수 하나만 소개할까 합니다. 4. STRSPLIT 이 함수는 문자열내에서 특정한 문자로 구분되어진 마디마디의 문자값들을 분리하여 얻게 해주는 역할을 합니다. 주로 과학기술 분야의 아스키형 자료들이 이와 유사한 형태를 갖는데, 이러한 자료를 읽는데 있어서 유용하게 사용됩니다. 예를 들어 다음과 같은 형태의 아스키 자료가 존재한다고 가정해봅시다. 여기서 …

Continue reading ‘알아두면 편리한 문자처리 함수들 [2]’ »

IDL 8.2.2의 New Graphics 속도

Mark Piper 박사의 블로그, IDLDATAPOINT.com 에 재미 있는 글이 올라왔습니다. Coming soon : IDL 8.2.2 by Mark Piper  

천만개의 점을 꺾은선 그래프로 그리는 것인데, 1초 정도, New Graphics가 더 빠르네요. Direct Graphics는 사실 속도 하나가 자존심인데… tic과 toc은 IDL 표준 프로시저는 아니고, 현재 시간을 기록해서 어떤 태스크에 소요되는 시간을 재는 것으로 예상됩니다. (IDL …

Continue reading ‘IDL 8.2.2의 New Graphics 속도’ »

알아두면 편리한 문자처리 함수들 [1]

IDL에서 제공되는 문자처리용 내장함수들 중 잘 알아두면 편리할만한 몇 개를 골라 순차적으로 소개할까 합니다. 문자열(String)은 IDL에서 사용되는 데이터의 자료형(Type)들 중 하나로서, 정수나 실수같은 자료형보다는 약간 덜하지만 그래도 상당히 자주 사용됩니다. 그리고 문자형 데이터를 잘 다룰 수 있다면 프로그래밍이 상당히 편해지는 부분이 많습니다. IDL에서도 이를 위한 문자형 데이터 전용 내장함수들이 여럿 제공되는데, 자세한 내용은 IDL 도움말의 …

Continue reading ‘알아두면 편리한 문자처리 함수들 [1]’ »

배열에서 특정값들을 빼버리는 방법

IDL에는 비교적 최근에 등장한 LIST() 같은 고급 자료형이 아니라면, 배열과 같은 자료형에서 원치 않는 값을 직접 제거하는 방법은 없습니다. 그렇지만 간단하게 해결할 수 있습니다. 생각을 반대로 바꾸어야 하는 것인데, “원치 않는 값을 제거한다”에서 생각을 “원하는 값들만 뽑아낸다”로 바꾸면 간단해집니다. 예를 들면, 배열에서 원하지 않는 값을 빼야 할 때가 종종 등장합니다. 다음과 같은 경우죠.

과학자들이 …

Continue reading ‘배열에서 특정값들을 빼버리는 방법’ »

새해 복 많이 받으세요.

아직 오픈하지 않은 페이지에서 새해 인사를 하는 것이 정상적인 것인지 모르겠습니다.  그렇다고 막아놓거나 감춰놓은 페이지도 아니어서, 분석툴에 의하면 이미 많은 분들이 방문하셨던 것 같습니다. 검색으로는 쉽게 걸리는데 아직 내용이 부실합니다. 이제부터 시작하는 커뮤니티니까요. 8년 전부터 제로보드라는 훌륭한 PHP 게시판을 이용해서 idluser.org와 enviuser.org를 운영해 왔습니다. IDLuser는 방문하시는 분들도 많은 편이고, 질문도 종종 올라오고 하여 저도 자주 …

Continue reading ‘새해 복 많이 받으세요.’ »