REMOTE SENSING

Earth Engine & Geemap: Landsat Timelapse 생성

유병혁 2023. 8. 6. 08:24

안녕하세요? 이번 글은 Google Earth Enginegeemap을 사용하여 Landsat Timelapse를 생성해 보도록 하겠습니다. 실습 코드 출처는 아래 링크를 참고하시면 되겠습니다.

 

GEE Workshop 2022 Part1 - geemap

import ee import geemap geemap.ee_initialize() # Define an area of interest geometry with a global non-polar extent. aoi = ee.Geometry.Polygon( [[[-179.0, 78.0], [-179.0, -58.0], [179.0, -58.0], [179.0, 78.0]]], None, False ) # Import hourly predicted temp

geemap.org

일단, ee와 geemap 모듈을 가져오고, Earth Engine을 초기화하는 작업을 수행합니다.

import ee
import geemap
# Earth Engine 초기화
ee.Initialize()

geemap 라이브러리에서 Map 클래스를 사용하여 빈 지도를 변수 Map에 할당합니다.

Map = geemap.Map()

관심 영역을 설정합니다. 여기서는 변산반도국립공원 경계로 지정하겠습니다.

roi = Map.user_roi
if roi is None:
    roi = ee.FeatureCollection("WCMC/WDPA/current/polygons") \
        .filter(ee.Filter.eq("NAME", "Byeonsanbando")) \
        .geometry().bounds()

Map.addLayer(roi)
Map.centerObject(roi, 12)
Map

Jupyter Notebook에서 Landsat Timelapse를 가시화하기 위해 ffmpeg-python(https://pypi.org/project/ffmpeg-python/)를 설치하겠습니다.

!pip install ffmpeg-python -q

Google Earth Engine(GEE)에서 Landsat 영상 데이터를 가져와 지정한 기간 동안의 타입랩스를 생성합니다. 여기서는 변산반도국립공원 영역을 대상으로 1984년 1월 1일부터 2022년 12월 31일까지 기간을 지정해 봤습니다. 생성된 타임랩스는 GIF 형식 파일로 저장할 수 있습니다. 

timelapse = geemap.landsat_timelapse(
    roi,
    out_gif='landsat.gif',
    start_year=1984,
    end_year=2022,
    start_date='01-01',
    end_date='12-31',
    bands=['SWIR1', 'NIR', 'Red'],
    frames_per_second=5,
    title='Landsat Timelapse',
    progress_bar_color='blue',
    mp4=True,
)
geemap.show_image(timelapse)

1914_geemap_Landsat Timelapse 생성.ipynb
0.00MB