公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.ImageCollection.getRegion
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
针对 ImageCollection 中的每个 [像素、波段、影像] 元组,输出一个值数组。输出包含多行数据,每行数据对应于指定区域中与每个像素相交的每个图像的 ID、经度、纬度、时间和所有波段。尝试提取超过 1048576 个值会导致错误。
用法 | 返回 |
---|
ImageCollection.getRegion(geometry, scale, crs, crsTransform) | 列表 |
参数 | 类型 | 详细信息 |
---|
此:collection | ImageCollection | 要从中提取数据的影像集合。 |
geometry | 几何图形 | 要提取数据的区域。 |
scale | 浮点数,默认值:null | 要使用的投影的标称比例(以米为单位)。 |
crs | 投影,可选 | 要使用的投影。如果未指定,则默认为 EPSG:4326。如果除了比例之外还指定了其他值,则投影会重新缩放到指定的比例。 |
crsTransform | 列表,默认值:null | CRS 转换值数组。这是 3x2 仿射转换的行优先顺序。此选项与缩放选项互斥,并将替换给定投影上已设置的所有转换。 |
示例
代码编辑器 (JavaScript)
// A Landsat 8 TOA image collection (3 months at a specific point, RGB bands).
var col = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterBounds(ee.Geometry.Point(-90.70, 34.71))
.filterDate('2020-07-01', '2020-10-01')
.select('B[2-4]');
print('Collection', col);
// Define a region to get pixel values for. This is a small rectangle region
// that intersects 2 image pixels at 30-meter scale.
var roi = ee.Geometry.BBox(-90.496353, 34.851971, -90.495749, 34.852197);
// Display the region of interest overlaid on an image representative. Note
// the ROI intersection with 2 pixels.
var visParams = {
bands: ['B4', 'B3', 'B2'],
min: 0.128,
max: 0.163
};
Map.setCenter(-90.49605, 34.85211, 19);
Map.addLayer(col.first(), visParams, 'Image representative');
Map.addLayer(roi, {color: 'white'}, 'ROI');
// Fetch pixel-level information from all images in the collection for the
// pixels intersecting the ROI.
var pixelInfoBbox = col.getRegion({
geometry: roi,
scale: 30
});
// The result is a table (a list of lists) where the first row is column
// labels and subsequent rows are image pixels. Columns contain values for
// the image ID ('system:index'), pixel longitude and latitude, image
// observation time ('system:time_start'), and bands. In this example, note
// that there are 5 images and the region intersects 2 pixels, so n rows
// equals 11 (5 * 2 + 1). All collection images must have the same number of
// bands with the same names.
print('Extracted pixel info', pixelInfoBbox);
// The function accepts all geometry types (e.g., points, lines, polygons).
// Here, a multi-point geometry with two points is used.
var points = ee.Geometry.MultiPoint([[-90.49, 34.85], [-90.48, 34.84]]);
var pixelInfoPoints = col.getRegion({
geometry: points,
scale: 30
});
print('Point geometry example', pixelInfoPoints);
Python 设置
如需了解 Python API 和如何使用 geemap
进行交互式开发,请参阅
Python 环境页面。
import ee
import geemap.core as geemap
Colab (Python)
# A Landsat 8 TOA image collection (3 months at a specific point, RGB bands).
col = (
ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterBounds(ee.Geometry.Point(-90.70, 34.71))
.filterDate('2020-07-01', '2020-10-01')
.select('B[2-4]')
)
display('Collection', col)
# Define a region to get pixel values for. This is a small rectangle region
# that intersects 2 image pixels at 30-meter scale.
roi = ee.Geometry.BBox(-90.496353, 34.851971, -90.495749, 34.852197)
# Display the region of interest overlaid on an image representative. Note
# the ROI intersection with 2 pixels.
vis_params = {'bands': ['B4', 'B3', 'B2'], 'min': 0.128, 'max': 0.163}
m = geemap.Map()
m.set_center(-90.49605, 34.85211, 19)
m.add_layer(col.first(), vis_params, 'Image representative')
m.add_layer(roi, {'color': 'white'}, 'ROI')
display(m)
# Fetch pixel-level information from all images in the collection for the
# pixels intersecting the ROI.
pixel_info_bbox = col.getRegion(geometry=roi, scale=30)
# The result is a table (a list of lists) where the first row is column
# labels and subsequent rows are image pixels. Columns contain values for
# the image ID ('system:index'), pixel longitude and latitude, image
# observation time ('system:time_start'), and bands. In this example, note
# that there are 5 images and the region intersects 2 pixels, so n rows
# equals 11 (5 * 2 + 1). All collection images must have the same number of
# bands with the same names.
display('Extracted pixel info', pixel_info_bbox)
# The function accepts all geometry types (e.g., points, lines, polygons).
# Here, a multi-point geometry with two points is used.
points = ee.Geometry.MultiPoint([[-90.49, 34.85], [-90.48, 34.84]])
pixel_info_points = col.getRegion(geometry=points, scale=30)
display('Point geometry example', pixel_info_points)
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003e\u003ccode\u003eImageCollection.getRegion()\u003c/code\u003e extracts pixel values from an ImageCollection for a specified region.\u003c/p\u003e\n"],["\u003cp\u003eThe output is a list of lists representing a table with pixel data, including ID, location, time, and band values.\u003c/p\u003e\n"],["\u003cp\u003eThe region can be defined using various geometries (e.g., points, lines, polygons).\u003c/p\u003e\n"],["\u003cp\u003eAll images in the collection must have the same number of bands and band names.\u003c/p\u003e\n"],["\u003cp\u003eExtracting more than 1,048,576 values will result in an error.\u003c/p\u003e\n"]]],["The `ImageCollection.getRegion` method extracts pixel values from an ImageCollection within a specified geometry. It returns a list containing rows of data for each \\[pixel, band, image\\] tuple, including id, longitude, latitude, time, and band values. Users define the extraction region, scale, and optionally the projection. The output format is a table where rows represent pixels and columns detail each image's data. The method accepts various geometry types but is limited to extracting 1,048,576 values per request.\n"],null,["# ee.ImageCollection.getRegion\n\nOutput an array of values for each \\[pixel, band, image\\] tuple in an ImageCollection. The output contains rows of id, lon, lat, time, and all bands for each image that intersects each pixel in the given region. Attempting to extract more than 1048576 values will result in an error.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-------------------------------------------------------------------------------|---------|\n| ImageCollection.getRegion`(geometry, `*scale* `, `*crs* `, `*crsTransform*`)` | List |\n\n| Argument | Type | Details |\n|--------------------|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `collection` | ImageCollection | The image collection to extract data from. |\n| `geometry` | Geometry | The region over which to extract data. |\n| `scale` | Float, default: null | A nominal scale in meters of the projection to work in. |\n| `crs` | Projection, optional | The projection to work in. If unspecified, defaults to EPSG:4326. If specified in addition to scale, the projection is rescaled to the specified scale. |\n| `crsTransform` | List, default: null | The array of CRS transform values. This is a row-major ordering of a 3x2 affine transform. This option is mutually exclusive with the scale option, and will replace any transform already set on the given projection. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A Landsat 8 TOA image collection (3 months at a specific point, RGB bands).\nvar col = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filterBounds(ee.Geometry.Point(-90.70, 34.71))\n .filterDate('2020-07-01', '2020-10-01')\n .select('B[2-4]');\nprint('Collection', col);\n\n// Define a region to get pixel values for. This is a small rectangle region\n// that intersects 2 image pixels at 30-meter scale.\nvar roi = ee.Geometry.BBox(-90.496353, 34.851971, -90.495749, 34.852197);\n\n// Display the region of interest overlaid on an image representative. Note\n// the ROI intersection with 2 pixels.\nvar visParams = {\n bands: ['B4', 'B3', 'B2'],\n min: 0.128,\n max: 0.163\n};\nMap.setCenter(-90.49605, 34.85211, 19);\nMap.addLayer(col.first(), visParams, 'Image representative');\nMap.addLayer(roi, {color: 'white'}, 'ROI');\n\n// Fetch pixel-level information from all images in the collection for the\n// pixels intersecting the ROI.\nvar pixelInfoBbox = col.getRegion({\n geometry: roi,\n scale: 30\n});\n\n// The result is a table (a list of lists) where the first row is column\n// labels and subsequent rows are image pixels. Columns contain values for\n// the image ID ('system:index'), pixel longitude and latitude, image\n// observation time ('system:time_start'), and bands. In this example, note\n// that there are 5 images and the region intersects 2 pixels, so n rows\n// equals 11 (5 * 2 + 1). All collection images must have the same number of\n// bands with the same names.\nprint('Extracted pixel info', pixelInfoBbox);\n\n// The function accepts all geometry types (e.g., points, lines, polygons).\n// Here, a multi-point geometry with two points is used.\nvar points = ee.Geometry.MultiPoint([[-90.49, 34.85], [-90.48, 34.84]]);\nvar pixelInfoPoints = col.getRegion({\n geometry: points,\n scale: 30\n});\nprint('Point geometry example', pixelInfoPoints);\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# A Landsat 8 TOA image collection (3 months at a specific point, RGB bands).\ncol = (\n ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filterBounds(ee.Geometry.Point(-90.70, 34.71))\n .filterDate('2020-07-01', '2020-10-01')\n .select('B[2-4]')\n)\ndisplay('Collection', col)\n\n# Define a region to get pixel values for. This is a small rectangle region\n# that intersects 2 image pixels at 30-meter scale.\nroi = ee.Geometry.BBox(-90.496353, 34.851971, -90.495749, 34.852197)\n\n# Display the region of interest overlaid on an image representative. Note\n# the ROI intersection with 2 pixels.\nvis_params = {'bands': ['B4', 'B3', 'B2'], 'min': 0.128, 'max': 0.163}\nm = geemap.Map()\nm.set_center(-90.49605, 34.85211, 19)\nm.add_layer(col.first(), vis_params, 'Image representative')\nm.add_layer(roi, {'color': 'white'}, 'ROI')\ndisplay(m)\n\n# Fetch pixel-level information from all images in the collection for the\n# pixels intersecting the ROI.\npixel_info_bbox = col.getRegion(geometry=roi, scale=30)\n\n# The result is a table (a list of lists) where the first row is column\n# labels and subsequent rows are image pixels. Columns contain values for\n# the image ID ('system:index'), pixel longitude and latitude, image\n# observation time ('system:time_start'), and bands. In this example, note\n# that there are 5 images and the region intersects 2 pixels, so n rows\n# equals 11 (5 * 2 + 1). All collection images must have the same number of\n# bands with the same names.\ndisplay('Extracted pixel info', pixel_info_bbox)\n\n# The function accepts all geometry types (e.g., points, lines, polygons).\n# Here, a multi-point geometry with two points is used.\npoints = ee.Geometry.MultiPoint([[-90.49, 34.85], [-90.48, 34.84]])\npixel_info_points = col.getRegion(geometry=points, scale=30)\ndisplay('Point geometry example', pixel_info_points)\n```"]]