ইমেজ ভিজ্যুয়ালাইজেশন, ইমেজ ভিজ্যুয়ালাইজেশন

ee.Image পদ্ধতির একটি সংখ্যা রয়েছে যা ইমেজ ডেটার RGB ভিজ্যুয়াল উপস্থাপনা তৈরি করে, উদাহরণস্বরূপ: visualize() , getThumbURL() , getMap() , getMapId() (Colab Folium ম্যাপ ডিসপ্লেতে ব্যবহৃত হয়) এবং, Map.addLayer() (কোড এডিটর ম্যাপ ডিসপ্লে পাইথনের জন্য উপলভ্য নয়)। ডিফল্টরূপে এই পদ্ধতিগুলি প্রথম তিনটি ব্যান্ডকে যথাক্রমে লাল, সবুজ এবং নীলে বরাদ্দ করে। ডিফল্ট স্ট্রেচ ব্যান্ডের ডেটার প্রকারের উপর ভিত্তি করে (যেমন ফ্লোটগুলি [0, 1] এ প্রসারিত হয়, 16-বিট ডেটা সম্ভাব্য মানগুলির সম্পূর্ণ পরিসরে প্রসারিত হয়), যা উপযুক্ত হতে পারে বা নাও হতে পারে। পছন্দসই ভিজ্যুয়ালাইজেশন প্রভাব অর্জন করতে, আপনি ভিজ্যুয়ালাইজেশন পরামিতি প্রদান করতে পারেন:

ইমেজ ভিজ্যুয়ালাইজেশন প্যারামিটার
প্যারামিটার বর্ণনা টাইপ
ব্যান্ড RGB-তে ম্যাপ করার জন্য তিনটি ব্যান্ডের নামের কমা দ্বারা সীমাবদ্ধ তালিকা তালিকা
মিনিট মান(গুলি) 0 তে মানচিত্র সংখ্যা বা তিনটি সংখ্যার তালিকা, প্রতিটি ব্যান্ডের জন্য একটি
সর্বোচ্চ মান(গুলি) মানচিত্র 255 সংখ্যা বা তিনটি সংখ্যার তালিকা, প্রতিটি ব্যান্ডের জন্য একটি
লাভ মান(গুলি) যার দ্বারা প্রতিটি পিক্সেল মান গুণ করতে হবে সংখ্যা বা তিনটি সংখ্যার তালিকা, প্রতিটি ব্যান্ডের জন্য একটি
পক্ষপাত প্রতিটি DN-এ যোগ করার জন্য মান(গুলি) সংখ্যা বা তিনটি সংখ্যার তালিকা, প্রতিটি ব্যান্ডের জন্য একটি
গামা গামা সংশোধন ফ্যাক্টর(গুলি) সংখ্যা বা তিনটি সংখ্যার তালিকা, প্রতিটি ব্যান্ডের জন্য একটি
প্যালেট CSS-স্টাইলের রঙের স্ট্রিংগুলির তালিকা (শুধুমাত্র একক-ব্যান্ডের ছবি) হেক্স স্ট্রিংগুলির কমা দ্বারা পৃথক করা তালিকা
অস্বচ্ছতা স্তরটির অস্বচ্ছতা (0.0 সম্পূর্ণ স্বচ্ছ এবং 1.0 সম্পূর্ণ অস্বচ্ছ) সংখ্যা
বিন্যাস হয় "jpg" বা "png" স্ট্রিং

আরজিবি কম্পোজিট

নিম্নলিখিতটি একটি মিথ্যা-রঙের সংমিশ্রণ হিসাবে একটি Landsat 8 চিত্রকে স্টাইল করতে পরামিতিগুলির ব্যবহারকে চিত্রিত করে:

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

// Load an image.
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318');

// Define the visualization parameters.
var vizParams = {
  bands: ['B5', 'B4', 'B3'],
  min: 0,
  max: 0.5,
  gamma: [0.95, 1.1, 1]
};

// Center the map and display the image.
Map.setCenter(-122.1899, 37.5010, 10); // San Francisco Bay
Map.addLayer(image, vizParams, 'false color composite');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load an image.
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318')

# Define the visualization parameters.
image_viz_params = {
    'bands': ['B5', 'B4', 'B3'],
    'min': 0,
    'max': 0.5,
    'gamma': [0.95, 1.1, 1],
}

# Define a map centered on San Francisco Bay.
map_l8 = geemap.Map(center=[37.5010, -122.1899], zoom=10)

# Add the image layer to the map and display it.
map_l8.add_layer(image, image_viz_params, 'false color composite')
display(map_l8)

এই উদাহরণে, ব্যান্ড 'B5' লালকে বরাদ্দ করা হয়েছে, 'B4' সবুজকে বরাদ্দ করা হয়েছে, এবং 'B3' নীলকে বরাদ্দ করা হয়েছে।

false_color_sf
সান ফ্রান্সিসকো উপসাগর এলাকা, ক্যালিফোর্নিয়া, মার্কিন যুক্তরাষ্ট্রের ল্যান্ডস্যাট 8 মিথ্যা রঙের সংমিশ্রণ।

রঙ প্যালেট

