🗺️ GIS & RS/🛰️ RS (원격탐사)

[Google Earth Engine] Python에서 구글어스엔진 쓰기

김 홍시 2023. 5. 8.
반응형

Google Earth Engine (GEE)을 사용하여 Python 환경에서 Change Detection을 수행하려면 먼저 Google Earth Engine API를 설치하고 인증해야 합니다.

  1. Google Earth Engine API 설치:
    Python 환경에서 GEE를 사용하려면 먼저 Google Earth Engine Python API를 설치해야 합니다. 터미널이나 명령 프롬프트에서 다음 명령을 실행하세요.
pip install earthengine-api
  1. 인증:
    API를 설치한 후 Google Earth Engine 계정을 인증해야 합니다. 인증을 위해 다음 명령을 실행하세요.
import ee
ee.Authenticate()

웹 브라우저에서 열리는 페이지에서 로그인하고 인증 코드를 생성한 후 터미널이나 명령 프롬프트에 붙여넣으세요.

 

  1. Change Detection 수행:
    Google Earth Engine API를 사용하여 Python 환경에서 Change Detection을 수행하려면 다음 예제 코드를 참고하세요.
import ee

# Initialize the Earth Engine library.
ee.Initialize()

# Define the area of interest (geometry).
aoi = ee.Geometry.Rectangle([126.869, 37.522, 127.180, 37.658])

# Define the time range for change detection.
start_date = '2020-01-01'
end_date = '2020-12-31'

# Load Sentinel-2 data for the specified time range and area of interest.
sentinel2 = ee.ImageCollection("COPERNICUS/S2") \
    .filterDate(start_date, end_date) \
    .filterBounds(aoi) \
    .sort('CLOUD_COVER')

# Compute the median of the Sentinel-2 data.
median_image = sentinel2.median().clip(aoi)

# Define NDVI function.
def add_ndvi(image):
    ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI')
    return image.addBands(ndvi)

# Calculate NDVI for the median image.
median_ndvi = add_ndvi(median_image)

# Define threshold values for change detection.
threshold = 0.1

# Identify changes based on the threshold values.
change = median_ndvi.select('NDVI').subtract(median_ndvi.select('NDVI')).gt(threshold)

# Display the change detection results.
print(change.getInfo())

위 코드는 Sentinel-2 위성 데이터를 사용하여 특정 지역에서 NDVI 변화를 감지하는 예제입니다. 필요에 따라 영역, 날짜 범위, 위성 데이터, 지수 계산 및 임계값을 변경하여 다양한 상황에 맞게 변경 감지를 수행할 수 있습니다.

반응형

댓글