Bắt đầu sử dụng Earth Engine cho Python
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Phần bắt đầu nhanh này sẽ giới thiệu cho bạn cách trực quan hoá và phân tích dữ liệu không gian địa lý bằng giao diện Python của Earth Engine.
Trước khi bắt đầu
Đăng ký hoặc tạo Dự án Google Cloud; bạn sẽ được nhắc hoàn tất các bước sau. Nếu bạn đã đăng ký một dự án để sử dụng Earth Engine, hãy chuyển sang phần tiếp theo.
- Chọn mục đích của dự án: thương mại hoặc phi thương mại.
- Nếu mục đích không phải vì mục đích thương mại, hãy chọn một loại dự án.
- Tạo dự án Google Cloud mới hoặc chọn một dự án hiện có.
- Nếu mục đích là thương mại, hãy xác minh hoặc thiết lập thông tin thanh toán cho dự án của bạn.
- Xác nhận thông tin dự án của bạn.
Lưu ý: Nếu bạn không định giữ lại các tài nguyên mà bạn tạo trong quy trình này, hãy tạo một dự án thay vì chọn một dự án hiện có. Sau khi hoàn tất các bước này, bạn có thể xoá dự án, xoá tất cả tài nguyên thuộc sở hữu của dự án.
Thiết lập sổ tay
Sổ tay Jupyter cho phép bạn sử dụng Earth Engine và khám phá kết quả một cách tương tác. Cách nhanh nhất để bắt đầu là sử dụng một sổ tay trong sổ tay Google Colab. Bạn có thể
mở một sổ tay mới và sao chép các đoạn mã sau vào từng ô hoặc sử dụng
sổ tay Khởi động nhanh Python cho Earth Engine được điền sẵn.
- Nhập thư viện Earth Engine và geemap.
import ee
import geemap.core as geemap
- Xác thực và khởi chạy dịch vụ Earth Engine. Làm theo các lời nhắc xuất hiện để hoàn tất quy trình xác thực. Hãy nhớ thay thế PROJECT_ID bằng tên của dự án mà bạn đã thiết lập cho phần hướng dẫn nhanh này.
ee.Authenticate()
ee.Initialize(project='PROJECT_ID')
Thêm dữ liệu đường quét vào bản đồ
- Tải dữ liệu khí hậu cho một khoảng thời gian nhất định và hiển thị siêu dữ liệu của dữ liệu đó.
jan_2023_climate = (
ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR')
.filterDate('2023-01', '2023-02')
.first()
)
jan_2023_climate
- Tạo bản sao đối tượng bản đồ và thêm dải nhiệt độ dưới dạng một lớp có các thuộc tính trực quan cụ thể. Hiển thị bản đồ.
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
Thêm dữ liệu vectơ vào bản đồ
- Tạo một đối tượng dữ liệu vectơ có các điểm cho ba thành phố.
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
- Thêm vị trí thành phố vào bản đồ và hiển thị lại.
m.add_layer(cities, name='Cities')
m
Trích xuất và lập biểu đồ dữ liệu
- Nhập thư viện lập biểu đồ Altair.
%pip install -q --upgrade altair
import altair as alt
- Trích xuất dữ liệu khí hậu cho 3 thành phố dưới dạng DataFrame của pandas.
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
- Vẽ nhiệt độ của các thành phố dưới dạng biểu đồ thanh.
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)
Bước tiếp theo
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eThis quickstart provides an interactive introduction to visualizing and analyzing geospatial data using the Earth Engine Python interface within a Jupyter notebook environment like Google Colab.\u003c/p\u003e\n"],["\u003cp\u003eUsers will learn to add both raster and vector data to an interactive map, visualizing climate data and city locations as examples.\u003c/p\u003e\n"],["\u003cp\u003eThe guide demonstrates data extraction and charting by retrieving climate data for specific cities and creating a bar chart using the Altair library.\u003c/p\u003e\n"],["\u003cp\u003eBefore starting, users need a Google Cloud Project registered for Earth Engine access, and the quickstart provides instructions for setting one up.\u003c/p\u003e\n"],["\u003cp\u003eFurther learning resources on Earth Engine objects, processing environments, machine learning capabilities, and data export to BigQuery are linked at the end.\u003c/p\u003e\n"]]],[],null,["# Get started with Earth Engine for Python\n\n|----------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|\n| [Run in Google Colab](https://colab.research.google.com/github/google/earthengine-community/blob/master/guides/linked/generated/quickstart_python.ipynb) | [View source on GitHub](https://github.com/google/earthengine-community/blob/master/guides/linked/generated/quickstart_python.ipynb) |\n\nThis quickstart will give you an interactive introduction to visualizing and\nanalyzing geospatial data with the Earth Engine Python interface.\n\nBefore you begin\n----------------\n\n\n[Register or create](https://console.cloud.google.com/earth-engine) a Google Cloud\nProject; you'll be prompted to complete the following steps. If you already have a project\nregistered for Earth Engine access, skip to the next section.\n\n- Select the project's purpose: commercial or noncommercial.\n- If the purpose is noncommercial, select a project type.\n- Create a new Google Cloud project or select an existing project.\n- If the purpose is commercial, verify or set up billing for your project.\n- Confirm your project information. \n\n **Note:** If you don't plan to keep the resources that you create\n in this procedure, create a project instead of selecting an existing project. After you finish\n these steps, you can\n [delete the project](https://cloud.google.com/resource-manager/docs/creating-managing-projects#shutting_down_projects),\n removing all resources owned by the project.\n\nNotebook setup\n--------------\n\nJupyter notebooks allow you to use Earth Engine and explore results interactively. The quickest way to get started is with a notebook in Google Colab notebook. You can either [**open a new notebook**](https://colab.new/) and copy the following code chunks into individual cells or use the prefilled [**Earth Engine Python Quickstart notebook**](https://colab.sandbox.google.com/github/google/earthengine-community/blob/master/guides/linked/generated/quickstart_python.ipynb).\n\n1. Import the Earth Engine and geemap libraries. \n\n ```python\n import ee\n import geemap.core as geemap\n ```\n\n\n2. Authenticate and initialize the Earth Engine service. Follow the resulting prompts to complete authentication. Be sure to replace PROJECT_ID with the name of the project you set up for this quickstart. \n\n ```python\n ee.Authenticate()\n ee.Initialize(project='PROJECT_ID')\n ```\n\nAdd raster data to a map\n------------------------\n\n\n1. Load climate data for a given period and display its metadata. \n\n ```python\n jan_2023_climate = (\n ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR')\n .filterDate('2023-01', '2023-02')\n .first()\n )\n jan_2023_climate\n ```\n\n\n2. Instantiate a map object and add the temperature band as a layer with specific visualization properties. Display the map. \n\n ```python\n m = geemap.Map(center=[30, 0], zoom=2)\n\n vis_params = {\n 'bands': ['temperature_2m'],\n 'min': 229,\n 'max': 304,\n 'palette': 'inferno',\n }\n m.add_layer(jan_2023_climate, vis_params, 'Temperature (K)')\n m\n ```\n\nAdd vector data to a map\n------------------------\n\n1. Create a vector data object with points for three cities. \n\n ```python\n cities = ee.FeatureCollection([\n ee.Feature(ee.Geometry.Point(10.75, 59.91), {'city': 'Oslo'}),\n ee.Feature(ee.Geometry.Point(-118.24, 34.05), {'city': 'Los Angeles'}),\n ee.Feature(ee.Geometry.Point(103.83, 1.33), {'city': 'Singapore'}),\n ])\n cities\n ```\n\n\u003c!-- --\u003e\n\n2. Add the city locations to the map and redisplay it. \n\n ```python\n m.add_layer(cities, name='Cities')\n m\n ```\n\nExtract and chart data\n----------------------\n\n1. Import the Altair charting library. \n\n ```python\n %pip install -q --upgrade altair\n import altair as alt\n ```\n\n\n2. Extract the climate data for the three cities as a pandas DataFrame. \n\n ```python\n city_climates = jan_2023_climate.reduceRegions(cities, ee.Reducer.first())\n\n city_climates_dataframe = ee.data.computeFeatures(\n {'expression': city_climates, 'fileFormat': 'PANDAS_DATAFRAME'}\n )\n city_climates_dataframe\n ```\n\n\u003c!-- --\u003e\n\n3. Plot the temperature for the cities as a bar chart. \n\n ```python\n alt.Chart(city_climates_dataframe).mark_bar(size=100).encode(\n alt.X('city:N', sort='y', axis=alt.Axis(labelAngle=0), title='City'),\n alt.Y('temperature_2m:Q', title='Temperature (K)'),\n tooltip=[\n alt.Tooltip('city:N', title='City'),\n alt.Tooltip('temperature_2m:Q', title='Temperature (K)'),\n ],\n ).properties(title='January 2023 temperature for selected cities', width=500)\n ```\n\nWhat's next\n-----------\n\n- Learn about analyzing data with Earth Engine's [objects and methods](/earth-engine/guides/objects_methods_overview).\n- Learn about Earth Engine's [processing environments](/earth-engine/guides/processing_environments).\n- Learn about Earth Engine's [machine learning capabilities](/earth-engine/guides/machine-learning).\n- Learn how to [export your computation results to BigQuery](/earth-engine/guides/exporting_to_bigquery)."]]