রঙে একটি চিত্রের একক ব্যান্ড প্রদর্শন করতে, CSS-শৈলী রঙের স্ট্রিংগুলির একটি তালিকা দ্বারা উপস্থাপিত একটি রঙের র‌্যাম্প সহ palette প্যারামিটার সেট করুন। (আরো তথ্যের জন্য এই রেফারেন্স দেখুন)। নিম্নোক্ত উদাহরণটি ব্যাখ্যা করে যে কীভাবে সায়ান ( '00FFFF' ) থেকে নীল ( '0000FF' ) থেকে একটি নরমালাইজড ডিফারেন্স ওয়াটার ইনডেক্স (NDWI) ইমেজ রেন্ডার করতে হয়:

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

// Load an image.
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318');

// Create an NDWI image, define visualization parameters and display.
var ndwi = image.normalizedDifference(['B3', 'B5']);
var ndwiViz = {min: 0.5, max: 1, palette: ['00FFFF', '0000FF']};
Map.addLayer(ndwi, ndwiViz, 'NDWI', false);

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load an image.
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318')

# Create an NDWI image, define visualization parameters and display.
ndwi = image.normalizedDifference(['B3', 'B5'])
ndwi_viz = {'min': 0.5, 'max': 1, 'palette': ['00FFFF', '0000FF']}

# Define a map centered on San Francisco Bay.
map_ndwi = geemap.Map(center=[37.5010, -122.1899], zoom=10)

# Add the image layer to the map and display it.
map_ndwi.add_layer(ndwi, ndwi_viz, 'NDWI')
display(map_ndwi)

এই উদাহরণে, লক্ষ্য করুন যে min এবং max পরামিতিগুলি পিক্সেল মানগুলির পরিসর নির্দেশ করে যেখানে প্যালেটটি প্রয়োগ করা উচিত৷ মধ্যবর্তী মান রৈখিকভাবে প্রসারিত হয়।

এছাড়াও নোট করুন যে কোড এডিটর উদাহরণে show প্যারামিটার false সেট করা হয়েছে। এটি মানচিত্রে যোগ করার সময় স্তরটির দৃশ্যমানতা বন্ধ হয়ে যায়। কোড এডিটর মানচিত্রের উপরের ডানদিকে লেয়ার ম্যানেজার ব্যবহার করে এটি সর্বদা আবার চালু করা যেতে পারে।

ndwi_sf
Landsat 8 NDWI, সান ফ্রান্সিসকো উপসাগর এলাকা, মার্কিন যুক্তরাষ্ট্র। সায়ান হল নিম্ন মান, নীল হল উচ্চ মান।

ডিফল্ট রঙ প্যালেট সংরক্ষণ করা হচ্ছে

একটি শ্রেণিবিন্যাস চিত্রে রঙ প্যালেটগুলি সংরক্ষণ করতে যাতে সেগুলি প্রয়োগ করার জন্য মনে রাখার প্রয়োজন না হয়, আপনি প্রতিটি শ্রেণিবিন্যাসের ব্যান্ডের জন্য দুটি বিশেষভাবে নামযুক্ত স্ট্রিং চিত্র বৈশিষ্ট্য সেট করতে পারেন।

উদাহরণস্বরূপ, যদি আপনার ছবিতে 'landcover' নামে একটি ব্যান্ড থাকে যার তিনটি মান 0, 1, এবং 2 ক্লাস 'জল', 'বন' এবং 'অন্যান্য' এর সাথে সম্পর্কিত, আপনি ডিফল্ট ভিজ্যুয়ালাইজেশন প্রতিটি শ্রেণীর জন্য একটি নির্দিষ্ট রঙ দেখাতে নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করতে পারেন (বিশ্লেষণে ব্যবহৃত মানগুলি প্রভাবিত হবে না):

  • landcover_class_values="0,1,2"
  • landcover_class_palette="0000FF,00FF00,AABBCD"

সম্পদ মেটাডেটা কিভাবে সেট করতে হয় তা জানতে সম্পদ ব্যবস্থাপনা পৃষ্ঠাটি দেখুন।

মাস্কিং

আপনি image.updateMask() ব্যবহার করতে পারেন যেখানে একটি মুখোশ চিত্রের পিক্সেলগুলি শূন্য নয় তার উপর ভিত্তি করে পৃথক পিক্সেলের অস্বচ্ছতা সেট করতে পারেন। মাস্কে শূন্যের সমান পিক্সেলগুলি গণনা থেকে বাদ দেওয়া হয়েছে এবং প্রদর্শনের জন্য অস্বচ্ছতা 0 এ সেট করা হয়েছে। পূর্বে তৈরি NDWI স্তরে মাস্ক আপডেট করতে নিম্নলিখিত উদাহরণটি একটি NDWI থ্রেশহোল্ড ব্যবহার করে (থ্রেশহোল্ডের তথ্যের জন্য রিলেশনাল অপারেশন বিভাগটি দেখুন)

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

// Mask the non-watery parts of the image, where NDWI < 0.4.
var ndwiMasked = ndwi.updateMask(ndwi.gte(0.4));
Map.addLayer(ndwiMasked, ndwiViz, 'NDWI masked');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Mask the non-watery parts of the image, where NDWI < 0.4.
ndwi_masked = ndwi.updateMask(ndwi.gte(0.4))

# Define a map centered on San Francisco Bay.
map_ndwi_masked = geemap.Map(center=[37.5010, -122.1899], zoom=10)

