====== 천리안위성2A호 기본관측 데이터 ======
[[기상위성:정지궤도기상위성:천리안위성_2a호_기본산출물_l1#5. 활용방안|{{:wiki:활용방안클릭.png?linkonly250|}}]]
===== 1. 개요 =====
2018년 12월 5일에 발사된 천리안위성 2A호는 천리안위성 1호의 기상관측 역할을 승계하는 차세대 정지궤도 기상위성으로 기상 및 우주기상 관측임무를 수행합니다. 천리안위성 2A호는 16개의 기본 채널 관측을 통해 52종의 기상산출물을 생산하며, 국내에서 개발한 우주기상 탑재체로 우주기상 감시 및 위성 운영과 관련되는 현상을 관측합니다. 이로써 우리나라의 기상관측, 수치예보, 기후감시, 우주 기상감시의 역량을 강화했습니다.
{{천리안2a호_소개.png?nolink&800}}
===== 2. 영역 =====
전구(FD), 동아시아(EA), 확장 국지 영역(ELA), 한반도(KO), 태풍 감시 영역(TP), 지역관측(LA)을 제공하고 있습니다.
{{영역별_도법_및_영상정보.pdf}}
===== 3. 채널별 관측자료 설명 =====
==== 3.1. 가시채널(0.47μm) /약칭: 파랑 /밴드 No.1 ====
{{천리안위성2a호_기본영상_단일채널_가시_0.47_파랑__vi004_.pdf|가시_0.47_파랑}}
{{가시채널.png?nolink&}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 4개 가시채널 파장대 중 가장 짧은 파장대로, 가시광선 스펙트럼에서 파랑색 영역에 속하기 때문에 일명 “파랑(Blue) 가시밴드” 라고 함\\ - 가시1채널은 중심파장이 0.47μm에 위치하며, 공간해상도는 1km로 주간에만 관측하며, 태양광의 반사정도가 큰 물체 (안개/하층운, 대류운, 적설 등)일수록 영상에서 밝게 보임 \\ - 가시 파장대가 짧을수록 대기 중 입자가 작은 에어로졸에 의한 레일리 산란효과가 크기 때문에 주로 구름 외에 먼지, 연무, 연기 등의 탐지에 사용되며, 에어로졸, 일사량 관련 산출물, 천연색 합성영상의 입력자료(B)로 사용됨 \\ - 2019년 4월 18일 12시 천리안위성 2A호가 관측한 밴드 1(0.47μm)과 밴드 3(0.64μm ) 영상 비교 \\ * 산둥반도에서 경기만으로 이어지는 미세먼지/스모그 영역(빨갂 점선)이 가시밴드 1에서 가시밴드 3보다 더욱 뿌옇게 나타남. \\ * 이는 밴드 1에서 작은 미세입자에 의핚 레일리 산란이 밴드 3보다 더 커서 반사량이 증가하기 때문에 더욱 뿌옇게 보임 \\ * 태양의 고도각이 낮은 여명/황혼기에 먼지/스모그 지역이 더욱 뚜렷하게 보임. |
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시,: 10분\\ 확장국지, 국지, 한반도: 2분 |
^공간해상도|1km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_vi004_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.2. 가시채널(0.51μm) /약칭: 초록 /밴드 No.2 ====
{{천리안위성2a호_기본영상_단일채널_가시_0.51_초록__vi005_.pdf|가시_0.51_초록}}
{{가시채널_초록.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 4개 가시채널 파장대 중 두 번째로 짧은 파장대로, 가시광선 스펙트럼에서 녹색 영역에 속하기 때문에 일명 “초록(Green) 가시밴드” 이라고 함\\ - 가시2채널은 중심파장이 0.51μm에 위치하며, 공간해상도는 1km이고 주간에만 관측됨\\ - 가시2채널은 태양광의 반사정도가 큰 물체(안개/하층운, 대류운, 적설, 눈 등)일수록 밝게 보이므로, 가시1채널과 유사하게 육지, 구름 및 에어로졸과 관련된 정보를 제공함\\ - 파랑 가시밴드(0.47μm), 빨강 가시밴드(0.64μm)와 함께 천연색 RGB 합성영상의 중요한 입력자료(G)로 사용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시,: 10분\\ 확장국지, 국지, 한반도: 2분 |
^공간해상도|1km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_vi005_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.3. 가시채널(0.64μm) /약칭: 빨강 /밴드 No.3 ====
{{천리안위성2a호_기본영상_단일채널_가시_0.64_빨강__vi006_.pdf|가시_0.64_빨강}}
{{가시채널_빨강.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 4개 가시채널 파장대 중 세 번째 가시밴드로, 가시광선 스펙트럼에서 빨강색 영역에 속하기 때문에 일명 “빨강(Red) 가시밴드” 이라고 함\\ - 가시밴드의 중심파장은 0.64μm로 기존 천리안위성의 가시채널에 해당하며, 공간해상도가 0.5km로 AMI 파장대 중 가장 고해상도 정보를 제공하므로 안개/청천 경계, overshooting top, 작은 규모의 대류셀 등 구분에 효과적임\\ - 다른 가시밴드와 같이 태양광의 반사정도가 큰 물체(안개/하층운, 대류운, 적설, 눈 등)일수록 밝게 보임\\ - 주로 주간안개 탐지, 적설 및 빙설 지역 탐지, 위험기상 탐지, 일사량 추정, 구름의 시공간 변화 감시에 사용되며, 천연색 RGB의 중요한 입력자료(R) 로 사용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시,: 10분\\ 확장국지, 국지, 한반도: 2분 |
^공간해상도|0.5km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_vi006_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.4. 가시채널(0.86μm) /약칭: 식생 /밴드 No.4====
{{천리안위성2a호_기본영상_단일채널_가시_0.86_식생__vi008_.pdf|가시_0.86_식생}}
{{가시채널_식생.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 4개 가시채널 파장대 중 네 번째 가시밴드로, 식생에 대한 반사도가 높아 식생지수(NDVI; Normalized Difference Vegetation Index) 산출에 사용되므로, “식생” 밴드 라고 함\\ - 가시4채널의 중심파장은 0.86μm이고, 공간해상도는 1.0km이며, 주간에만 관측됨\\ - 가시3채널(0.64μm)과 함께 주간 구름, 에어로졸 탐지에 사용되지만, 식생의 변화, 불에 탄 흔적, 산불이동 초기 식별 및 지표면 특성 평가에 사용됨\\ - 식생밴드는 가시3채널(0.64μm) 보다 지면에 대한 반사도가 높고, 물의 낮은 반사율로 인해 반도, 호수, 홍수지역, 육지/해양의 경계를 뚜렷하게 탐지함 |
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시,: 10분\\ 확장국지, 국지, 한반도: 2분 |
^공간해상도|1km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_vi008_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.5. 근적외채널(1.37μm) /약칭: 권운 /밴드 No.5 ====
{{천리안위성2a호_기본영상_단일채널_근적외_1.37_권운__nr013_.pdf|근적외_1.37_권운}}
{{근적외채널_권운.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 5번째 밴드로 근적외 영역에 속하며, 수증기가 거의 없는 권운 탐지에 탁월하여 “권운(Cirrus) 밴드”라고 함\\ - 근적외5채널의 중심파장은 1.37μm이고, 공간해상도는 2.0km이며, 주간에만 관측됨\\ - 근적외5채널(1.37μm)는 강한 수증기 흡수 영역에 위치하므로, 수증기가 많은 하부 대류권은 잘 감지하지 못하고 대부분의 환경에서 특히, 따뜻하고 습한 대기에서 높고 얇은 권운 탐지에 탁월함\\ - 근적외5채널은 비행운(Contrail) 탐지 및 특정 조건하에서 화산 활동으로 인한 연기와 화산재 분출 등을 감지할 수 있음.- 근적외5채널은 상층운과 하층운의 구분, 상층운과 밝은 물체(적설)의 구분에도 사용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시,: 10분\\ 확장국지, 국지, 한반도: 2분 |
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_nr013_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.6. 근적외채널(1.61μm) /약칭: 눈‧얼음 /밴드 No.6 ====
{{천리안위성2a호_기본영상_단일채널_근적외_1.6_눈얼음__nr016_.pdf|근적외_1.6_눈얼음}}
{{근적외채널_눈얼음.png?nolink}}
^자료설명|- 근적외 영역으로 눈 얼음입자 등에 의한 흡수가 강하게 일어나 빙정 수적이 뚜렷하게 구분되어 눈 얼음 채널이라고 함\\ - 근적외6채널 의 분광 반응 함수의 중심 파장은 1 61μm 이고 공간 해상도는 2.0km 이며 주 야간 관측 가능함\\ - 주간에는 가시 파장대와 같이 반사되는 태양 복사에너지를 관측하므로 잘 반사하는 물질 수적운 이 영상에서 밝게 보이지만 눈 얼음에 대해서는 흡수가 일어나므로 적설역 빙정운 발달한 대류운 상부는 검게 나타남\\ - 대기창 영역으로 기체에 의한 흡수가 거의 없는 파장대이므로 대기 하층이나 지구 표면에서의 현상 분석이 유리함\\ - 운정에서의 구름상 및 구름 입자 크기 변화에 따른 반사도 차이 입자 크기가 작을수록 반사도는 높음 가 있기에 구름 미세 물리 특성을 나타내는 산출물 생산시 활용됨\\ - 야간에는 복사민감도가 높아 온도 변화를 탐지할 수 있으므로 화재 산불 및 지구 복사를 관측할 수 있음 |
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시,: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_nr016_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.7. 단파적외채널(3.83μm) /약칭: 야간안개‧하층운 /밴드 No.7 ====
{{천리안위성2a호_기본영상_단일채널_단파적외_3.8_야간안개하층운__sw038_.pdf|단파적외_3.8_야간안개하층운}}
{{단파적외채널_야간안개하층운.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 7번째 밴드로 단파적외영역에 속하며, 깨끗한 대기창 밴드(10.5μm)에 비해 수증기에 대한 흡수가 강해서 야간에 안개 및 하층운 탐지에 주로 사용되므로, “야간안개/하층운” 밴드라고 함\\ - 단파적외7채널의 중심파장은 3.83μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 주간에는 반사되는 태양복사에너지가 포함되어 영상해석이 복잡하지만, 야간에는 다른 적외밴드와 동일하게 해석\\ - 단파적외7채널은 수적운/빙정운 구분에 사용되며 입자크기에 민감함\\ - 주간에 수적운은 반사되는 태양빛이 포함되어 휘도온도가 높아져 단파적외7채널 영상에서 검게 보여짐\\ - 단파적외7채널은 다른 적외파장 밴드(300~330K)에 비해 400K까지 관측할 수 있어 산불/고온지점 관측이 용이함\\ - 단파적외7채널(3.83μm)는 야간 안개/하층운 탐지, 산불/뜨거운 지점 구분, 화산폭발 탐지, 주간 눈/적설 탐지 등에 활용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_sw038_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.8. 수증기채널(6.3μm) /약칭: 상층수증기 /밴드 No.8 ====
{{천리안위성2a호_기본영상_단일채널_수증기_6.3_상층수증기__wv063_.pdf|수증기_6.3_상층수증기}}
{{수증기채널.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)는 천리안 위성과는 달리 수증기 흡수가 강한 파장대(6~7μm)에 3개의 수증기 밴드를 포함. 수증기8채널은 3개의 파장대 중 대류권 상부(약 300hPa)의 수증기를 탐지하므로 “상층수증기 밴드”라고 함\\ - 수증기8채널의 중심파장은 6.3μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 주로 대류권 상층 수증기 추적, 제트기류 확인, 태풍경로 분석, 위험기상분석, 연직온습도 분석 및 수치예보에 활용됨\\ - 겨울철에는 대기온도가 낮아져 특히 고위도지방에서 온도가 낮은 지면이 수증기역처럼 표출되기도 하므로 주의 요함\\ - 천리안위성의 수증기채널 중심파장은 6.7μm(6.5~7.0μm)이지만 가중함수의 분포는 AMI 수증기8채널(6.3μm)에 더 가까움\\ - 천리안위성 2A호의 3개 수증기 밴드는 일본의 Himawari-8/9, GOES-16/17의 수증기채널과 거의 유사함|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시,: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_wv063_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.9. 수증기채널(6.9μm) /약칭: 중층수증기 /밴드 No.9 ====
{{천리안위성2a호_기본영상_단일채널_수증기_6.9_중층수증기__wv069_.pdf|수증기_6.9_중층수증기}}
{{수증기채널_중층수중기.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)에 포함된 3개의 수증기 밴드 중 가중함수의 최대가 대류권 중층(약 450hPa)에 위치하여 대기중층의 수증기 붂포를 주로 나타내므로 “ 중층수증기 밴드”라고 함\\ - 수증기9채널의 중심파장은 6.94μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 주로 대류권 중상층 수증기 추적, 제트기류 확인, 태풍경로 붂석, 위험기상붂석(기압골/기압능, 와도 등), 연직온습도 붂석, 산악파 감시, 대기운동벡터 산출, 수치예보 자료동화 등에 활용됨\\ - 수증기밴드는 특정 수증기 층의 평균온도를 탐지하고, 특정 층 내의 온도와 수증기량 및 위성의 시야각에 따라 달라짐\\ - 천리안위성-2A호의 3개 수증기 밴드는 일본의 Himawari-8/9, GOES-16/17의 수증기채널과 거의 유사함|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_wv069_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.10. 수증기채널(7.3μm) /약칭: 하층수증기 /밴드 No.10 ====
{{천리안위성2a호_기본영상_단일채널_수증기_7.3_하층수증기__wv073_.pdf|수증기_7.3_하층수증기}}
{{수증기채널_하층수증기.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)에 포함된 3개의 수증기 밴드 중 가중함수의 최대가 대류권 하층(약 600hPa)에 위치하여 대기하층의 수증기 분포를 주로 나타내므로 “ 하층수증기 밴드”라고 함\\ - 수증기10채널의 중심파장은 7.3μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 주로 대기특성( 하층 수증기 분포, dry slots, 하층 대기운동벡터, 위험기상 가능성, 하층 대기운동 벡터 등) 뿐 만 아니라 호수효과에 의한 눈 구름열이나, 하층에서 발달한 구름도 함께 보여줌 \\ - 고해상도 자료(2km)이기 때문에 산악파 등이 줄무늬형태로 나타나므로 청천난류 감시 등 항공분야에 활용됨\\ - SO2 흡수영역에 위치하기 때문에 적외11채널과 함께 화산감시에 활용되며 상층 SO2 감시에 주로 이용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_wv073_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.11. 적외채널(8.7μm) /약칭: 구름상 /밴드 No.11 ====
{{천리안위성2a호_기본영상_단일채널_적외_8.7_구름상__ir087_.pdf|적외_8.7_구름상}}
{{적외채널_구름상.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 적외11채널은 맑은 날 대기에 의한 흡수 영향이 적은 적외창(Atmospheric window) 영역에 속하는 파장으로, 구름상부에서 수적운과 빙정운의 구분이 탁월하여 “ 구름상(cloud-top phase) 밴드”라고 함\\ - 적외11채널의 중심파장은 8.7μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨 \\ - 8.7μm 밴드는 적외13채널(10.5μm)에 비해 수증기에 대한 흡수는 상대적으로 맋지맊 빙정에 대한 흡수는 적외13채널보다 적어서 다른 적외밴드들 간의 휘도온도 차이를 이용하여 구름의 상(phase), 구름 종류(type) 및 권운 탐지에 활용됨\\ - 또한 적외11채널은 하층 이산화 황(SO2)에 대한 흡수가 강해서 수증기10채널(7.3μm)과 함께 화산재 감시에 활용됨\\ - 적외11채널(8.7μm)는 다른 적외채널에 비해 토양 형태에 따른 지표면 방출율의 차이가 큼. 적외11채널은 사막에서의 방출율이 가장 낮기 때문에 황사 RGB 영상에 사용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_ir087_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.12. 적외채널(9.6μm) /약칭: 오존 /밴드 No.12 ====
{{천리안위성2a호_기본영상_단일채널_적외_9.6_오존__ir096_.pdf|적외_9.6_오존}}
{{적외채널_오존.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 적외12채널은 대기 중 오존에 의한 흡수가 가장 큰 영역에 해당되므로, “오존(O3)밴드” 라고 함\\ - 적외12채널의 중심파장은 9.6μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 오존 밴드는 적외13채널(10.5μm)보다 수증기와 오존에 의한 흡수가 크기 때문에 주로 대류권계면 부근의 대기역학 (대류권계면 접힘 및 이와 관련된 청천 난류, 윈드시어 등) 정보를 제공함\\ - 적외12채널은 단독으로는 총오존량 정보를 제공할 수 없고 다른 채널 함께 사용하여 총오존량, 연직 프로파일, 기단 RGB 영상 등에 활용됨\\ - 적외12채널(9.6μm)는 적외채널 중에서 위성의 천정각이 커질수록 냉각효과가 가장 크게 일어남|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_ir096_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.13. 적외채널(10.5μm) /약칭: 깨끗한 대기창 /밴드 No.13 ====
{{천리안위성2a호_기본영상_단일채널_적외_10.5_깨끗한대기창__ir105_.pdf|적외_10.5_깨끗한대기창}}
{{적외채널_깨끗한대기창.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 적외13채널은 대기창 영역에 속하는 4개 밴드 중 하나로 대기 중 수증기에 의한 흡수효과가 가장 적기 때문에 “깨끗한 대기창(Clean Window)” 밴드라고 함 \\ - 적외13채널의 중심파장은 10.5μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 적외13채널은 천리안위성의 적외 1채널에 상응하며 물체의 온도에 따라 따뜻할수록(고도가 낮을수록) 검은색, 차가운 물체(고도가 높을수록) 하얗게 표현됨\\ - 주야간 구름의 발달/이동, 구름/대기 특성 구분, 위험기상감시, 열대저기압 분석 등에 주로 활용됨\\ - 또한 대기의 영향이 가장 적은 밴드이기 때문에 운정온도/운정고도, 구름분류, 대기운동벡터, 지표면온도, 해수면온도 등의 이차 산출물이나 RGB 영상 및 채널차 영상의 기본 채널로 많이 활용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_ir105_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.14. 적외채널(11.2μm) /약칭: 대기창 /밴드 No.14 ====
{{천리안위성2a호_기본영상_단일채널_적외_11.2_대기창__ir112_.pdf|적외_11.2_대기창}}
{{적외채널_대기창.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 적외14채널은 대기창 영역에 속하는 4개 밴드 중 하나로 “대기창” 밴드라고 함\\ - 적외14채널의 중심파장은 11.2μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 적외14채널 영상은 적외13채널 영상처럼 온도가 높을수록 검은색, 온도가 낮을수록 하얀색으로 표출됨\\ - 적외14채널 영상은 적외13채널 영상과 거의 유사한 붂포를 보이지만, 적외13채널보다 수증기 흡수로 인한 냉각효과로 온도가 조금 낮게 탐지됨. 냉각정도는 수증기량의 차이에 의존함\\ - 주야간 구름의 발달/이동, 구름/대기 특성 구붂 및 구름정보, 구름붂류, 지표면온도, 해수면온도, 강수 등의 산출물 생산과 RGB 영상, 채널차 영상 등에 활용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_ir112_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.15. 적외채널(12.3μm) /약칭: 오염된 대기창 /밴드 No.15 ====
{{천리안위성2a호_기본영상_단일채널_적외_12.3_오염된대기창__ir123_.pdf|적외_12.3_오염된대기창}}
{{적외채널_오염된대기창.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 적외15채널은 대기창 영역 중 하층 수증기의 흡수가 다른 대기창 밴드에 비해 상대적으로 가장 큰 영역에 속하기 때문에 “오염된 대기창(Dirty window)” 밴드라고 함\\ - 적외15채널의 중심파장은 12.3μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨\\ - 적외15채널영상은 밴드13이나 14영상과 같이 차가울수록 하얗게, 따뜻할수록 검게 표출되지만, 수증기의 양이 많아질수록 적외13채널이나 14와의 차이가 더 커짐\\ - 따라서 대기 현상을 감시할 때는 오염된 밴드(15, 12.3μm)보다는 깨끗한 대기창 밴드(10.5μm)를 더 많이 사용함\\ - 적외13채널(10.5μm)은 대기 중에 황사나 화산재 등이 부유해 있을 때 적외15채널(12.3μm)보다 방출율이 적기 때문에 적외13채널의 휘도온도가 적외15채널의 휘도온도 보다 낮아짐. 이 두 채널간의 차이를 이용해 황사/화산재 탐지에 활용함 |
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_ir123_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
==== 3.16. 적외채널(13.3μm) /약칭: 이산화탄소 /밴드 No.16 ====
{{천리안위성2a호_기본영상_단일채널_적외_13.3_이산화탄소__ir133_.pdf|적외_13.3_이산화탄소}}
{{적외채널_이산화탄소.png?nolink}}
^자료설명|- 천리안위성 2A호 기상탑재체(AMI)의 적외16채널은 수증기의 흡수와 함께 이산화탄소(CO2)에 대한 흡수가 강하기 때문에, “이산화탄소(CO2) 밴드라고 함\\ - 적외16채널의 중심파장은 13.3μm이고, 공간해상도는 2.0km이며, 주간/야간 모두 관측됨. \\ - 적외16채널에서 탐지되는 온도는 수증기와 함께 이산화탄소에 의해 흡수되기 때문에 맑은 날 지표면의 온도조차도 다른 적외밴드 보다 낮게 관측됨. CO2 에 의한 흡수효과는 천정각이 클수록, 즉 지구 가장자리(Limb 지역)일수록 큼\\ - 적외16채널(13.3μm)은 날씨 감시에 사용되기 보다는 대류권계면 구분, 욲정고도/기압/온도 탐지, 대기욲동벡터의 고도할당, 연직온습도, 가강수량 산출, 화산재 탐지 등의 기본 입력자료로 사용됨.\\- 적외16채널(13.3μm)은 지표 특성을 완화시키기 때문에 상층의 특징을 강조하는 RGB 합성영상 생산에 사용됨|
^영역|전구(FD), 확장국지(ELA), 국지(LA), 동아시아(EA), 한반도(KO), 태풍감시(TP)|
^생산주기|전구, 동아시아, 태풍감시: 10분\\ 확장국지, 국지, 한반도: 2분|
^공간해상도|2km|
^도법|전구, 국지: GEOS\\ 확장국지, 동아시아, 한반도, 태풍감시: LCC|
^파일명|gk2a_ami_le1b_ir133_{영역‧해상도‧도법}_{yyyymmddhhmi}.nc|
===== 4. 검색 및 획득 =====
==== 4.1. 검색·획득 – 기상자료개방포털 ====
=== 4.1.1. 자료 접근 ===
* 사이트 : 기상자료개방포털 (data.kma.go.kr)
* 메뉴 : 데이터 -> 기상위성 -> 천리안위성 2A호
=== 4.1.2. 자료 검색 ===
* 조건 : 자료형태, 자료구분, 기간, 요소
==== 4.2. 검색·획득 - 기상청 API허브 ====
=== 4.2.1. 자료 접근 ===
* 사이트 : 기상청 API허브 (apihub.kma.go.kr)
* 메뉴 : 위성 -> 천리안 위성 2A호
=== 4.2.2. 자료 다운로드 ===
* 절차: 회원가입 및 로그인 -> API 메뉴 이동 -> API 활용신청 -> API호출
* 호출 방법: {{기상청 API허브_사용_안내서.pdf}}
{{api_호출방법.png?nolink}}
===== 5. 활용방안 =====
소스코드: {{ :기상위성:정지궤도기상위성:gk2a_l1b.ipynb |}}
==== 5.1. 라이브러리 설치 ====
# API 요청을 위한 requests 라이브러리와
# netCDF4 포맷 파일을 읽기 위한 netCDF4 라이브러리,
# 분포도 표출을 위한 matplotlib 라이브러리와
# 한반도 지형 표출을 위한 geopandas 라이브러리를 설치합니다.
%pip install requests netCDF4 matplotlib geopandas
==== 5.2. 천리안위성 2A호 기본관측자료(L1B) 다운로드 ====
기상청 API허브에 회원가입 후 자신의 인증키를 사용하여 API 요청을 할 수 있습니다.
API 인증키를 코드상에 직접 남겨 사용하는 방식은 다른 사람에게 코드를 공유할때 인증키가 노출되는 문제가 생길 수 있습니다.
따라서 인증키를 환경변수로 등록하여 코드상에 노출되지 않도록 사용하는 것이 바람직합니다.
import os # 환경변수를 불러오는 표준 라이브러리
# 바람직하지 않은 방법
# my_api_key = 'MY_PRIVATE_API_AUTHENTICATE_KEY'
# 인증키를 'myapikey'라는 이름의 환경변수로 미리 등록해놓은 뒤 이를 불러와서 사용합니다.
my_api_key = os.environ['myapikey']
import requests # API 요청을 보내고 받는 라이브러리
# 시간을 다루는 파이썬 기본 패키지
from datetime import datetime, timezone, timedelta
# 천리안위성 2A호 파일 다운로드 API url
api_url = 'https://apihub.kma.go.kr/api/typ01/url/sat_file_down2.php'
# 요청인자로 자료 형태, 관측 시간, 레벨, 채널번호 및 산출물 종류, 영역, 도법이 있습니다.
# 1. 자료 형태를 입력합니다.
# 이진파일(bin)과 이미지(img)를 입력할 수 있습니다.
data_type = 'bin'
# 2. 관측 시간을 년월일시분(UTC)으로 입력합니다.
# 자료의 기준시간이 UTC이므로 대한민국 시간(KST)의 9시간 전이 UTC 시간이 됩니다.
# 여기선 KST기준으로 값을 입력하고 UTC로 변환하는 과정을 거칩니다.
# 이후 입력할 영역에 따라 전 지구영역의 경우 10분 간격으로,
# 아시아/태평양 지역과 한반도의 경우 2분 간격으로 입력할 수 있습니다.
# 이때, 가시영역의 채널의 경우 낮 시간대로 설정해야 영상을 확인할 수 있습니다.
kst_time = '202404011200'
# 입력한 대한민국 시간으로부터 9시간 전인 UTC 시간을 계산합니다.
# 문자로 입력한 시간을 datetime으로 변환하고 시간대를 변환한 뒤, 다시 문자열로 변환합니다.
utc_time = datetime.strptime(
kst_time, '%Y%m%d%H%M'
).replace(
tzinfo=timezone(timedelta(hours=9))
).astimezone(
timezone.utc
).strftime(
'%Y%m%d%H%M'
)
# 3. 자료의 레벨을 입력합니다.
# 레벨의 경우 기본관측자료(L1B), 기상산출물(L2)을 입력할 수 있습니다.
level = 'L1B'
# 4. 레벨에 따른 채널번호 및 산출물 종류를 입력합니다.
# 레벨 L1B의 경우, 16개의 관측 채널 중 하나를 입력할 수 있습니다.
# 가시영역의 채널의 경우, VI004(파랑), VI005(초록), VI006(빨강), VI008(식생)이 존재합니다.
# 파랑의 경우 지표 및 해안 에어로솔,
# 초록은 안개, 연무 탐지 및 트루컬러 합성,
# 빨강은 구름, 안개, 일사량,
# 식생은 구름, 안개, 일사량 관측에 사용되며
# 빨강, 초록, 파랑을 합쳐 트루컬러로 표출할 수 있습니다.
channel = 'VI004'
# 5. 자료가 나타내는 영역을 입력합니다.
# 영역의 경우 전구(FD), 동아시아(EA, ELA), 한반도(KO), 지역관측(LA), 태풍(TP)을 선택할 수 있습니다.
area = 'KO'
# 6. 자료에 투영된 도법을 입력합니다.
# 도법의 경우 한반도 영역의 경우 Lambert Conic(LC) 도법을 사용합니다.
projection = 'LC'
# API 요청인자들을 묶어 dictionary로 정의합니다.
# 이때, 각 인자는 소문자로 입력하는 것에 유의합니다.
api_parameters = {
'typ': data_type,
'tm': utc_time,
'lvl': level.lower(),
'chn': channel.lower(),
'are': area.lower(),
'map': projection.lower(),
'authKey': my_api_key
}
파일의 명명규칙과 설명은 다음과 같습니다.
**gk2a_ami_le1b_BAND_scnRESpr_yyyymmddhhmn.nc**
* gk2a - 천리안위성 2A호(GEO-KOMPSAT-2A:GEOstationary KOrea Multi-Purpose SATellite-2A)
* ami - 고성능 기상센서(Advanced Meteorological Imager)
* le1b - 원시자료(Raw data)에서 분해(LV0), 복사보정(LV1A), 기하보정(LV1B)의 절차를 거친 전처리된 자료(이후 기상요소를 산출하는 LV2 과정)
* BAND - 기본관측자료별 채널과 파장( 예 - VI004는 16개 관측 채널중 첫 번째 채널인 가시영역(파랑) 채널로 파장대는 0.470㎛를 사용합니다.)
* scn - 관측 영역으로 전구 영역(Full Disk), 확장 국지 영역(Extended Local Area), 국지 영역(Local Area), 한반도 영역(KOrea) 등이 있습니다.
* RES - 공간 해상도로 100m를 단위로 세 자리로 표현합니다. (0.5km -> 005, 1km -> 010, 2km -> 020)
* pr - 도법으로 GEOS(ge), Lambert Conformal Conic(lc) 두 가지가 존재합니다.
* yyyymmddhhmn - 관측 시간으로 UTC 시간을 기준으로 합니다.
# 각 레벨별, 채널별 파일 명명법을 정의한 dictionary
params_to_filename = {
# 레벨별 명명법
'L1B': 'le1b',
'L2': 'le2',
# 채널별 해상도
'VI004': '010',
'VI005': '010',
'VI006': '005',
'VI008': '010',
'NR013': '020',
'NR016': '020',
'SW038': '020',
'WV063': '020',
'WV069': '020',
'WV073': '020',
'IR087': '020',
'IR096': '020',
'IR105': '020',
'IR112': '020',
'IR123': '020',
'IR133': '020',
}
# 파일 이름은 명명규칙에 따라 정해지며 API 응답을 저장할 파일 형식은 netCDF4파일(nc)로 저장합니다.
file_name = (
f'gk2a_ami_{params_to_filename[level]}_{channel.lower()}_'
f'{area.lower()}{params_to_filename[channel]}{projection.lower()}_{utc_time}.nc'
)
# 저장된 파일이 없는 경우에만 API를 요청해 파일을 다운로드합니다.
if not os.path.exists(file_name):
# API 요청인자와 함께 API 요청
response = requests.get(api_url, params=api_parameters)
# 잘못된 응답을 받거나 짧은 에러메세지를 응답으로 받은 경우 에러 메세지 출력
if response.status_code != 200 or len(response.content) < 500:
raise requests.RequestException(
response.content.decode('euc-kr')
)
else:
# 그 외의 올바른 응답에 대해서만 파일로 저장합니다.
with open(file_name, 'wb') as f:
f.write(response.content)
print(f'{file_name} 파일 다운로드 완료')
//''gk2a_ami_le1b_vi004_ko010lc_202404010300.nc 파일 다운로드 완료''//
==== 5.3. 한반도 가시영상 표출 ====
가시영상을 트루컬러로 표출하기 위해 RGB 3개 채널의 파일을 다운로드 합니다. (VI004, VI005, VI006)
다운로드 받은 이진파일은 netCDF4 포맷이며 netCDF4 라이브러리를 통해 파일을 읽을 수 있습니다.
netCDF 포맷의 가장 큰 특징으로 파일 내에 데이터뿐만 아니라 데이터를 설명하는 관련 정보들도 함께 담겨있습니다.
import netCDF4 # netCDF4 파일을 읽기 위한 라이브러리
# 파일을 읽기모드로 열어 파일내의 관련 정보들을 출력합다.
with netCDF4.Dataset(file_name, mode='r', format='netcdf4') as ncfile:
print(ncfile)
root group (NETCDF4 data model, file format HDF5):
projection_type: lambert_conformal_conic
standard_parallel1: 30.0
standard_parallel2: 60.0
...
satellite_name: GK-2A
dimensions(sizes): dim_y(1800), dim_x(1800)
variables(dimensions): uint16 image_pixel_values(dim_y, dim_x)
groups:
관련 정보들 중 ''**projection_type**'', ''**standard_parallel1**'', ''**standard_parallel2**'', ''**origin_latitude**'', ''**central_meridian**'', ''**false_easting**'', ''**false_northing**''은 ''**Lambert Conic 도법**''에 관련된 정보인 것을 알 수 있습니다.
또, ''**channel_spatial_resolution**''이 공간해상도를 의미하는 것도 알 수 있습니다.
실제 데이터(variables)는 ''**image_pixel_values**''에 uint16형으로 저장되어 있으며 데이터의 차원(dimensions)은 ''**dim_y**''(1800), ''**dim_x**''(1800)로 정의되어 있습니다.
# 파일을 다시 읽기모드로 열어 파일 내의 관련 정보들을 변수에 저장합니다.
with netCDF4.Dataset(file_name) as ncfile:
# Lambert Conic 도법에 관련된 정보를 저장합니다.
lat_1 = ncfile.standard_parallel1
lat_2 = ncfile.standard_parallel2
lat_0 = ncfile.origin_latitude
lon_0 = ncfile.central_meridian
false_easting = ncfile.false_easting
false_northing = ncfile.false_northing
# 데이터의 공간해상도 정보를 저장합니다.
resolution = ncfile.pixel_size
# 격자 자료의 모서리 좌표 정보를 저장합니다.
lower_bottom_x = ncfile.lower_left_easting / resolution
lower_bottom_y = ncfile.lower_left_northing / resolution
upper_top_x = ncfile.upper_right_easting / resolution
upper_top_y = ncfile.upper_right_northing / resolution
# 실제데이터(variables)인 image_pixel_values 정보들을 출력합니다.
print(ncfile['image_pixel_values'])
uint16 image_pixel_values(dim_y, dim_x)
number_of_total_pixels: 3240000
average_pixel_value: 515.8856228070175
channel_name: VI004
max_pixel_value: 2044
min_pixel_value: 178
number_of_total_bits_per_pixel: 16
number_of_valid_bits_per_pixel: 11
unlimited dimensions:
current shape = (1800, 1800)
filling on, default _FillValue of 65535 used
관련 정보들 중 값이 가질 수 있는 최대값(''**max_pixel_value**''), 최소값(''**min_pixel_value**'')과 자료의 유효비트수(''**number_of_valid_bits_per_pixel**'')를 확인할 수 있습니다.
uint16 형의 16개 비트 수 중 유효비트가 아닌 앞의 2자리 비트는 데이터 품질 표식(''**Quality Flag**'')으로써
''**00**''은 좋은 품질을, ''**01**''은 조건에 따라 사용가능(conditionally usable),
''**10**''은 관측 영역 외부를, ''**11**''은 오류 존재를 의미합니다.
여기선 품질 표식 값에 상관없이 유효비트가 나타내는 값을 사용해 가시영상을 표출합니다.
각 채널의 값을 트루컬러로 합성하기 전, 각 값들은 0에서 1사이의 float 값들로 변환되어야 합니.
[[https://datasvc.nmsc.kma.go.kr/datasvc/html/base/cmm/selectPage.do?page=static.software|국가기상위성센터(NMSC)]]에서
[[https://datasvc.nmsc.kma.go.kr/homepage/json/base/bbs/selectAtchFile.do?attachFileUsq=40620&refTbUsq=201006|보정표(Calibration Table)]]를 이용해 각 채널의 값을 **''복사휘도(Radiance)''**와 **''알베도(Albedo)''**로 변환하여 사용할 수 있습니다.
보정표에서 명시한 각 가시영역 채널별 복사휘도, 알베도 변환 계수는 다음과 같습니다.
^ Channel ^ DN2Rad_Gain ^ DN2Rad_Offset ^ Rad. to Alb (c') ^
| VIS0.4 | 0.363545805215835 | -7.270904541015620 | 0.0015582450 |
| VIS0.5 | 0.343625485897064 | -6.872497558593750 | 0.0016595767 |
| VIS0.6 | 0.154856294393539 | -6.194244384765620 | 0.0019244840 |
| VIS0.8 | 0.045724172145128 | -3.657928466796870 | 0.0032723873 |
여기에선 각 채널의 값들을 복사휘도를 거쳐 알베도 값으로 변환하여 사용합니다.
import numpy as np # 배열을 다루는 라이브러리
# 파랑 채널의 배열을 파일로부터 읽어들입니다.
with netCDF4.Dataset(f'gk2a_ami_le1b_vi004_ko010lc_{utc_time}.nc') as ncfile:
valid_bits = ncfile['image_pixel_values'].number_of_valid_bits_per_pixel
arr_b = np.asarray(ncfile['image_pixel_values'])
# 유효비트수만 사용해 uint16에서 float64로 형변환하고, 복사 휘도를 거쳐 알베도로 변환합니다.
arr_b = np.bitwise_and(arr_b, (1 << valid_bits) - 1).astype(np.float64)
arr_b = ((0.363545805215835 * arr_b - 7.27090454101562) * 0.0015582450)
# 초록 채널의 배열을 파일로부터 읽어들입니다.
with netCDF4.Dataset(f'gk2a_ami_le1b_vi005_ko010lc_{utc_time}.nc') as ncfile:
valid_bits = ncfile['image_pixel_values'].number_of_valid_bits_per_pixel
arr_g = np.asarray(ncfile['image_pixel_values'])
# 유효비트수만 사용해 uint16에서 float64로 형변환하고, 복사 휘도를 거쳐 알베도로 변환합니다.
arr_g = np.bitwise_and(arr_g, (1 << valid_bits) - 1).astype(np.float64)
arr_g = ((0.343625485897064 * arr_g - 6.87249755859375) * 0.0016595767)
# 빨강 채널의 배열을 파일로부터 읽어들입니다.
# 빨강 채널은 다른 채널에 비해 공간해상도가 2배 세밀하므로
# 배열을 슬라이싱하여 다른 배열과의 크기를 맞추어 사용합니다.
with netCDF4.Dataset(f'gk2a_ami_le1b_vi006_ko005lc_{utc_time}.nc') as ncfile:
valid_bits = ncfile['image_pixel_values'].number_of_valid_bits_per_pixel
# 배열의 x, y 좌표를 두 칸씩 건너뛰어 슬라이싱합니다.
arr_r = np.asarray(ncfile['image_pixel_values'])[::2, ::2]
# 유효비트수만 사용해 uint16에서 float64로 형변환하고, 복사 휘도를 거쳐 알베도로 변환합니다.
arr_r = np.bitwise_and(arr_r, (1 << valid_bits) - 1).astype(np.float64)
arr_r = ((0.154856294393539 * arr_r - 6.19424438476562) * 0.0019244840)
마지막으로 위성 가시영상에서 지형의 경계를 명확히 표시하기 위해 국토지리정보원에서 제공하는 [[https://www.ngii.go.kr/other/file_down.do?sq=107951|대한민국주변도 shape 파일]]을 다운로드 받아 압축을 해제합니다.
import requests # API 요청을 보내고 받는 라이브러리
import zipfile # zip 압축 파일을 다루는 모듈
# 국토지리정보원의 대한민국주변도 shape 파일 다운로드 url
shp_url = 'https://www.ngii.go.kr/other/file_down.do?sq=107951'
# shape 파일은 압축파일 형태로 제공됩니다.
shape_file_name = 'korea_shp.zip'
extract_directory = 'korea_shape'
# shape 압축파일이 없는 경우에만 API를 요청해 파일을 다운로드합니다.
if not os.path.exists(shape_file_name):
# url에 대해 GET 요청을 보냅니다.
response = requests.get(shp_url)
# 받은 응답을 zip 파일 형태로 저장합니다.
with open(shape_file_name, 'wb') as f:
f.write(response.content)
print(f'{shape_file_name} 파일 다운로드 완료')
# 다운로드 받은 압축 파일을 korea_shape 폴더 아래에 압축 해제합니다.
with zipfile.ZipFile(shape_file_name, 'r') as zip_ref:
for file_info in zip_ref.infolist():
file_info.filename = file_info.filename.encode('cp437').decode('euc-kr')
zip_ref.extract(file_info, extract_directory)
''//korea_shp.zip 파일 다운로드 완료//''
import geopandas as gpd # shape 파일을 다루는 라이브러리
# 국가 경계를 구분한 shp파일은 ARD_NAION_AS으로
# 이 파일을 읽어 LCC 도법으로 변환합니다.
gdf = gpd.read_file(
os.path.join(extract_directory, 'ARD_NAION_AS.shp')
).to_crs(
f"+proj=lcc +lat_1={lat_1} +lat_2={lat_2} +lat_0={lat_0} +lon_0={lon_0} "
f"+x_0={false_easting} +y_0={false_northing} +ellps=WGS84 +units=m +no_defs"
)
# 1m 단위의 도법에서 위성 해상도 단위(1000m)에 맞춥니다.
gdf.geometry = gdf.geometry.scale(
xfact=1/resolution, yfact=1/resolution, zfact=1.0, origin=(0, 0)
)
import matplotlib.pyplot as plt # 이미지 표출에 사용되는 라이브러리
# (1800 x 1800) 크기의 단일 채널의 이미지를 rgb 순서로 합쳐
# (1800 x 1800 x 3)의 트루컬러로 합성합니다.
# 0-1 사이의 float64 값을 0-255 사이의 uint8로 형변환합니다.
img = (np.dstack([arr_r, arr_g, arr_b]) * 255).astype(np.uint8)
# 이미지를 그릴 크기를 지정합니다.
fig, ax = plt.subplots(1, 1, figsize=(10, 10))
# 이미지의 제목을 지정합니다.
ax.set_title(f"GK2A RGB {datetime.strptime(kst_time, '%Y%m%d%H%M')}(KST)")
# 국가간의 경계선을 노란색으로 그립니다.
gdf.boundary.plot(ax=ax, color='y', linewidth=0.5)
# 이미지를 해당 크기에 맞춰 그립니다.
ax.imshow(img, extent=[lower_bottom_x, upper_top_x, lower_bottom_y, upper_top_y])
# 그린 이미지를 표출합니다.
plt.show()
{{:기상위성:정지궤도기상위성:gk2a_rgb.png?nolink&600|}}