公告 :凡是在
2025 年 4 月 15 日 前註冊使用 Earth Engine 的非商業專案,都必須
驗證非商業用途資格 ,才能繼續存取 Earth Engine。
提供意見
ee.Image.distance
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
使用指定的距離核心,計算每個頻帶中與最近非零像素的距離。
用量 傳回 Image. distance (kernel , skipMasked )
圖片
引數 類型 詳細資料 這個:image
圖片 輸入圖片。 kernel
核心,預設值:null 距離核心。請選擇 Chebyshev、Euclidean 或 Manhattan。 skipMasked
布林值,預設值為 true 如果對應的輸入像素已遮蓋,則遮蓋輸出像素。
範例
程式碼編輯器 (JavaScript)
// The objective is to determine the per-pixel distance to a target
// feature (pixel value). In this example, the target feature is water in a
// land cover map.
// Import a Dynamic World land cover image and subset the 'label' band.
var lcImg = ee . Image (
'GOOGLE/DYNAMICWORLD/V1/20210726T171859_20210726T172345_T14TQS' )
. select ( 'label' );
// Create a binary image where the target feature is value 1, all else 0.
// In the Dynamic World map, water is represented as value 0, so we use the
// ee.Image.eq() relational operator to set it to 1.
var targetImg = lcImg . eq ( 0 );
// Set a max distance from target pixels to consider in the analysis. Pixels
// with distance greater than this value from target pixels will be masked out.
// Here, we are using units of meters, but the distance kernels also accept
// units of pixels.
var maxDistM = 10000 ; // 10 km
// Calculate distance to target pixels. Several distance kernels are provided.
// Euclidean distance.
var euclideanKernel = ee . Kernel . euclidean ( maxDistM , 'meters' );
var euclideanDist = targetImg . distance ( euclideanKernel );
var vis = { min : 0 , max : maxDistM };
Map . setCenter ( - 95.68 , 46.46 , 9 );
Map . addLayer ( euclideanDist , vis , 'Euclidean distance to target pixels' );
// Manhattan distance.
var manhattanKernel = ee . Kernel . manhattan ( maxDistM , 'meters' );
var manhattanDist = targetImg . distance ( manhattanKernel );
Map . addLayer ( manhattanDist , vis , 'Manhattan distance to target pixels' , false );
// Chebyshev distance.
var chebyshevKernel = ee . Kernel . chebyshev ( maxDistM , 'meters' );
var chebyshevDist = targetImg . distance ( chebyshevKernel );
Map . addLayer ( chebyshevDist , vis , 'Chebyshev distance to target pixels' , false );
// Add the target layer to the map; water is blue, all else masked out.
Map . addLayer ( targetImg . mask ( targetImg ), { palette : 'blue' }, 'Target pixels' );
Python 設定
請參閱
Python 環境 頁面,瞭解 Python API 和如何使用 geemap
進行互動式開發。
import ee
import geemap.core as geemap
Colab (Python)
# The objective is to determine the per-pixel distance to a target
# feature (pixel value). In this example, the target feature is water in a
# land cover map.
# Import a Dynamic World land cover image and subset the 'label' band.
lc_img = ee . Image (
'GOOGLE/DYNAMICWORLD/V1/20210726T171859_20210726T172345_T14TQS'
) . select ( 'label' )
# Create a binary image where the target feature is value 1, all else 0.
# In the Dynamic World map, water is represented as value 0, so we use the
# ee.Image.eq() relational operator to set it to 1.
target_img = lc_img . eq ( 0 )
# Set a max distance from target pixels to consider in the analysis. Pixels
# with distance greater than this value from target pixels will be masked out.
# Here, we are using units of meters, but the distance kernels also accept
# units of pixels.
max_dist_m = 10000 # 10 km
# Calculate distance to target pixels. Several distance kernels are provided.
# Euclidean distance.
euclidean_kernel = ee . Kernel . euclidean ( max_dist_m , 'meters' )
euclidean_dist = target_img . distance ( euclidean_kernel )
vis = { 'min' : 0 , 'max' : max_dist_m }
m = geemap . Map ()
m . set_center ( - 95.68 , 46.46 , 9 )
m . add_layer ( euclidean_dist , vis , 'Euclidean distance to target pixels' )
# Manhattan distance.
manhattan_kernel = ee . Kernel . manhattan ( max_dist_m , 'meters' )
manhattan_dist = target_img . distance ( manhattan_kernel )
m . add_layer (
manhattan_dist , vis , 'Manhattan distance to target pixels' , False
)
# Chebyshev distance.
chebyshev_kernel = ee . Kernel . chebyshev ( max_dist_m , 'meters' )
chebyshev_dist = target_img . distance ( chebyshev_kernel )
m . add_layer (
chebyshev_dist , vis , 'Chebyshev distance to target pixels' , False
)
# Add the target layer to the map water is blue, all else masked out.
m . add_layer (
target_img . mask ( target_img ), { 'palette' : 'blue' }, 'Target pixels'
)
m
提供意見
除非另有註明,否則本頁面中的內容是採用創用 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 (世界標準時間)。"],[[["Computes the distance to the nearest non-zero pixel for each band in an image, using a specified distance kernel (Chebyshev, Euclidean, or Manhattan)."],["Accepts an input image, a distance kernel, and an optional parameter to mask output pixels corresponding to masked input pixels."],["Returns an image where pixel values represent the distance to the nearest non-zero pixel in the input."],["Offers flexibility in defining the distance kernel and handling masked pixels."],["Can be used to analyze proximity to specific features in images, such as determining the distance to water bodies in a land cover map."]]],[]]