# Add the image layer to the map and display it.
map_ndwi_masked.add_layer(ndwi_masked, ndwi_viz, 'NDWI masked')
display(map_ndwi_masked)

ভিজ্যুয়ালাইজেশন ইমেজ

প্রদর্শন বা রপ্তানির জন্য একটি ছবিকে 8-বিট RGB ছবিতে রূপান্তর করতে image.visualize() পদ্ধতি ব্যবহার করুন। উদাহরণস্বরূপ, মিথ্যা-রঙের যৌগিক এবং NDWI-কে 3-ব্যান্ড প্রদর্শন চিত্রগুলিতে রূপান্তর করতে, ব্যবহার করুন:

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

// Create visualization layers.
var imageRGB = image.visualize({bands: ['B5', 'B4', 'B3'], max: 0.5});
var ndwiRGB = ndwiMasked.visualize({
  min: 0.5,
  max: 1,
  palette: ['00FFFF', '0000FF']
});

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

image_rgb = image.visualize(bands=['B5', 'B4', 'B3'], max=0.5)
ndwi_rgb = ndwi_masked.visualize(min=0.5, max=1, palette=['00FFFF', '0000FF'])

মোজাইকিং

আপনি বিভিন্ন কার্টোগ্রাফিক প্রভাব অর্জন করতে মাস্কিং এবং imageCollection.mosaic() (মোজাইকিং সম্পর্কিত তথ্যের জন্য মোজাইকিং বিভাগটি দেখুন) ব্যবহার করতে পারেন। mosaic() পদ্ধতি ইনপুট সংগ্রহে তাদের ক্রম অনুসারে আউটপুট চিত্রের স্তরগুলিকে রেন্ডার করে। নিচের উদাহরণে mosaic() ব্যবহার করে মুখোশযুক্ত NDWI এবং মিথ্যা রঙের কম্পোজিটকে একত্রিত করতে এবং একটি নতুন ভিজ্যুয়ালাইজেশন প্রাপ্ত করা হয়েছে:

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

// Mosaic the visualization layers and display (or export).
var mosaic = ee.ImageCollection([imageRGB, ndwiRGB]).mosaic();
Map.addLayer(mosaic, {}, 'mosaic');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Mosaic the visualization layers and display (or export).
mosaic = ee.ImageCollection([image_rgb, ndwi_rgb]).mosaic()

# Define a map centered on San Francisco Bay.
map_mosaic = geemap.Map(center=[37.5010, -122.1899], zoom=10)

# Add the image layer to the map and display it.
map_mosaic.add_layer(mosaic, None, 'mosaic')
display(map_mosaic)

এই উদাহরণে, লক্ষ্য করুন যে দুটি ভিজ্যুয়ালাইজেশন ইমেজের একটি তালিকা ImageCollection কনস্ট্রাক্টরকে দেওয়া হয়েছে। তালিকার ক্রম নির্ধারণ করে যে ক্রমে চিত্রগুলি মানচিত্রে রেন্ডার করা হয়েছে।

মোজাইক_এসএফ
একটি Landsat 8 মিথ্যা রঙের কম্পোজিট এবং NDWI-এর মোজাইক। সান ফ্রান্সিসকো উপসাগর এলাকা, মার্কিন যুক্তরাষ্ট্র।

ক্লিপিং

image.clip() পদ্ধতিটি কার্টোগ্রাফিক প্রভাব অর্জনের জন্য উপযোগী। নিম্নলিখিত উদাহরণটি সান ফ্রান্সিসকো শহরের চারপাশে একটি নির্বিচারে বাফার জোনে তৈরি করা মোজাইককে ক্লিপ করে:

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

// Create a circle by drawing a 20000 meter buffer around a point.
var roi = ee.Geometry.Point([-122.4481, 37.7599]).buffer(20000);

// Display a clipped version of the mosaic.
Map.addLayer(mosaic.clip(roi), null, 'mosaic clipped');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Create a circle by drawing a 20000 meter buffer around a point.
roi = ee.Geometry.Point([-122.4481, 37.7599]).buffer(20000)
mosaic_clipped = mosaic.clip(roi)

# Define a map centered on San Francisco.
map_mosaic_clipped = geemap.Map(center=[37.7599, -122.4481], zoom=10)

# Add the image layer to the map and display it.
map_mosaic_clipped.add_layer(mosaic_clipped, None, 'mosaic clipped')
display(map_mosaic_clipped)

পূর্ববর্তী উদাহরণে, লক্ষ্য করুন যে স্থানাঙ্কগুলি Geometry কন্সট্রাক্টরকে প্রদান করা হয়েছে এবং বাফারের দৈর্ঘ্য 20,000 মিটার হিসাবে নির্দিষ্ট করা হয়েছে। জ্যামিতি পৃষ্ঠায় জ্যামিতি সম্পর্কে আরও জানুন।

ক্লিপড_এসএফ
উপরে দেখানো মোজাইক, সান ফ্রান্সিসকো, ক্যালিফোর্নিয়া, মার্কিন যুক্তরাষ্ট্রের চারপাশে একটি বাফারে ক্লিপ করা হয়েছে।

শ্রেণীবদ্ধ মানচিত্র রেন্ডারিং

