公告 :凡是在
2025 年 4 月 15 日 前註冊使用 Earth Engine 的非商業專案,都必須
驗證非商業用途資格 ,才能繼續存取 Earth Engine。
提供意見
ee.Image.sample
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
對圖片的像素取樣,並以 FeatureCollection 形式傳回。輸入圖片中的每個波段都會有 1 個屬性。請注意,預設行為是捨棄與遮罩像素相交的特徵,這會導致屬性值為空值 (請參閱 dropNulls 引數)。
用量 傳回 Image. sample (region , scale , projection , factor , numPixels , seed , dropNulls , tileScale , geometries )
FeatureCollection
引數 類型 詳細資料 這個:image
圖片 要取樣的圖片。 region
幾何圖形,預設值:null 要取樣的區域。如未指定,則會使用圖片的完整足跡。 scale
浮點值,預設值為空值 投影的公尺名義比例,用於取樣。 projection
投影,預設值:null 要取樣的投影。如未指定,系統會使用圖片第一個波段的投影。如果除了比例外還指定了其他值,系統會重新調整為指定比例。 factor
浮點值,預設值為空值 向下取樣係數,介於 (0, 1] 之間。如果指定了「numPixels」,就不得指定「numPixels」。預設值為不進行子取樣。 numPixels
Long,預設值:null 要取樣的像素大致數量。如要指定「factor」,就不得指定「factor」。 seed
整數,預設值為 0 用於子取樣的隨機化種子。 dropNulls
布林值,預設值為 true 在篩選結果後,捨棄具有空值屬性的特徵。 tileScale
浮點值,預設值為 1 用於縮小聚合圖塊大小的縮放比例因數;使用較大的 tileScale (例如 2 或 4) 可能會啟用運算,導致記憶體不足。 geometries
布林值,預設值為 false 如果為 true,則會將取樣像素的中心新增為輸出特徵的幾何屬性。否則系統會省略幾何圖形 (節省記憶體)。
範例
程式碼編輯器 (JavaScript)
// Demonstrate extracting pixels from an image as features with
// ee.Image.sample(), and show how the features are aligned with the pixels.
// An image with one band of elevation data.
var image = ee . Image ( 'CGIAR/SRTM90_V4' );
var VIS_MIN = 1620 ;
var VIS_MAX = 1650 ;
Map . addLayer ( image , { min : VIS_MIN , max : VIS_MAX }, 'SRTM' );
// Region to sample.
var region = ee . Geometry . Polygon (
[[[ - 110.006 , 40.002 ],
[ - 110.006 , 39.999 ],
[ - 109.995 , 39.999 ],
[ - 109.995 , 40.002 ]]], null , false );
// Show region on the map.
Map . setCenter ( - 110 , 40 , 16 );
Map . addLayer ( ee . FeatureCollection ([ region ]). style ({ "color" : "00FF0022" }));
// Perform sampling; convert image pixels to features.
var samples = image . sample ({
region : region ,
// Default (false) is no geometries in the output.
// When set to true, each feature has a Point geometry at the center of the
// image pixel.
geometries : true ,
// The scale is not specified, so the resolution of the image will be used,
// and there is a feature for every pixel. If we give a scale parameter, the
// image will be resampled and there will be more or fewer features.
//
// scale: 200,
});
// Visualize sample data using ee.FeatureCollection.style().
var styled = samples
. map ( function ( feature ) {
return feature . set ( 'style' , {
pointSize : feature . getNumber ( 'elevation' ). unitScale ( VIS_MIN , VIS_MAX )
. multiply ( 15 ),
});
})
. style ({
color : '000000FF' ,
fillColor : '00000000' ,
styleProperty : 'style' ,
neighborhood : 6 , // increase to correctly draw large points
});
Map . addLayer ( styled );
// Each sample feature has a point geometry and a property named 'elevation'
// corresponding to the band named 'elevation' of the image. If there are
// multiple bands they will become multiple properties. This will print:
//
// geometry: Point (-110.01, 40.00)
// properties:
// elevation: 1639
print ( samples . first ());
Python 設定
請參閱
Python 環境 頁面,瞭解 Python API 和如何使用 geemap
進行互動式開發。
import ee
import geemap.core as geemap
Colab (Python)
# Demonstrate extracting pixels from an image as features with
# ee.Image.sample(), and show how the features are aligned with the pixels.
# An image with one band of elevation data.
image = ee . Image ( 'CGIAR/SRTM90_V4' )
vis_min = 1620
vis_max = 1650
m = geemap . Map ()
m . add_layer ( image , { 'min' : vis_min , 'max' : vis_max }, 'SRTM' )
# Region to sample.
region = ee . Geometry . Polygon (
[[
[ - 110.006 , 40.002 ],
[ - 110.006 , 39.999 ],
[ - 109.995 , 39.999 ],
[ - 109.995 , 40.002 ],
]],
None ,
False ,
)
# Show region on the map.
m . set_center ( - 110 , 40 , 16 )
m . add_layer ( ee . FeatureCollection ([ region ]) . style ( color = '00FF0022' ))
# Perform sampling convert image pixels to features.
samples = image . sample (
region = region ,
# Default (False) is no geometries in the output.
# When set to True, each feature has a Point geometry at the center of the
# image pixel.
geometries = True ,
# The scale is not specified, so the resolution of the image will be used,
# and there is a feature for every pixel. If we give a scale parameter, the
# image will be resampled and there will be more or fewer features.
#
# scale=200,
)
def scale_point_size ( feature ):
elevation = feature . getNumber ( 'elevation' )
point_size = elevation . unitScale ( vis_min , vis_max ) . multiply ( 15 )
feature . set ( 'style' , { 'pointSize' : point_size })
return feature
# Visualize sample data using ee.FeatureCollection.style().
styled = samples . map ( scale_point_size ) . style (
color = '000000FF' ,
fillColor = '00000000' ,
styleProperty = 'style' ,
neighborhood = 6 , # increase to correctly draw large points
)
m . add_layer ( styled )
display ( m )
# Each sample feature has a point geometry and a property named 'elevation'
# corresponding to the band named 'elevation' of the image. If there are
# multiple bands they will become multiple properties. This will print:
#
# geometry: Point (-110.01, 40.00)
# properties:
# elevation: 1639
display ( samples . first ())
提供意見
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權 ,程式碼範例則為阿帕契 2.0 授權 。詳情請參閱《Google Developers 網站政策 》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
想進一步說明嗎?
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-26 (世界標準時間)。"],[[["`Image.sample()` extracts pixel values from an image and converts them into a FeatureCollection, with each feature representing a pixel and its properties corresponding to the band values."],["You can define a region of interest, control the sampling scale and projection, and adjust the number of sampled pixels using arguments like `region`, `scale`, `projection`, `factor`, and `numPixels`."],["Sampled features can optionally include point geometries representing pixel centers using the `geometries` argument."],["By default, features associated with masked pixels (resulting in null-valued properties) are excluded, which can be controlled using the `dropNulls` argument."]]],[]]