เริ่มต้นใช้งาน Earth Engine สําหรับ Python

การเริ่มต้นใช้งานอย่างรวดเร็วนี้จะแนะนำคุณเกี่ยวกับการแสดงภาพและการวิเคราะห์ข้อมูลเชิงพื้นที่ด้วยอินเทอร์เฟซ Python ของ Earth Engine

ก่อนเริ่มต้น

ลงทะเบียนหรือสร้างโปรเจ็กต์ Google Cloud ระบบจะแจ้งให้คุณทำตามขั้นตอนต่อไปนี้ หากคุณมีโปรเจ็กต์ที่ลงทะเบียนเพื่อเข้าถึง Earth Engine อยู่แล้ว ให้ข้ามไปยังส่วนถัดไป

  • เลือกวัตถุประสงค์ของโปรเจ็กต์ว่าเป็นแบบเชิงพาณิชย์หรือไม่เชิงพาณิชย์
  • หากวัตถุประสงค์ไม่ใช่เชิงพาณิชย์ ให้เลือกประเภทโปรเจ็กต์
  • สร้างโปรเจ็กต์ Google Cloud ใหม่หรือเลือกโปรเจ็กต์ที่มีอยู่
  • หากวัตถุประสงค์เป็นแบบเชิงพาณิชย์ ให้ยืนยันหรือตั้งค่าการเรียกเก็บเงินสำหรับโปรเจ็กต์
  • ยืนยันข้อมูลโปรเจ็กต์

    หมายเหตุ: หากไม่ต้องการเก็บทรัพยากรที่สร้างขึ้นในขั้นตอนนี้ ให้สร้างโปรเจ็กต์แทนการเลือกโปรเจ็กต์ที่มีอยู่ หลังจากทำตามขั้นตอนเหล่านี้แล้ว คุณจะลบโปรเจ็กต์ซึ่งเป็นการนำทรัพยากรทั้งหมดที่โปรเจ็กต์เป็นเจ้าของออกได้

การตั้งค่าสมุดบันทึก

สมุดบันทึก Jupyter ช่วยให้คุณใช้ Earth Engine และสำรวจผลลัพธ์แบบอินเทอร์แอกทีฟได้ วิธีที่เร็วที่สุดในการเริ่มต้นคือการใช้โน้ตบุ๊กใน Google Colab Notebook คุณสามารถเปิดสมุดบันทึกใหม่แล้วคัดลอกโค้ดต่อไปนี้ไปยังเซลล์แต่ละเซลล์ หรือจะใช้สมุดบันทึกเริ่มต้นใช้งาน Python ของ Earth Engine ที่กรอกข้อมูลไว้ล่วงหน้าก็ได้
  1. นําเข้าไลบรารี Earth Engine และ geemap
    import ee
    import geemap.core as geemap

  1. ตรวจสอบสิทธิ์และเริ่มต้นบริการ Earth Engine ทำตามข้อความแจ้งที่ปรากฏขึ้นเพื่อตรวจสอบสิทธิ์ให้เสร็จสมบูรณ์ อย่าลืมแทนที่ PROJECT_ID ด้วยชื่อโปรเจ็กต์ที่คุณตั้งค่าไว้สําหรับการเริ่มต้นใช้งานอย่างรวดเร็วนี้
    ee.Authenticate()
    ee.Initialize(project='PROJECT_ID')

เพิ่มข้อมูลแรสเตอร์ลงในแผนที่

  1. โหลดข้อมูลสภาพอากาศของระยะเวลาหนึ่งๆ และแสดงข้อมูลเมตา
    jan_2023_climate = (
        ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR')
        .filterDate('2023-01', '2023-02')
        .first()
    )
    jan_2023_climate

  1. สร้างออบเจ็กต์แผนที่และเพิ่มแถบอุณหภูมิเป็นเลเยอร์ที่มีพร็อพเพอร์ตี้การแสดงภาพเฉพาะ แสดงแผนที่
    m = geemap.Map(center=[30, 0], zoom=2)
    
    vis_params = {
        'bands': ['temperature_2m'],
        'min': 229,
        'max': 304,
        'palette': 'inferno',
    }
    m.add_layer(jan_2023_climate, vis_params, 'Temperature (K)')
    m

เพิ่มข้อมูลเวกเตอร์ลงในแผนที่

  1. สร้างออบเจ็กต์ข้อมูลเวกเตอร์ที่มีจุดสำหรับ 3 เมือง
    cities = ee.FeatureCollection([
        ee.Feature(ee.Geometry.Point(10.75, 59.91), {'city': 'Oslo'}),
        ee.Feature(ee.Geometry.Point(-118.24, 34.05), {'city': 'Los Angeles'}),
        ee.Feature(ee.Geometry.Point(103.83, 1.33), {'city': 'Singapore'}),
    ])
    cities
  1. เพิ่มสถานที่ตั้งของเมืองลงในแผนที่และแสดงแผนที่อีกครั้ง
    m.add_layer(cities, name='Cities')
    m

ดึงข้อมูลและสร้างแผนภูมิ

  1. นําเข้าไลบรารีแผนภูมิ Altair
    %pip install -q --upgrade altair
    import altair as alt

  1. ดึงข้อมูลสภาพอากาศของ 3 เมืองเป็น Pandas DataFrame
    city_climates = jan_2023_climate.reduceRegions(cities, ee.Reducer.first())
    
    city_climates_dataframe = ee.data.computeFeatures(
        {'expression': city_climates, 'fileFormat': 'PANDAS_DATAFRAME'}
    )
    city_climates_dataframe
  1. แสดงอุณหภูมิของเมืองเป็นแผนภูมิแท่ง
    alt.Chart(city_climates_dataframe).mark_bar(size=100).encode(
        alt.X('city:N', sort='y', axis=alt.Axis(labelAngle=0), title='City'),
        alt.Y('temperature_2m:Q', title='Temperature (K)'),
        tooltip=[
            alt.Tooltip('city:N', title='City'),
            alt.Tooltip('temperature_2m:Q', title='Temperature (K)'),
        ],
    ).properties(title='January 2023 temperature for selected cities', width=500)

ขั้นตอนถัดไป