প্যালেটগুলি পৃথক মূল্যবান মানচিত্র রেন্ডার করার জন্যও দরকারী, উদাহরণস্বরূপ একটি ল্যান্ড কভার মানচিত্র। একাধিক ক্লাসের ক্ষেত্রে, প্রতিটি ক্লাসের জন্য আলাদা রঙ সরবরাহ করতে প্যালেট ব্যবহার করুন। ( image.remap() পদ্ধতিটি এই প্রসঙ্গে কার্যকর হতে পারে, নির্বিচারে লেবেলগুলিকে ধারাবাহিক পূর্ণসংখ্যাতে রূপান্তর করতে)। নিম্নলিখিত উদাহরণটি ল্যান্ড কভার বিভাগগুলি রেন্ডার করার জন্য একটি প্যালেট ব্যবহার করে:

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

// Load 2012 MODIS land cover and select the IGBP classification.
var cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01')
  .select('Land_Cover_Type_1');

// Define a palette for the 18 distinct land cover classes.
var igbpPalette = [
  'aec3d4', // water
  '152106', '225129', '369b47', '30eb5b', '387242', // forest
  '6a2325', 'c3aa69', 'b76031', 'd9903d', '91af40',  // shrub, grass
  '111149', // wetlands
  'cdb33b', // croplands
  'cc0013', // urban
  '33280d', // crop mosaic
  'd7cdcc', // snow and ice
  'f7e084', // barren
  '6f6f6f'  // tundra
];

// Specify the min and max labels and the color palette matching the labels.
Map.setCenter(-99.229, 40.413, 5);
Map.addLayer(cover,
             {min: 0, max: 17, palette: igbpPalette},
             'IGBP classification');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load 2012 MODIS land cover and select the IGBP classification.
cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01').select('Land_Cover_Type_1')

# Define a palette for the 18 distinct land cover classes.
igbp_palette = [
    'aec3d4',  # water
    '152106',
    '225129',
    '369b47',
    '30eb5b',
    '387242',  # forest
    '6a2325',
    'c3aa69',
    'b76031',
    'd9903d',
    '91af40',  # shrub, grass
    '111149',  # wetlands
    'cdb33b',  # croplands
    'cc0013',  # urban
    '33280d',  # crop mosaic
    'd7cdcc',  # snow and ice
    'f7e084',  # barren
    '6f6f6f',  # tundra
]

# Define a map centered on the United States.
map_palette = geemap.Map(center=[40.413, -99.229], zoom=5)

# Add the image layer to the map and display it. Specify the min and max labels
# and the color palette matching the labels.
map_palette.add_layer(
    cover, {'min': 0, 'max': 17, 'palette': igbp_palette}, 'IGBP classes'
)
display(map_palette)
ল্যান্ডকভার_প্যালেটাইজড
MODIS 2012 IGBP শ্রেণীবিভাগ ব্যবহার করে ল্যান্ড কভার।

শৈলীযুক্ত স্তর বর্ণনাকারী

প্রদর্শনের জন্য চিত্র রেন্ডার করতে আপনি একটি স্টাইলড লেয়ার বর্ণনাকারী ( SLD ) ব্যবহার করতে পারেন। চিত্রের প্রতীকীকরণ এবং রঙের একটি XML বিবরণ সহ image.sldStyle() প্রদান করুন, বিশেষ করে RasterSymbolizer উপাদান। এখানে RasterSymbolizer উপাদান সম্পর্কে আরও জানুন। উদাহরণস্বরূপ, একটি SLD সহ রেন্ডারিং ক্যাটাগরিকাল ম্যাপ বিভাগে বর্ণিত ল্যান্ড কভার ম্যাপ রেন্ডার করতে, ব্যবহার করুন:

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

var cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01').select('Land_Cover_Type_1');

// Define an SLD style of discrete intervals to apply to the image.
var sld_intervals =
'<RasterSymbolizer>' +
  '<ColorMap type="intervals" extended="false">' +
    '<ColorMapEntry color="#aec3d4" quantity="0" label="Water"/>' +
    '<ColorMapEntry color="#152106" quantity="1" label="Evergreen Needleleaf Forest"/>' +
    '<ColorMapEntry color="#225129" quantity="2" label="Evergreen Broadleaf Forest"/>' +
    '<ColorMapEntry color="#369b47" quantity="3" label="Deciduous Needleleaf Forest"/>' +
    '<ColorMapEntry color="#30eb5b" quantity="4" label="Deciduous Broadleaf Forest"/>' +
    '<ColorMapEntry color="#387242" quantity="5" label="Mixed Deciduous Forest"/>' +
    '<ColorMapEntry color="#6a2325" quantity="6" label="Closed Shrubland"/>' +
    '<ColorMapEntry color="#c3aa69" quantity="7" label="Open Shrubland"/>' +
    '<ColorMapEntry color="#b76031" quantity="8" label="Woody Savanna"/>' +
    '<ColorMapEntry color="#d9903d" quantity="9" label="Savanna"/>' +
    '<ColorMapEntry color="#91af40" quantity="10" label="Grassland"/>' +
    '<ColorMapEntry color="#111149" quantity="11" label="Permanent Wetland"/>' +
    '<ColorMapEntry color="#cdb33b" quantity="12" label="Cropland"/>' +
    '<ColorMapEntry color="#cc0013" quantity="13" label="Urban"/>' +
    '<ColorMapEntry color="#33280d" quantity="14" label="Crop, Natural Veg. Mosaic"/>' +
    '<ColorMapEntry color="#d7cdcc" quantity="15" label="Permanent Snow, Ice"/>' +
    '<ColorMapEntry color="#f7e084" quantity="16" label="Barren, Desert"/>' +
    '<ColorMapEntry color="#6f6f6f" quantity="17" label="Tundra"/>' +
  '</ColorMap>' +
