টেক্সচার

আর্থ ইঞ্জিনের স্থানিক টেক্সচার অনুমান করার জন্য বেশ কয়েকটি বিশেষ পদ্ধতি রয়েছে। যখন ইমেজটি আলাদা মূল্যবান হয় (ফ্লোটিং পয়েন্ট নয়), আপনি একটি আশেপাশে এনট্রপি গণনা করতে image.entropy() ব্যবহার করতে পারেন:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// 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() কল করার আগে NIR ব্যান্ডটিকে 8-বিটে স্কেল করা হয়েছে যেহেতু এনট্রপি গণনা পৃথক মূল্যবান ইনপুট নেয়। কার্নেলের অ-শূন্য উপাদানগুলি আশেপাশের এলাকা নির্দিষ্ট করে।

টেক্সচার পরিমাপ করার আরেকটি উপায় হল একটি ধূসর-স্তরের কো-অ্যাকারেন্স ম্যাট্রিক্স (GLCM)। পূর্ববর্তী উদাহরণ থেকে চিত্র এবং কার্নেল ব্যবহার করে, নিম্নরূপ GLCM-ভিত্তিক বৈসাদৃশ্য গণনা করুন:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// 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) এবং কনার্স এট আল। (1984)।

স্থানিক সংসর্গের স্থানীয় পরিমাপ যেমন Geary's C (Anselin 1995) image.neighborhoodToBands() ব্যবহার করে আর্থ ইঞ্জিনে গণনা করা যেতে পারে। পূর্ববর্তী উদাহরণ থেকে ইমেজ ব্যবহার করে:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// 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");

চিত্র টেক্সচার গণনা করার জন্য আশেপাশের মানক বিচ্যুতি ব্যবহার করার একটি উদাহরণের জন্য, চিত্র প্রতিবেশীদের পরিসংখ্যান পৃষ্ঠাটি দেখুন।