स्पेस टेक्स्चर का अनुमान लगाने के लिए, Earth Engine में कई खास तरीके हैं. जब इमेज में अलग-अलग वैल्यू होती हैं (फ़्लोटिंग पॉइंट नहीं), तो आस-पास के पिक्सल की एन्ट्रापी का हिसाब लगाने के लिए, image.entropy()
का इस्तेमाल किया जा सकता है:
कोड एडिटर (JavaScript)
// Load a high-resolution NAIP image. var image = ee.Image('USDA/NAIP/DOQQ/m_3712213_sw_10_1_20140613'); // Zoom to San Francisco, display. Map.setCenter(-122.466123, 37.769833, 17); Map.addLayer(image, {max: 255}, 'image'); // Get the NIR band. var nir = image.select('N'); // Define a neighborhood with a kernel. var square = ee.Kernel.square({radius: 4}); // Compute entropy and display. var entropy = nir.entropy(square); Map.addLayer(entropy, {min: 1, max: 5, palette: ['0000CC', 'CC0000']}, 'entropy');
ध्यान दें कि entropy()
को कॉल करने से पहले, एनआईआर बैंड को 8-बिट पर स्केल किया जाता है, क्योंकि एन्ट्रापी का हिसाब लगाने के लिए अलग-अलग वैल्यू वाले इनपुट की ज़रूरत होती है. कर्नल में मौजूद ऐसे एलिमेंट जिनका वैल्यू शून्य नहीं है, वे आस-पास के एलिमेंट की जानकारी देते हैं.
टेक्स्चर को मेज़र करने का एक और तरीका है, ग्रे-लेवल को-ऑक्यूरेंस मैट्रिक (GLCM). पिछले उदाहरण की इमेज और केर्नल का इस्तेमाल करके, GLCM पर आधारित कंट्रास्ट का हिसाब इस तरह लगाएं:
कोड एडिटर (JavaScript)
// Compute the gray-level co-occurrence matrix (GLCM), get contrast. var glcm = nir.glcmTexture({size: 4}); var contrast = glcm.select('N_contrast'); Map.addLayer(contrast, {min: 0, max: 1500, palette: ['0000CC', 'CC0000']}, 'contrast');
image.glcm()
, टेक्स्चर के कई मेज़र आउटपुट करता है. आउटपुट के बारे में पूरी जानकारी पाने के लिए, Haralick et al.
(1973) और
Conners et al.
(1984) देखें.
स्पेस के हिसाब से असोसिएशन के लोकल मेज़र, जैसे कि गीरी का C
(अंसेलिन 1995) का हिसाब Earth Engine में,
image.neighborhoodToBands()
का इस्तेमाल करके लगाया जा सकता है. पिछले उदाहरण की इमेज का इस्तेमाल करके:
कोड एडिटर (JavaScript)
// Create a list of weights for a 9x9 kernel. var row = [1, 1, 1, 1, 1, 1, 1, 1, 1]; // The center of the kernel is zero. var centerRow = [1, 1, 1, 1, 0, 1, 1, 1, 1]; // Assemble a list of lists: the 9x9 kernel weights as a 2-D matrix. var rows = [row, row, row, row, centerRow, row, row, row, row]; // Create the kernel from the weights. // Non-zero weights represent the spatial neighborhood. var kernel = ee.Kernel.fixed(9, 9, rows, -4, -4, false); // Convert the neighborhood into multiple bands. var neighs = nir.neighborhoodToBands(kernel); // Compute local Geary's C, a measure of spatial association. var gearys = nir.subtract(neighs).pow(2).reduce(ee.Reducer.sum()) .divide(Math.pow(9, 2)); Map.addLayer(gearys, {min: 20, max: 2500, palette: ['0000CC', 'CC0000']}, "Geary's C");
इमेज टेक्स्चर का हिसाब लगाने के लिए, आस-पास के पिक्सल के स्टैंडर्ड डीविएशन का इस्तेमाल करने का उदाहरण देखने के लिए, इमेज के आस-पास के पिक्सल के आंकड़े वाला पेज देखें.