'</RasterSymbolizer>';
Map.addLayer(cover.sldStyle(sld_intervals), {}, 'IGBP classification styled');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

cover = ee.Image('MODIS/051/MCD12Q1/2012_01_01').select('Land_Cover_Type_1')

# Define an SLD style of discrete intervals to apply to the image.
sld_intervals = """
<RasterSymbolizer>
  <ColorMap  type="intervals" extended="false" >
    <ColorMapEntry color="#aec3d4" quantity="0" label="Water"/>
    <ColorMapEntry color="#152106" quantity="1" label="Evergreen Needleleaf Forest"/>
    <ColorMapEntry color="#225129" quantity="2" label="Evergreen Broadleaf Forest"/>
    <ColorMapEntry color="#369b47" quantity="3" label="Deciduous Needleleaf Forest"/>
    <ColorMapEntry color="#30eb5b" quantity="4" label="Deciduous Broadleaf Forest"/>
    <ColorMapEntry color="#387242" quantity="5" label="Mixed Deciduous Forest"/>
    <ColorMapEntry color="#6a2325" quantity="6" label="Closed Shrubland"/>
    <ColorMapEntry color="#c3aa69" quantity="7" label="Open Shrubland"/>
    <ColorMapEntry color="#b76031" quantity="8" label="Woody Savanna"/>
    <ColorMapEntry color="#d9903d" quantity="9" label="Savanna"/>
    <ColorMapEntry color="#91af40" quantity="10" label="Grassland"/>
    <ColorMapEntry color="#111149" quantity="11" label="Permanent Wetland"/>
    <ColorMapEntry color="#cdb33b" quantity="12" label="Cropland"/>
    <ColorMapEntry color="#cc0013" quantity="13" label="Urban"/>
    <ColorMapEntry color="#33280d" quantity="14" label="Crop, Natural Veg. Mosaic"/>
    <ColorMapEntry color="#d7cdcc" quantity="15" label="Permanent Snow, Ice"/>
    <ColorMapEntry color="#f7e084" quantity="16" label="Barren, Desert"/>
    <ColorMapEntry color="#6f6f6f" quantity="17" label="Tundra"/>
  </ColorMap>
</RasterSymbolizer>"""

# Apply the SLD style to the image.
cover_sld = cover.sldStyle(sld_intervals)

# Define a map centered on the United States.
map_sld_categorical = geemap.Map(center=[40.413, -99.229], zoom=5)

# Add the image layer to the map and display it.
map_sld_categorical.add_layer(cover_sld, None, 'IGBP classes styled')
display(map_sld_categorical)

রঙিন র‌্যাম্প সহ একটি ভিজ্যুয়ালাইজেশন ইমেজ তৈরি করতে, ColorMap ধরনটি 'র‌্যাম্প'-এ সেট করুন। নিম্নলিখিত উদাহরণটি একটি ডিইএম রেন্ডার করার জন্য 'ব্যবধান' এবং 'র্যাম্প' প্রকারের তুলনা করে:

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

// Load SRTM Digital Elevation Model data.
var image = ee.Image('CGIAR/SRTM90_V4');

// Define an SLD style of discrete intervals to apply to the image. Use the
// opacity keyword to set pixels less than 0 as completely transparent. Pixels
// with values greater than or equal to the final entry quantity are set to
// fully transparent by default.
var sld_intervals =
  '<RasterSymbolizer>' +
    '<ColorMap type="intervals" extended="false" >' +
      '<ColorMapEntry color="#0000ff" quantity="0" label="0 ﹤ x" opacity="0" />' +
      '<ColorMapEntry color="#00ff00" quantity="100" label="0 ≤ x ﹤ 100" />' +
      '<ColorMapEntry color="#007f30" quantity="200" label="100 ≤ x ﹤ 200" />' +
      '<ColorMapEntry color="#30b855" quantity="300" label="200 ≤ x ﹤ 300" />' +
      '<ColorMapEntry color="#ff0000" quantity="400" label="300 ≤ x ﹤ 400" />' +
      '<ColorMapEntry color="#ffff00" quantity="900" label="400 ≤ x ﹤ 900" />' +
    '</ColorMap>' +
  '</RasterSymbolizer>';

// Define an sld style color ramp to apply to the image.
var sld_ramp =
  '<RasterSymbolizer>' +
    '<ColorMap type="ramp" extended="false" >' +
      '<ColorMapEntry color="#0000ff" quantity="0" label="0"/>' +
      '<ColorMapEntry color="#00ff00" quantity="100" label="100" />' +
      '<ColorMapEntry color="#007f30" quantity="200" label="200" />' +
      '<ColorMapEntry color="#30b855" quantity="300" label="300" />' +
      '<ColorMapEntry color="#ff0000" quantity="400" label="400" />' +
      '<ColorMapEntry color="#ffff00" quantity="500" label="500" />' +
    '</ColorMap>' +
  '</RasterSymbolizer>';

