SMALL

전체 글 724

서피스(Surface) 그림의 이동

IDL의 NG 체계에서 SURFACE 함수로 표출된 그림에 대하여 시선방향을 조절하는 방법에 관한 게시물을 제가 예전에 올렸던 바 있습니다. 여기서는 표출된 서피스(Surface) 그림 개체에 대하여 Rotate 메서드를 사용하여 몇 차례의 회전을 가하는 방식으로 소개를 했고, 이 과정에서 Rotate 메서드를 적용하는 방법에 관하여 자세히 언급하였습니다. 오늘은 서피스 그림 개체에 대하여 Translate 메서드를 적용하여 이동시키는 방법에 관하여 다뤄보고자 합니다. 사실 NG 체계에서 표출된 그림 개체에 대하여 Translate 메서드를 사용하여 이동시키는 방식 자체는 그리 복잡한 것은 아닙니다. 특히 PLOT, IMAGE 등의 함수들에 의하여 2차원적으로 표출된 그래픽 개체의 경우에는 X축 또는 Y..

IDL/New Graphics 2023.03.02

색상 이름을 RGB로 변환하여 사용하기

이미 많이들 알고계시겠지만, IDL의 NG 체계에서는 색상을 이름으로 지정하여 사용할 수 있습니다. 예를 들어 파란색의 경우에는 'blue'라는 문자값으로 정의됩니다. 물론 그 외에도 여러가지 색상들이 있는데 그 중 'hot_pink'라는 색상도 있습니다. 어쨌든 원하는 색상을 사용하고자 할 경우에는 다음과 같이 이름을 그대로 사용하면 됩니다. p = PLOT(x, y, COLOR='hot_pink') IDL에서는 이와 같이 이름으로 지정 가능한 색상들이 총 147종입니다. 이와 관련된 구체적인 정보는 다음과 같이 시스템 변수 !COLOR로부터 확인이 가능합니다. PRINT, N_TAGS(!COLOR) PRINT, !COLOR 그런데 이와 같이 이름으로 정의되어있는 색상에 대한 RGB 값을 가져오는 것이..

IDL/Direct Graphics 2023.02.23

INDGEN 함수 사용시 주의할 점

아마 IDL 사용자라면 이미 많이들 알고계시겠지만, INDGEN 함수는 0으로 시작하여 1씩 증가하는 정수형 값들로 구성된 배열을 생성하는 역할을 하는 함수입니다. 예를 들어서 다음과 같이 INDGEN(10)이면 0부터 9까지 1씩 증가하는 정수형 값들로 구성된 배열이 생성됩니다. IDL> a = INDGEN(10) IDL> HELP, a A INT = Array[10] IDL> PRINT, a 0 1 2 3 4 5 6 7 8 9 그런데 이 INDGEN 함수를 사용할 때 유의해야할 사항이 있습니다. 상당히 많은 갯수의 정수형 연속값들로 구성된 배열을 생성해야하는 경우입니다. 예를 들어서 5만개의 연속 정수값들로 구성된 배열을 생성하는 경우를 봅시다. IDL> a = INDGEN(50000) IDL> HE..

WHILE 및 REPEAT 구문의 이해

일반적으로 프로그래밍을 하면서 자주 하게 되는 작업 중 하나가 바로 반복 작업입니다. 물론 IDL에서도 여러가지 형태의 반복형 구문들이 지원됩니다. IDL에서 지원되는 반복형 구문들의 종류는 다음과 같습니다. FOR FOREACH WHILE REPEAT FOR 구문은 횟수제어형 즉 반복의 횟수를 미리 정해놓고 반복을 수행하는 방식이며 일반적으로 가장 많이 사용되는 반복형 구문입니다. FOREACH 구문은 배열을 대상으로 그 원소들의 갯수만큼만 반복을 수행하는 방식의 구문이며 자세한 내용은 관련 게시물을 참조하시면 됩니다. 그리고 WHILE 및 REPEAT 구문은 횟수를 미리 정해놓지않고 그 대신 특정한 조건을 걸고 반복을 수행하는 방식으로서 오늘은 이 두 종류의 구문들에 관해서 소개를 해보기로 하겠습니다..

IDL/Programming 2023.02.10

대륙 또는 해양의 마스킹(Masking) [2]

지난 회차에 이어서 오늘은 2)에 관한 내용, 즉 지도상에 2차원 데이터를 중첩 표출하면서 대륙 부분에서만 데이터가 보이도록 처리하는 방법을 소개해보겠습니다. 지난 회 게시물에서 잠시 언급했듯이 그 반대의 경우인 1)은 구현 방법이 꽤 간단하지만 2)는 좀 복잡합니다. 1)의 경우는 지도와 2차원 데이터의 중첩 처리를 한 이후에 대륙경계선을 표시하기 위하여 MAPCONTINENTS 함수를 사용할 때 FILL_COLOR 속성을 사용함으로써 대륙 부분을 색상으로 채우는 방식의 처리만 하면 됩니다. 꽤 간단하죠. 그런데 2)의 경우는 그냥 단순하게 생각해보면 MAPCONTINENTS 함수에서 대륙 대신 해양을 색상으로 채우는 기능만 있으면 간단하지않을까하는 생각을 가져볼 수 있습니다. 그렇게만 된다면야 매우 ..

IDL/Mapping 2023.02.06

대륙 또는 해양의 마스킹(Masking) [1]

IDL에서 지도를 표출하고 그 위에 2차원 데이터를 중첩하여 표출하는 방법 및 예제들은 제가 이 블로그를 통하여 여러 차례 소개해드린 바 있습니다(관련 링크). 그런데 오늘 소개하고자하는 내용은 이와 같이 중첩 표출을 하면서 대륙 또는 해양에 해당되는 부분만 보이도록 하는 방법에 관한 것입니다. 예를 들면 지도상에 2차원 데이터를 등위선(Contour)의 형태로 중첩표출을 하되, 왼쪽은 대륙을 가리고 해양 부분만 보이도록 처리하는 경우 또는 반대로 해양을 가리고 대륙 부분만 보이도록 처리한 경우입니다. 물론 등위선 대신 이미지가 될 수도 있을 것입니다. 어쨌든 실제로 이와 같은 표출을 하고싶은 경우가 분명히 있습니다. 그래서 이번 기회에 그 방법을 소개해보고자 합니다. 소개할 순서는 다음과 같습니다. 1..

IDL/Mapping 2023.01.31
728x90