ee.Image.distance

यह फ़ंक्शन, तय किए गए डिस्टेंस कर्नल का इस्तेमाल करके, हर बैंड में सबसे नज़दीकी नॉन-ज़ीरो पिक्सल की दूरी का हिसाब लगाता है.

इस्तेमालरिटर्न
Image.distance(kernel, skipMasked)इमेज
आर्ग्यूमेंटटाइपविवरण
यह: imageइमेजइनपुट इमेज.
kernelकर्नेल, डिफ़ॉल्ट: nullडिस्टेंस कर्नल. चेबीशेव, यूक्लिडियन या मैनहैटन में से कोई एक.
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 API और इंटरैक्टिव डेवलपमेंट के लिए geemap का इस्तेमाल करने के बारे में जानकारी पाने के लिए, Python एनवायरमेंट पेज देखें.

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