// Add the image to the map using both the color ramp and interval schemes.
Map.setCenter(-76.8054, 42.0289, 8);
Map.addLayer(image.sldStyle(sld_intervals), {}, 'SLD intervals');
Map.addLayer(image.sldStyle(sld_ramp), {}, 'SLD ramp');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load SRTM Digital Elevation Model data.
image = ee.Image('CGIAR/SRTM90_V4')

# Define an SLD style of discrete intervals to apply to the image.
sld_intervals = """
    <RasterSymbolizer>
      <ColorMap type="intervals" extended="false" >
        <ColorMapEntry color="#0000ff" quantity="0" label="0"/>
        <ColorMapEntry color="#00ff00" quantity="100" label="1-100" />
        <ColorMapEntry color="#007f30" quantity="200" label="110-200" />
        <ColorMapEntry color="#30b855" quantity="300" label="210-300" />
        <ColorMapEntry color="#ff0000" quantity="400" label="310-400" />
        <ColorMapEntry color="#ffff00" quantity="1000" label="410-1000" />
      </ColorMap>
    </RasterSymbolizer>"""

# Define an sld style color ramp to apply to the image.
sld_ramp = """
    <RasterSymbolizer>
      <ColorMap type="ramp" extended="false" >
        <ColorMapEntry color="#0000ff" quantity="0" label="0"/>
        <ColorMapEntry color="#00ff00" quantity="100" label="100" />
        <ColorMapEntry color="#007f30" quantity="200" label="200" />
        <ColorMapEntry color="#30b855" quantity="300" label="300" />
        <ColorMapEntry color="#ff0000" quantity="400" label="400" />
        <ColorMapEntry color="#ffff00" quantity="500" label="500" />
      </ColorMap>
    </RasterSymbolizer>"""

# Define a map centered on the United States.
map_sld_interval = geemap.Map(center=[40.413, -99.229], zoom=5)

# Add the image layers to the map and display it.
map_sld_interval.add_layer(
    image.sldStyle(sld_intervals), None, 'SLD intervals'
)
map_sld_interval.add_layer(image.sldStyle(sld_ramp), None, 'SLD ramp')
display(map_sld_interval)

অবিচ্ছিন্ন ডেটার ভিজ্যুয়ালাইজেশন উন্নত করতে পিক্সেল মান প্রসারিত করার জন্যও এসএলডিগুলি কার্যকর। উদাহরণ স্বরূপ, নিম্নোক্ত কোডটি একটি নির্বিচারে রৈখিক প্রসারণের ফলাফলকে একটি ন্যূনতম-সর্বোচ্চ 'সাধারণকরণ' এবং একটি 'হিস্টোগ্রাম' সমীকরণের সাথে তুলনা করে:

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

// Load a Landsat 8 raw image.
var image = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318');

// Define a RasterSymbolizer element with '_enhance_' for a placeholder.
var template_sld =
  '<RasterSymbolizer>' +
    '<ContrastEnhancement><_enhance_/></ContrastEnhancement>' +
    '<ChannelSelection>' +
      '<RedChannel>' +
        '<SourceChannelName>B5</SourceChannelName>' +
      '</RedChannel>' +
      '<GreenChannel>' +
        '<SourceChannelName>B4</SourceChannelName>' +
      '</GreenChannel>' +
      '<BlueChannel>' +
        '<SourceChannelName>B3</SourceChannelName>' +
      '</BlueChannel>' +
    '</ChannelSelection>' +
  '</RasterSymbolizer>';

// Get SLDs with different enhancements.
var equalize_sld = template_sld.replace('_enhance_', 'Histogram');
var normalize_sld = template_sld.replace('_enhance_', 'Normalize');

// Display the results.
Map.centerObject(image, 10);
Map.addLayer(image, {bands: ['B5', 'B4', 'B3'], min: 0, max: 15000}, 'Linear');
Map.addLayer(image.sldStyle(equalize_sld), {}, 'Equalized');
Map.addLayer(image.sldStyle(normalize_sld), {}, 'Normalized');

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Load a Landsat 8 raw image.
image = ee.Image('LANDSAT/LC08/C02/T1/LC08_044034_20140318')

# Define a RasterSymbolizer element with '_enhance_' for a placeholder.
template_sld = """
<RasterSymbolizer>
  <ContrastEnhancement><_enhance_/></ContrastEnhancement>
  <ChannelSelection>
    <RedChannel>
      <SourceChannelName>B5</SourceChannelName>
    </RedChannel>
    <GreenChannel>
      <SourceChannelName>B4</SourceChannelName>
    </GreenChannel>
    <BlueChannel>
      <SourceChannelName>B3</SourceChannelName>
    </BlueChannel>
  </ChannelSelection>
</RasterSymbolizer>"""

# Get SLDs with different enhancements.
equalize_sld = template_sld.replace('_enhance_', 'Histogram')
normalize_sld = template_sld.replace('_enhance_', 'Normalize')

# Define a map centered on San Francisco Bay.
map_sld_continuous = geemap.Map(center=[37.5010, -122.1899], zoom=10)

