반응형

전체 글 716

JSON 파일의 읽기 및 처리 (Hash within List)

지난 회차에서는 리스트 내 리스트(List within List)의 형태로 데이터가 수록된 JSON 파일을 읽고 처리하는 방법 및 예제를 소개하였습니다. 오늘은 해쉬 내 리스트(Hash within List)의 형태로 데이터가 수록된 JSON 파일을 읽고 처리하는 방법에 관하여 예제와 함께 알아보겠습니다. 리스트 내 해쉬 (Hash within List) 지난 회 게시물에서는 해쉬 내 리스트의 형태로 데이터가 수록된 JSON 파일의 일부를 제시한 바 있습니다. 그 모습을 다시 보면 다음과 같습니다. [{"time-tag": "1749-01", "ssn": 96.7}, {"time-tag": "1749-02", "ssn": 104.3}, {"time-tag": "1749-03", "ssn": 1..

JSON 파일의 읽기 및 처리 (List within List)

IDL에서 JSON 형식의 파일을 읽는 방법에 관해서는 꽤 오래전에 관련 게시물을 올린 바 있습니다. 일반적으로 JSON 형식으로 배포되는 파일들은 내부에 많은 양의 데이터를 담고 있는 경우가 많으며, 그 데이터를 읽어서 배열의 형태로 가져오는 것이 최우선적인 과제가 됩니다. 그래야 실제로 처리 및 표출 등의 작업으로 이어질 수 있기 때문입니다. 앞서 언급한 과거의 관련 게시물에서도 언급을 한 바 있지만, 실제로 배포되는 JSON 파일들의 내용을 잘 보면 내부적으로 포함된 데이터의 형태가 리스트(List)인 경우 또는 해쉬(Hash)인 경우로 나눠집니다. 실제로 배포되는 JSON 파일들 중 한 파일의 모습을 일부만 살펴보면 다음과 같습니다. [["time_tag","dst"],["2024-02-14 08..

ARRAY_INDICES 함수의 필요성

오늘 살펴보고자 하는 ARRAY_INDICES 함수에 관해서는 예전에 몇몇 게시물들을 통하여 간접적으로 언급했던 적이 있긴 합니다만, 오늘은 이 함수 자체에 좀 더 촛점을 맞춰서 다뤄보고자 합니다. 이 함수는 특히 다차원(2차원, 3차원 등) 배열을 취급할 때 그 필요성이 커지는데요. 예제와 함께 그 쓰임새를 살펴봅시다. 먼저 다음과 같이 4x3의 구조를 갖는 2차원 배열을 하나 가정해보겠습니다. arr = INTARR(4, 3) arr[1, 2] = 1 arr[2, 1] = 2 arr[3, 1] = 1 PRINT, arr 여기서 정의된 배열 arr의 값들이 출력된 모습은 다음과 같습니다. 0 0 0 0 0 0 2 1 0 1 0 0 이 배열 내에서 최대값은 2일 것입니다. 그리고 최대값인 2가 배열 ar..

축의 라벨 문자들의 회전 처리

IDL에서 X축, Y축 등으로 구성되는 그림을 그리게 되면 각 축에는 눈금 및 라벨 문자들이 붙게 됩니다. 일단 예제 데이터를 생성하고 플롯을 먼저 표출해보면 그 과정 및 결과 그림은 다음과 같습니다. x = FINDGEN(301)*100 y = 1.7*SIN(1.3*x*!PI/250.0)*EXP(-0.002*x) win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, COLOR='crimson', FONT_SIZE=11, /CURRENT) 이 플롯에서 X축을 보면 0~3000의 범위이며 500의 간격으로 7개의 눈금들에 대하여 라벨 문자들이 표기되어 있습니다. 그리고 문자의 방향은 당연히 정방향입니다. 그냥 이렇게만 표출해도 별다른 문제는 없습..

IDL/New Graphics 2024.02.05

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

IDL에서 변수 또는 배열을 일종의 클래스(Class) 기반의 문법으로 처리하는 방법에 관하여 소개하고 있습니다. 지난 회에 이어서 오늘은 IDL_String 클래스에 관하여 알아보겠습니다. 이 클래스에 대하여 지원되는 여러가지 메서드(Method)들 중에서 주목해볼만한 몇가지만 골라서 예제와 함께 살펴보고자 합니다. * 참고로 오늘 소개될 내용은 IDL 도움말에서 Routines (by Topic) -> Variable Functions and Attributes 섹션의 내용을 바탕으로 합니다. 그리고 이 내용은 해당 웹페이지를 통해서도 볼 수 있습니다. CharAt 메서드는 대상 문자열에 대하여 특정한 위치의 문자를 추출하는 역할을 합니다. 위치는 인덱..

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

IDL에서 변수 또는 배열을 일종의 클래스(Class) 기반의 문법으로 처리하는 방법에 관하여 소개하고 있습니다. 지난 회에 이어서 오늘은 IDL_Variable 클래스에 관하여 알아보겠습니다. 이 클래스에 대하여 지원되는 여러가지 메서드(Method)들 중에서 주목해볼만한 몇가지만 골라서 예제와 함께 살펴보고자 합니다. * 참고로 오늘 소개될 내용은 IDL 도움말에서 Routines (by Topic) -> Variable Functions and Attributes 섹션의 내용을 바탕으로 합니다. 그리고 이 내용은 해당 웹페이지를 통해서도 볼 수 있습니다. 이 메서드는 대상 데이터를 기준값과 비교하는 역할을 하는데, 정확히 말하면 크다(GT), 똑같다(EQ), 작다(LT)..