오스트레일리아 삼림 화재 위성 영상을 만들어 본 시간 라프스.

1. 앞말.


지금까지 유럽 인공위성 센티넬 시리즈가 제공한 무료 최신 관측 영상 획득 방법과 얻은 영상의 응용편인 시간 라프스의 제작 방법을 소개했다.
 
  최신 위성 이미지를 무료로 얻을 수 있는 방법.
API를 사용하여 인공위성(Sentinel-2)의 관측 이미지를 자동으로 가져옵니다.
이번에는 지난번 소개인공위성 영상을 무료로 제작하는 시간, 라프스.를 수정하여 1월 단위가 아니라 관측 시간마다 추가된gif애니메이션의 제작 방법을 소개합니다. 이때 일반적인 인공위성의 관측 영상이 아니라 그 응용편으로 화재에 초점을 맞춘 적외선 파장의 관측 영상의 영상 처리를 소개합니다.
여기서 만든 Gif 애니메이션의 예(해상도 감소)는 여기에 있습니다.

또 여기에 소개된 기사와 관련된 것도 주스에게 올라왔습니다. 가능하다면 함께 보십시오.
  [코드 있음] Sentinel-2의 위성 이미지에 따라 지정된 범위의 시간을 제작합니다
지난번 보도와 마찬가지로git도 이번 코드를 참고했습니다. 개인이 사용하는 범위 내에서 즐겨주십시오.
  RS_Sentinel2_timelapse_wildfire
이후 폭우로 호주의 화재가 진압됐다는 보고가 나왔다.
호주 시드니 30년 만의 폭우, 홍수 삼림 화재 진압

2. 화재 부위의 인공위성이 영상을 관측하는 시간을 더하는 제작 방법.


2.1 인공위성 Sentinel-2


Sentinel 시리즈는 유럽 우주기관이 개발하여 운용하는 지구 관측 시리즈로 이미 1부터 5까지 운용되었다.
이번에는 디지털카메라 이미지와 마찬가지로 광학 관측 이미지를 촬영한 센티넬-2의 위성 이미지를 얻어 영상 처리를 소개한다.

Sentinel-2 ©ESA 2000-2018.
Sentinel-2에 대한 관측 계획과 관측 이미지에 대한 상세한 상황은 참조최신 위성 이미지를 무료로 얻을 수 있는 방법..
Sentinel-2는 12개의 파장이 다른 파장의 이미지를 촬영했다.

(Credit: European Space Agency)
일반적인 위성 이미지(True color)라면 주파수 대역의 4, 3, 2를 R, G, B로 설정해서 만들 수 있다.
이번에 우리는 삼림화재에 초점을 맞추고 적외선 파장의 관측 영상을 이용하여 화재의 가시화를 시도할 것이다.
이번에는 아래의 보도를 참고했다.
How to use open source satellite data for your investigative reportingHow to use open source satellite data for your investigative reporting
브라우저를 통해 Copernicus가 제공하는 위성 이미지를 탐색하는 응용 프로그램인 "Eo browser"도 서로 다른 파장의 관측 이미지로 처리할 수 있습니다. 시도해 보십시오.

오스트레일리아 삼림화재 Sentinel-2 관측 영상(2019년 12월 31일 촬영)

2.2 관측할 때마다 이미지를 추가하는 방법


그러면 Sentinel-2의 관측 이미지를 만드는 시간.
Sentinel-2는 세계 여러 지역에 있습니다5일마다 관측.

(credit:European Space Agency)
따라서 지난번 시간 부호 중 관측 기간의 부분에 대해 다음과 같이 수정하였다.
#L2Aデータ取得のため,2019年1月以降を開始日とすること.
Begin_date = '20191201'
End_date = '2020210'

m = 5 # 5日間毎の画像を取得する.

#開始日と終了日の日差の数を求める.
import datetime
begin_data_s = datetime.datetime.strptime(Begin_date, '%Y%m%d') 
end_data_s = datetime.datetime.strptime(End_date, '%Y%m%d')
d_day = end_data_s - begin_data_s
n =d_day.days//m

#Sentinel-2の観測画像の取得.
for i in range(n):
    if i < 1:
        Begin_date = begin_data_s
        End_date = begin_data_s + datetime.timedelta(days=m)
        begin= Begin_date.strftime('%Y%m%d')
        end = End_date.strftime('%Y%m%d')
    else:
        Begin_date = End_date
        End_date = Begin_date + datetime.timedelta(days=m)
        begin= Begin_date.strftime('%Y%m%d')
        end = End_date.strftime('%Y%m%d')

    Sentinel2_get() #Sentinel-2の観測画像をAPIで取得する関数.

2.3 적외선 파장 관측 영상의 제작 방법.