# Add the image layers to the map and display it.
map_sld_continuous.add_layer(
    image, {'bands': ['B5', 'B4', 'B3'], 'min': 0, 'max': 15000}, 'Linear'
)
map_sld_continuous.add_layer(image.sldStyle(equalize_sld), None, 'Equalized')
map_sld_continuous.add_layer(
    image.sldStyle(normalize_sld), None, 'Normalized'
)
display(map_sld_continuous)

আর্থ ইঞ্জিনে এসএলডি ব্যবহার করার ক্ষেত্রে উল্লেখ্য বিষয়গুলি:

  • OGC SLD 1.0 এবং OGC SE 1.1 সমর্থিত।
  • পাস করা XML ডকুমেন্ট সম্পূর্ণ হতে পারে, অথবা শুধু RasterSymbolizer উপাদান এবং নিচে।
  • ব্যান্ডগুলি তাদের আর্থ ইঞ্জিনের নাম বা সূচক ('1', '2', ...) দ্বারা নির্বাচিত হতে পারে।
  • হিস্টোগ্রাম এবং নরমালাইজ কনট্রাস্ট স্ট্রেচ মেকানিজম ফ্লোটিং পয়েন্ট ইমেজের জন্য সমর্থিত নয়।
  • অস্বচ্ছতা শুধুমাত্র তখনই বিবেচনায় নেওয়া হয় যখন এটি 0.0 (স্বচ্ছ) হয়। অ-শূন্য অস্বচ্ছতা মান সম্পূর্ণ অস্বচ্ছ হিসাবে বিবেচিত হয়।
  • ওভারল্যাপ বিহেভিয়ার সংজ্ঞা বর্তমানে উপেক্ষা করা হয়েছে।
  • শেড রিলিফ মেকানিজম বর্তমানে সমর্থিত নয়।
  • ImageOutline মেকানিজম বর্তমানে সমর্থিত নয়।
  • জ্যামিতি উপাদান উপেক্ষা করা হয়.
  • আউটপুট ইমেজে histogram_bandname মেটাডেটা থাকবে যদি হিস্টোগ্রাম সমতা বা স্বাভাবিককরণের অনুরোধ করা হয়।

থাম্বনেল ছবি

একটি ee.Image অবজেক্টের জন্য PNG বা JPEG থাম্বনেইল ইমেজ তৈরি করতে ee.Image.getThumbURL() পদ্ধতি ব্যবহার করুন। getThumbURL() এ কল দিয়ে শেষ হওয়া একটি অভিব্যক্তির ফলাফল প্রিন্ট করার ফলে একটি URL মুদ্রিত হয়। URL পরিদর্শন করা আর্থ ইঞ্জিন সার্ভারগুলিকে অনুরোধ করা থাম্বনেল অন-দ্য-ফ্লাই তৈরি করতে কাজ করতে সেট করে। প্রক্রিয়াকরণ সম্পূর্ণ হলে ছবিটি ব্রাউজারে প্রদর্শিত হয়। এটি ছবির ডান-ক্লিক প্রসঙ্গ মেনু থেকে উপযুক্ত বিকল্পগুলি নির্বাচন করে ডাউনলোড করা যেতে পারে।

thumbnail_in_browser
SRTM ডিজিটাল উচ্চতা মডেল একটি ব্রাউজারে PNG থাম্বনেইল হিসাবে প্রদর্শিত হয়।

getThumbURL() পদ্ধতিতে প্যারামিটার রয়েছে, যা উপরের ভিজ্যুয়ালাইজেশন প্যারামিটার টেবিলে বর্ণিত হয়েছে। উপরন্তু, এটি ঐচ্ছিক dimensions , region , এবং crs আর্গুমেন্ট নেয় যা থাম্বনেইলের স্থানিক ব্যাপ্তি, আকার এবং প্রদর্শন প্রক্ষেপণ নিয়ন্ত্রণ করে।

ফরম্যাটে নোট সহ ee.Image.getThumbURL() এর জন্য অতিরিক্ত প্যারামিটার
প্যারামিটার বর্ণনা টাইপ
মাত্রা পিক্সেল ইউনিটে থাম্বনেইলের মাত্রা। যদি একটি একক পূর্ণসংখ্যা প্রদান করা হয়, তবে এটি চিত্রের বৃহত্তর দিক মাত্রার আকার নির্ধারণ করে এবং আনুপাতিকভাবে ছোট মাত্রা স্কেল করে। বড় ইমেজ অ্যাসপেক্ট ডাইমেনশনের জন্য ডিফল্ট 512 পিক্সেল। বিন্যাসে একটি একক পূর্ণসংখ্যা বা স্ট্রিং: 'WIDTHxHEIGHT'
অঞ্চল রেন্ডার করার জন্য ছবির ভূ-স্থানিক অঞ্চল। ডিফল্টরূপে সম্পূর্ণ চিত্র, বা প্রদত্ত জ্যামিতির সীমানা। GeoJSON বা কমপক্ষে তিনটি পয়েন্ট স্থানাঙ্কের একটি 2-D তালিকা যা একটি রৈখিক রিং সংজ্ঞায়িত করে
crs লক্ষ্য অভিক্ষেপ যেমন 'EPSG:3857'। ডিফল্ট WGS84 ('EPSG:4326')। স্ট্রিং
বিন্যাস PNG বা JPEG হিসাবে থাম্বনেইল বিন্যাস সংজ্ঞায়িত করে। ডিফল্ট পিএনজি ফরম্যাটটি আরজিবিএ হিসাবে প্রয়োগ করা হয়, যেখানে আলফা চ্যানেলটি চিত্রের mask() দ্বারা সংজ্ঞায়িত বৈধ এবং অবৈধ পিক্সেল উপস্থাপন করে। অবৈধ পিক্সেল স্বচ্ছ। ঐচ্ছিক JPEG বিন্যাসটি RGB হিসাবে প্রয়োগ করা হয়, যেখানে RGB চ্যানেল জুড়ে অবৈধ চিত্র পিক্সেল শূন্য পূর্ণ হয়। স্ট্রিং; হয় 'png' বা 'jpg'

