Daripada menentukan wilayah tempat pengurangan akan dilakukan, Anda juga dapat menentukan lingkungan tempat pengurangan akan diterapkan. Untuk mengurangi lingkungan gambar, gunakan
image.reduceNeighborhood()
. Dalam hal ini, pengurangan akan
terjadi dalam jendela geser pada gambar input, dengan ukuran dan bentuk jendela yang ditentukan
oleh ee.Kernel
. Output reduceNeighborhood()
akan berupa
gambar lain, dengan setiap nilai piksel mewakili output pengurangan di
lingkungan di sekitar piksel tersebut dalam gambar input. Gambar 1 mengilustrasikan jenis pengurangan
ini.

reduceNeighborhood()
, tempat pengurangan
diterapkan dalam kernel.Misalnya, pertimbangkan untuk menggunakan citra National Agriculture Imagery Program (NAIP) untuk
mengukur perbedaan lanskap yang dihasilkan dari penebangan hutan redwood California.
Secara khusus, gunakan deviasi standar (SD) di lingkungan untuk merepresentasikan perbedaan tekstur antara area yang dicatat (SW gambar pada Gambar 2) dan area yang dilindungi (NE gambar pada Gambar 2). Misalnya, untuk mendapatkan tekstur gambar NAIP Normalized Difference Vegetation Index (NDVI), gunakan reduceNeighborhood()
untuk menghitung SD di lingkungan yang ditentukan oleh kernel:
Editor Kode (JavaScript)
// Define a region in the redwood forest. var redwoods = ee.Geometry.Rectangle(-124.0665, 41.0739, -123.934, 41.2029); // Load input NAIP imagery and build a mosaic. var naipCollection = ee.ImageCollection('USDA/NAIP/DOQQ') .filterBounds(redwoods) .filterDate('2012-01-01', '2012-12-31'); var naip = naipCollection.mosaic(); // Compute NDVI from the NAIP imagery. var naipNDVI = naip.normalizedDifference(['N', 'R']); // Compute standard deviation (SD) as texture of the NDVI. var texture = naipNDVI.reduceNeighborhood({ reducer: ee.Reducer.stdDev(), kernel: ee.Kernel.circle(7), }); // Display the results. Map.centerObject(redwoods, 12); Map.addLayer(naip, {}, 'NAIP input imagery'); Map.addLayer(naipNDVI, {min: -1, max: 1, palette: ['FF0000', '00FF00']}, 'NDVI'); Map.addLayer(texture, {min: 0, max: 0.3}, 'SD of NDVI');
import ee import geemap.core as geemap
Colab (Python)
# Define a region in the redwood forest. redwoods = ee.Geometry.Rectangle(-124.0665, 41.0739, -123.934, 41.2029) # Load input NAIP imagery and build a mosaic. naip_collection = ( ee.ImageCollection('USDA/NAIP/DOQQ') .filterBounds(redwoods) .filterDate('2012-01-01', '2012-12-31') ) naip = naip_collection.mosaic() # Compute NDVI from the NAIP imagery. naip_ndvi = naip.normalizedDifference(['N', 'R']) # Compute standard deviation (SD) as texture of the NDVI. texture = naip_ndvi.reduceNeighborhood( reducer=ee.Reducer.stdDev(), kernel=ee.Kernel.circle(7) ) # Display the results. m = geemap.Map() m.center_object(redwoods, 12) m.add_layer(naip, {}, 'NAIP input imagery') m.add_layer( naip_ndvi, {'min': -1, 'max': 1, 'palette': ['FF0000', '00FF00']}, 'NDVI' ) m.add_layer(texture, {'min': 0, 'max': 0.3}, 'SD of NDVI') m
Setiap piksel dengan nilai kernel bukan nol disertakan dalam komputasi. Bobot kernel
digunakan secara default, meskipun Anda dapat mengubah perilaku tersebut dengan
argumen inputWeight
. Gambar input dan output
reduceNeighborhood()
dibandingkan dalam Gambar 2.


reduceNeighborhood()
menggunakan pengurangan
simpangan baku.