얻은 Sentinel-2의 이미지 데이터에 근거하여 적외선 파장의 관측 이미지를 사용하여 화재에 초점을 맞춘 해석 이미지를 제작하였다.
    path = str(product_title) + '.SAFE/GRANULE'
    files = os.listdir(path)
    pathA = str(product_title) + '.SAFE/GRANULE/' + str(files[0])
    files2 = os.listdir(pathA)
    pathB = str(product_title) + '.SAFE/GRANULE/' + str(files[0]) +'/' + str(files2[1]) +'/R20m'
    files3 = os.listdir(pathB)


    path_b12 = str(product_title) + '.SAFE/GRANULE/' + str(files[0]) +'/' + str(files2[1]) +'/R20m/' +str(files3[0][0:23] +'B12_20m.jp2')
    path_b11 = str(product_title) + '.SAFE/GRANULE/' + str(files[0]) +'/' + str(files2[1]) +'/R20m/' +str(files3[0][0:23] +'B11_20m.jp2')
    path_b8 = str(product_title) + '.SAFE/GRANULE/' + str(files[0]) +'/' + str(files2[1]) +'/R20m/' +str(files3[0][0:23] +'B8A_20m.jp2')

    # Band4,3,2をR,G,Bとして開く.
    b8 = rio.open(path_b8)
    b12 = rio.open(path_b12)
    b11 = rio.open(path_b11)

상기에서 얻은 관측 이미지에 따라 주파수대 12, 11, 8A의 관측 이미지를 지정한다.
이때 2.1도 썼지만 이런 관측 초상화의 해상도가 20m가 되어 그곳의 주소를 만들고 있기 때문이다.
그리고 얻은 B12, B11, B8A의 관측 이미지를 각각 R, G, B로 컬러 합성한다.
    #RGBカラー合成(GeoTiffファイルの出力)
    with rio.open(str(object_name) +'.tiff','w',driver='Gtiff', width=b12.width, height=b12.height, 
              count=3,crs=b12.crs,transform=b12.transform, dtype=b12.dtypes[0]) as rgb:
        rgb.write(b12.read(1),1) 
        rgb.write(b11.read(1),2) 
        rgb.write(b8.read(1),3) 
        rgb.close()

여기서 만든 이미지는 tiff 파일입니다. 제작 후 QGIS 같은 GIS 소프트웨어로 해석하고 싶을 때 이 이미지를 사용합니다.
이후 관심 구역만 있는 tiff 이미지, tiff 이미지를 jpeg 이미지로 변환하여 다음과 같은 이미지를 만듭니다.

관심 구역의 설정이 정사각형이 아니기 때문에 주위에 검은색 부분이 형성되었다.
관측일의 기록이 덮여 있어서 좀 보기 싫습니다. 관측일의 기록지에 관해서는 코드로 위치를 바꾸어 보십시오.
희망 기간의 각 관측 이미지의 획득부터 컬러 합성 처리를 한 후 관측일에 따라 낡은 이미지의 순서에 따라gif애니메이션을 제작한다.

3. 끝말


이번에는 지난번 응용편으로 센티넬-2의 적외선 파장 관측 영상을 활용해 삼림 화재에 초점을 맞춘 시간 라프스의 애니메이션을 제작했다. 적외선 외에 다른 파장을 통해 삼림과 수원에 초점을 맞춘 영상도 제작할 수 있다.
과제에 따라 자유롭게 변하는가?혼합 위성 데이터로 볼 수 있는 것들·사#만화로 알 수 있는 위성 데이터
상기 보도된 이미지는 어떤 파장 조합으로 제작되었는지 웹 응용 프로그램인 Eobrowser에도 예가 있으니 참고하시기 바랍니다.
다음은 SAR위성 Sentinel-1의 관측 영상의 획득과 해석 사례를 소개하고 싶습니다.
만약 의견이나 의문이 있으면 메시지를 남겨 주세요.

추가 기록 (2020.2.17)


신종 관상바이러스의 감염이 지속적으로 확대되고 있는 중국 무한에 신설된 병원의 건설 상황을 인공위성으로 관찰하는 초상화를 구했다.

참고로 다음과 같은 기사, 특히 뉴욕 타임즈의 사진은 표현력의 높이와 호소력을 느꼈다.
신설 병원이 피감염자에 대한 치료가 감염 확대에 큰 효과가 있기를 바란다.
Wuhan Reacts To Coronavirus, The Taal Volcano Erupts And More
China Pledged to Build a New Hospital in 10 Days. It’s Close.

참고문


  최신 위성 이미지를 무료로 얻을 수 있는 방법.
API를 사용하여 인공위성(Sentinel-2)의 관측 이미지를 자동으로 가져옵니다.
[코드 있음] Sentinel-2의 위성 이미지에 따라 지정된 범위의 시간을 제작합니다
How to use open source satellite data for your investigative reportingHow to use open source satellite data for your investigative reporting
Revisit and Coverage of Sentinel-2

좋은 웹페이지 즐겨찾기