একটি একক-ব্যান্ড চিত্র গ্রেস্কেলে ডিফল্ট হবে যদি না একটি palette আর্গুমেন্ট সরবরাহ করা হয়। একটি মাল্টি-ব্যান্ড ইমেজ প্রথম তিনটি ব্যান্ডের RGB ভিজ্যুয়ালাইজেশনে ডিফল্ট হবে, যদি না একটি bands আর্গুমেন্ট সরবরাহ করা হয়। শুধুমাত্র দুটি ব্যান্ড প্রদান করা হলে, প্রথম ব্যান্ডটি লাল, দ্বিতীয়টি নীল এবং সবুজ চ্যানেলটি শূন্য পূর্ণ হবে।

নিম্নলিখিতগুলি getThumbURL() প্যারামিটার আর্গুমেন্টের বিভিন্ন সংমিশ্রণ প্রদর্শন করে উদাহরণগুলির একটি সিরিজ রয়েছে৷ থাম্বনেইল দেখতে আপনি যখন এই স্ক্রিপ্টটি চালান তখন মুদ্রিত URL-এ ক্লিক করুন।

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

// Fetch a digital elevation model.
var image = ee.Image('CGIAR/SRTM90_V4');

// Request a default thumbnail of the DEM with defined linear stretch.
// Set masked pixels (ocean) to 1000 so they map as gray.
var thumbnail1 = image.unmask(1000).getThumbURL({
  'min': 0,
  'max': 3000,
  'dimensions': 500,
});
print('Default extent:', thumbnail1);

// Specify region by rectangle, define palette, set larger aspect dimension size.
var thumbnail2 = image.getThumbURL({
  'min': 0,
  'max': 3000,
  'palette': ['00A600','63C600','E6E600','E9BD3A','ECB176','EFC2B3','F2F2F2'],
  'dimensions': 500,
  'region': ee.Geometry.Rectangle([-84.6, -55.9, -32.9, 15.7]),
});
print('Rectangle region and palette:', thumbnail2);

// Specify region by a linear ring and set display CRS as Web Mercator.
var thumbnail3 = image.getThumbURL({
  'min': 0,
  'max': 3000,
  'palette': ['00A600','63C600','E6E600','E9BD3A','ECB176','EFC2B3','F2F2F2'],
  'region': ee.Geometry.LinearRing([[-84.6, 15.7], [-84.6, -55.9], [-32.9, -55.9]]),
  'dimensions': 500,
  'crs': 'EPSG:3857'
});
print('Linear ring region and specified crs', thumbnail3);

পাইথন সেটআপ

পাইথন এপিআই এবং ইন্টারেক্টিভ ডেভেলপমেন্টের জন্য geemap ব্যবহার করার জন্য পাইথন এনভায়রনমেন্ট পৃষ্ঠাটি দেখুন।

import ee
import geemap.core as geemap

Colab (পাইথন)

# Fetch a digital elevation model.
image = ee.Image('CGIAR/SRTM90_V4')

# Request a default thumbnail of the DEM with defined linear stretch.
# Set masked pixels (ocean) to 1000 so they map as gray.
thumbnail_1 = image.unmask(1000).getThumbURL({
    'min': 0,
    'max': 3000,
    'dimensions': 500,
})
print('Default extent:', thumbnail_1)

# Specify region by rectangle, define palette, set larger aspect dimension size.
thumbnail_2 = image.getThumbURL({
    'min': 0,
    'max': 3000,
    'palette': [
        '00A600',
        '63C600',
        'E6E600',
        'E9BD3A',
        'ECB176',
        'EFC2B3',
        'F2F2F2',
    ],
    'dimensions': 500,
    'region': ee.Geometry.Rectangle([-84.6, -55.9, -32.9, 15.7]),
})
print('Rectangle region and palette:', thumbnail_2)

# Specify region by a linear ring and set display CRS as Web Mercator.
thumbnail_3 = image.getThumbURL({
    'min': 0,
    'max': 3000,
    'palette': [
        '00A600',
        '63C600',
        'E6E600',
        'E9BD3A',
        'ECB176',
        'EFC2B3',
        'F2F2F2',
    ],
    'region': ee.Geometry.LinearRing(
        [[-84.6, 15.7], [-84.6, -55.9], [-32.9, -55.9]]
    ),
    'dimensions': 500,
    'crs': 'EPSG:3857',
})
print('Linear ring region and specified crs:', thumbnail_3)