반응형

전체 글 716

클래스 기반 문법에 의한 변수 및 배열 처리 [1]

오늘은 IDL에서 변수 또는 배열을 일종의 클래스(Class) 기반의 문법으로 처리하는 개념에 관하여 간략하게 살펴보고자 합니다. 이러한 개념은 IDL 8.4 버전에서부터 도입되기 시작하였습니다. 이것은 단일값 변수 및 배열과 같은 항목 자체를 마치 하나의 객체(Object)처럼 취급하면서 그것에 대한 다양한 속성(Attribute)들의 확인 또는 메서드(Method) 형태의 명령을 적용하여 여러가지 처리를 할 수 있도록 해주는 개념으로 이해하면 됩니다. 물론 이러한 원론적인 설명만으로는 좀 부족할 것 같고 관련 예제들을 통해서 그 개념을 이해하는 것이 더 좋을 것 같습니다. 일단 다음과 같이 단일 정수형 값을 포함하는 변수를 정의합니다. IDL> var = 47 이러한 변수 var에 대하여 몇가지 속성..

지도의 국경선 데이터의 변경 및 표출

IDL에서 지도를 표출하면서 국경선을 함께 표시해야 하는 경우가 종종 있습니다. 그러한 표출을 위해서는 NG 체계 기준으로는 MAPCONTINENTS 함수에서 /COUNTRIES 키워드를 사용하면 됩니다. 이러한 방법을 사용하여 동남아시아 지역을 국경선과 함께 표시하는 예제를 보면 다음과 같습니다. win = WINDOW(DIMENSIONS=[600, 600], /NO_TOOLBAR) limit = [0, 90, 50, 140] m = MAP('Geographic', LIMIT=limit, $ FILL_COLOR='light blue', ASPECT_RATIO=0, $ LABEL_POSITION=0, FONT_SIZE=11, CLIP=0, $ MARGIN=0.1, /CURRENT) mc = MAPCONT..

IDL/Mapping 2023.12.14

IDL 9.0 출시

IDL 9.0 버전이 ENVI 6.0 버전과 함께 출시되었습니다. 이번 IDL 9.0의 주요 업데이트 사항들을 다음과 같습니다. 1. 이제 애플의 M-시리즈 칩이 탑재된 기기들을 공식적으로 완벽하게 지원합니다. 즉 M1, M2, M2 Pro, M2 Max, M2 Ultra 계열의 칩이 탑재된 애플 기기들에서도 예전처럼 Rosetta를 통하지 않고 그 자체로 구동이 가능합니다. M-시리즈 칩 애플 기기들에서는 호환성 뿐 아니라 전반적인 성능 향상도 있습니다. 2. HttpRequest 클래스가 새롭게 도입되었으며 이 기능을 통하여 웹서버와의 다양한 교신 작업들(Get, Post, Put, Delete 등)이 가능합니다. 3. VSCode(Visual Studio Code) 내에서 IDL 코딩 작업이 가능하..

IDL/General 2023.12.05

원소값들을 직접 표기하여 배열을 생성하는 법 (3차원까지)

IDL에서 배열(Array)을 생성하는데 있어서는 각종 배열 생성용 함수들(INTARR, INDGEN 등)을 이용하는 방법도 있지만, 배열을 구성할 원소값들을 내가 직접 표기하여 작성하는 방법도 있습니다. 먼저 1차원 배열의 예를 보면 다음과 같습니다. IDL> a = [64, 81, 92, 77, 59] IDL> HELP, a A INT = Array[5] IDL> PRINT, a 64 81 92 77 59 이와 같이 꺾쇠괄호를 사용하여 그 안에 원소값들을 따옴표로 구분하여 표기하는 방식입니다. 여기서는 5개의 값들로 구성된 정수형 배열을 생성해본 것입니다. 그러면 이번에는 원소값들을 직접 표기하여 2차원 배열을 생성하는 방법을 살펴봅시다. 이를 위해서는 꺾쇠괄호를 2중으로 사용해야 합니다. 예제를 보..

웨비나(Webinar) 안내 (2023. 11. 30)

IDL/ENVI의 제작사인 NV5 Geospatial에서 오는 11월 30일에서 12월 1일에 걸쳐 개최될 예정인 웨비나(Webinar)에 대하여 안내합니다. 이번 웨비나에서는 ENVI와 IDL의 차기 버전인 ENVI 6.0 및 IDL 9.0에 대한 소개가 있을 예정입니다.정확한 출시 시기는 아직 예고되진 않았지만 제 짐작으로는 아마도 12월 중 늦어도 내년 1월 전까지는 출시가 될 것으로 보입니다. 특히 이번에 출시될 버전은 소수점 앞자리의 넘버링이 바뀌는 것이기 때문에 아마도 괄목할만한 변화가 있지않을까 조심스레 예상해봅니다. IDL의 경우만 보면 8.0에서 9.0으로 가는데 약 13년 정도가 걸린 셈인데, 다른 때(7.0에서 8.0, 6.0에서 7.0, 5.0에서 6.0 등)에 비해서는 좀 더 시간..

IDL/General 2023.11.23

증가 및 감소 연산자 (Increment and Decrement Operator)

증가 연산자(Increment Operator) 및 감소 연산자(Decrement Operator)는 원래 C나 자바 같은 프로그래밍 언어들에서 지원되는 연산자들인데, IDL에서도 6.0 버전부터 이러한 증감 연산자들이 지원되어오고 있습니다. 기호로는 ++ 및 --로 표기합니다. IDL에서 이러한 연산자들의 기본적인 개념은 타 언어에서와 거의 비슷합니다. 그러면 IDL에서 증가 및 감소 연산자들의 사용 방법 및 예제들을 살펴보기로 하겠습니다. 증가 및 감소 연산자는 변수 또는 배열에 대하여 적용이 가능합니다. 예를 들어 a라는 변수에 적용한다고 하면 그 방식은 a++, ++a, a--, --a 등과 같습니다. 다만 숫자값 자체에는 적용이 불가능하다는 것을 유의해야 합니다. 즉 23++과 같은 방식의 사용..

IDL/Math 2023.11.20