✔ Python/3. Image Processing

GK2A LSM(Land/Sea Mask) 데이터 이해와 활용 방법 (1/2)

  • -
주제: 천리안위성 2A호 Land Mask / Sea Mask 데이터 이해하기
작성: 2024-01-14

안녕하세요, 루카스입니다.
이번 포스팅에서는 대한민국 기상위성인 천리안위성 2A호(GEO-KOMPSAT-2A, 이하 GK2A)과 관련하여 LSM(Land/Sea mask) 데이터에 대해 다뤄보려고 합니다. GK2A에 상세한 내용이 궁금하신 분은 링크를 클릭하시면 확인할 수 있습니다.

**GK2A와 관련하여
GK2A는
16개 채널로 다양한 관측이 가능한 기상위성입니다. 채널에 따라 해상도가 다르지만, 2km 이하의 해상도로 매 10분 간격으로 관측이 가능한 위성입니다. 


1. LSM (Land/Sea mask) 

1.1.  LSM란?

위성 랜드마스크, 오션마스크 자료

LSM 데이터는 지구 표면에서 육지(Land)와 바다(Sea)를 구분하는 데이터로써, 위성 이미지 및 관련 지리정보에서 육지와 해양을 식별하기 위해 사용합니다. 일반적으로 이진형식('1(육지)' 또는 '0(바다)')으로 제공됩니다. 하지만, 위성마다 각각의 Value 값이 상이할 수 있기 때문에 메타정보의 확인이 필요합니다.

1.2.  LSM 다운로드

LSM 데이터는 어디서 다운로드할 수 있을까요?

LSM 데이터는 위성 운용하는 센터/기관에서 관련 데이터 제공/다운로드가 가능합니다. GK2A는 국가기상위성센터(National Meteorological Satellite Center, 이하 NMSC) 홈페이지에서 다운이 가능합니다.

 

국가기상위성센터

샘플자료

nmsc.kma.go.kr

 

2. LSM 데이터 해석

2.1.  LSM 데이터 파일 열기

다운로드한 파일이 약 1.45GB입니다. 이 중에서는 해상도 2km 데이터를 사용해보도록 하겠습니다.

GK2A Land/Ocean Mask Data 다운로드

 

사실 필자의 경우에도 .bin 파일이 익숙하지 않아서 꽤나 애를 먹었습니다.
여러분의 시간을 단축시켜드리기위해 bin파일 보는 방법도 공유드립니다.

Visual Stuido에서는 다양한 확장프로그램을 사용할 수 있습니다.  "Hex Editor"을 통해서 해당 bin파일 확인할 수 있습니다.

Hex Editor 설치하기
Hex Editor 설치이후, 해당 편집기로 파일열기

 

산 넘어 산이라고 했나요...?

왜 일반적이라는 '0', '1' 데이터가 아니라 '19' 심지어 'FC'라는 문자형태까지 존재하는 걸까요...? 다시 한번 더 당황하지 않을 수 없었습니다.

랜드마스크 원본데이터 확인

 

2.2.  컴퓨터 작동 방식에  대해 이해하기 

해당 값들을 이해하기 위해서는 컴퓨터의 작동방식에 대한 이해가 필요합니다.

우리가 '10'이라는 숫자를 입력했을 땐, 컴퓨터는 이 값을 메모리 저장할 때 어떤 과정을 거치게 될까요?

 

컴퓨터는 값을 메모리에 저장하기 위해 이 값을 기계어로 변환하여 저장합니다. 기계어는 컴퓨터가 이해하고 처리할 수 있는 0과 1로 구성된 이진 코드입니다. 즉, 컴퓨터는 모든 정보를 0과 1의 조합으로 표현하고 저장합니다. 이러한 이진 표현은 컴퓨터의 기본적인 작동 방식입니다. 바로, 여기서 메모리에 +(양의 부호)/ -(음의 부호)를 메모리에 저장하기 위해 데이터 포맷에 따라서 그 값을 저장하게 됩니다. 이에 FC, FD, FF 등과 같은 값이 사용되곤 합니다. 자세한 내용은 추후 포스팅에서 준비하도록 하겠습니다.
(참고자료 :  https://mrjester.hapisan.com/04_MC68/Sect04Part02/Index.html)

2.3.  메타정보 확인하기

사실 이 혼란을 끝내줄 답은 메타정보 안에 있었습니다. 

==================== Land/sea mask  ======================
Land/Sea Mask Flag made by MODIS Land cover Product
==========================================================

... 생략 ...

2km special resolution [lsmask_2km.bin]
NCOLS           5500
NROWS           5500
NBITS           8
DATA_TYPE       SIGNEDINT
Land Flag       1
Sea Flag        0
FILL_VALUE      -999

 

.bin 파일의 크기는  60,500,000 byte입니다. meta정보에서 가로, 세로의 크기는 5500 임을 확인할 수 있습니다. 즉 , 60,500,000 / (5500 * 5500) 을 계산하면, 2 byte 라는 값을 도출하게 됩니다. 이 말은 해당 파일은 2 byte 씩 끊어서 읽으면 데이터를 해석할 수 있다는 것을 의미합니다.

데이터 크기로 데이터 파악하기


👋🏻 다음 포스팅에서는...? 

생각보다 해당 데이터를 읽기 위해 파악해야할 정보들이 많았습니다. 
그럼, 다음 포스팅에서는 해당 데이터를 우리가 원하는 방식으로 변환하는 방법에 대해 소개하도록 하겠습니다.

🛰️ GK2A Land/Sea Mask 데이터
1.  2024.01.14 - [✔ Python/3. Image Processing] - GK2A LSM(Land/Sea Mask) 데이터 이해와 활용 방법 (1/2)
2. 2024.01.14 - [✔ Python/3. Image Processing] - GK2A LSM(Land/Sea Mask) 데이터 이해와 활용 방법 (2/2)

Reference

  1. 천리안위성 소개 : https://nmsc.kma.go.kr/homepage/html/base/cmm/selectPage.do?page=static.satllite.introGk2a
  2. 국가기상위성센터(NMSC) : https://nmsc.kma.go.kr/homepage/html/base/bbs/selectBbs.do?bbsCd=00135&bbsUsq=200978
  3. Singed, Unsinged, 'FC' 값 :  https://mrjester.hapisan.com/04_MC68/Sect04Part02/Index.html

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.