데이터 읽기

게시판 IDL Q&A 데이터 읽기

이 게시글은 1개 답변과 2명 참여가 있으며 마지막으로  Sangwoo에 의해 2 월, 1 주 전에 업데이트 됐습니다.

  • 글쓴이
  • #5428

    Yyong
    회원

    최종 결과로는 아래와 같은 데이터를 읽어서 map을 그리는 것입니다.
    그런데 데이터를 어떻게 읽어서 저장을 해야하는지 조차도 감이 안잡힙니다.
    데이터는 2018년 1월1일 0시~23시까지이고 각 해당시간에 데이터 위도 87.5~-87.5도까지 2.5도 간격으로 블럭형태로 저장되어 있습니다. 블럭안에는 경도 -180~180도에 해당하는 데이터가 배열로 저장되어 있습니다.
    0시의 데이터가 끝나면 ‘END OF TEC MAP’라는 문자가 저장되어 있고 다시 ‘START OF TEC MAP’을 시작으로 데이터 블럭이 저장되어 있습니다. 파일의 끝에는 ‘END OF FILE’ 이라는 문자가 저장되어 있습니다.
    이런 형식의 파일은 어떻게 읽어서 map을 그려야 하나요? 함수라도 알려주시면 감사하겠습니다.

    1 START OF TEC MAP
    2018 1 1 0 0 0 EPOCH OF CURRENT MAP
    87.5-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
    42 43 43 43 43 42 42 42 41 41 40 39 39 38 37 36
    35 34 33 32 31 29 28 27 26 25 24 24 23 22 21 21
    21 20 20 20 20 20 20 20 20 21 21 22 22 23 24 24
    25 26 27 28 28 29 30 31 32 33 34 35 35 36 37 38
    38 39 40 40 41 41 42 42 42
    85.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
    49 49 50 50 50 50 50 49 48 48 46 45 44 42 40 39
    37 35 33 30 28 26 24 22 20 18 17 15 14 13 12 11
    10 10 9 9 9 10 10 11 11 12 13 14 15 17 18 19
    21 22 23 25 26 27 29 30 31 33 34 35 36 38 39 40
    41 42 43 45 46 47 47 48 49
    ……..

    1 END OF TEC MAP
    2 START OF TEC MAP
    2018 1 1 1 0 0 EPOCH OF CURRENT MAP
    87.5-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
    37 38 38 38 38 39 39 39 38 38 38 37 37 36 36 35
    34 33 32 31 30 29 28 27 26 25 24 23 22 22 21 20
    19 19 18 18 18 18 18 18 18 18 18 18 19 19 20 20
    21 21 22 23 24 24 25 26 27 28 28 29 30 31 31 32
    33 34 34 35 35 36 36 37 37
    85.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
    42 43 43 44 45 45 45 45 45 45 45 44 44 43 42 40
    39 37 35 33 31 29 27 25 23 21 19 17 16 14 13 12
    11 10 10 9 9 9 9 9 9 10 10 11 12 13 14 15
    16 17 19 20 21 23 24 25 26 27 29 30 31 32 33 34
    35 36 36 37 38 39 40 41 42

  • #5429

    Sangwoo
    회원

    올려주신 내용을 보니까 아마도 시각별로(0시부터 23시까지 1시간 간격으로) 블록들이 나눠져 있고 각 블록 내에서는 위도 +87.5도부터 -87.5도까지 2.5도의 간격으로 총 71개의 세트들이 존재하는 것 같습니다. 그리고 각 위도별 데이터값들의 경우 73개의 값들(42, 43, 38 등과 같은)이 하나의 라인에 존재하는 것으로 보입니다. 또한 0시부터 23시까지의 모든 데이터 값들이 위와 같은 형태로 하나의 파일 내에 한꺼번에 다 수록된 경우인 것으로 보입니다. 실제 데이터 파일의 형태가 제가 지금 언급한 내용과 맞는지요?

    그렇다고 한다면 이렇게 모든 데이터가 한꺼번에 수록된 하나의 텍스트 파일을 읽어야 할텐데, 컬럼 구조가 일관되지 않은 형태이기 때문에 읽기가 좀 까다로운 경우에 속한다고 볼 수 있습니다. 이러한 파일을 IDL에서 읽으려면 관련된 기법에 대한 이해가 필수적입니다. 제 IDL 블로그(http://blog.daum.net/swrush)에서 “텍스트”라는 검색어로 검색을 해보시면 “텍스트 파일을 효과적으로 읽는 방법에 관하여”라는 제목으로 총 4회의 게시물들이 있습니다. 지금의 경우는 이 게시물들 중 3회 및 4회의 내용과 직접 연관될 것이므로, 이 게시물들의 내용을 한번 보시길 권합니다. 이 내용을 근거로 하여 이 데이터 파일을 읽어서 값들을 배열의 형태로 읽어야 합니다. 아마도 각 시각별로 73×71의 형태를 갖는 2차원 배열이 될 것이고 결국은 전체적인 데이터 구조는 73×71인 배열들이 총 24개가 산출되어야 할 것입니다. 이렇게 읽을 수만 있다면, 앞서 알려드린 제 IDL 블로그에서 “IDL에서 지도의 표출 및 활용법에 관하여”라는 제목의 12회 및 13회 게시물의 내용을 참조하시면 표출 방법에 관한 힌트가 될 수 있을 것이라고 봅니다.

    사실 하고자 하시는 작업의 방법이 Q&A 게시판에서 답글의 형태로 드리기엔 너무 방대한 내용이 될 수 밖에 없습니다. 그렇기 때문에 참조할 만한 내용들을 소개하는 방식으로 알려드렸습니다. 언급해드린 내용들을 잘 참조하셔서 코딩을 해보시기 바랍니다.

    • 이 답변은  Sangwoo에 의해 2 월, 1 주 전에 수정됐습니다.
    • 이 답변은  Sangwoo에 의해 2 월, 1 주 전에 수정됐습니다.

답변은 로그인 후 가능합니다.