আর্থ ইঞ্জিনের একটি Feature একটি GeoJSON বৈশিষ্ট্য হিসাবে সংজ্ঞায়িত করা হয়েছে৷ বিশেষত, একটি Feature হল একটি geometry বৈশিষ্ট্য সহ একটি বস্তু যা একটি Geometry বস্তু (বা নাল) সংরক্ষণ করে এবং একটি properties বৈশিষ্ট্য অন্যান্য বৈশিষ্ট্যের অভিধান সংরক্ষণ করে।
বৈশিষ্ট্য বস্তু তৈরি করা
একটি Feature তৈরি করতে, কন্সট্রাক্টরকে একটি Geometry এবং (ঐচ্ছিকভাবে) অন্যান্য বৈশিষ্ট্যগুলির একটি অভিধান প্রদান করুন। যেমন:
কোড এডিটর (জাভাস্ক্রিপ্ট)
// Create an ee.Geometry. var polygon = ee.Geometry.Polygon([ [[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]] ]); // Create a Feature from the Geometry. var polyFeature = ee.Feature(polygon, {foo: 42, bar: 'tart'});
import ee import geemap.core as geemap
Colab (পাইথন)
# Create an ee.Geometry. polygon = ee.Geometry.Polygon( [[[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]]] ) # Create a Feature from the Geometry. poly_feature = ee.Feature(polygon, {'foo': 42, 'bar': 'tart'})
Geometry মতো, পরিদর্শন এবং ভিজ্যুয়ালাইজেশনের জন্য একটি Feature মুদ্রিত বা মানচিত্রে যোগ করা যেতে পারে:
কোড এডিটর (জাভাস্ক্রিপ্ট)
print(polyFeature); Map.addLayer(polyFeature, {}, 'feature');
import ee import geemap.core as geemap
Colab (পাইথন)
display(poly_feature) m = geemap.Map() m.add_layer(poly_feature, {}, 'feature') display(m)
একটি Feature Geometry থাকার প্রয়োজন নেই এবং কেবলমাত্র বৈশিষ্ট্যগুলির একটি অভিধান মোড়ানো হতে পারে। যেমন:
কোড এডিটর (জাভাস্ক্রিপ্ট)
// Create a dictionary of properties, some of which may be computed values. var dict = {foo: ee.Number(8).add(88), bar: 'nihao'}; // Create a null geometry feature with the dictionary of properties. var nowhereFeature = ee.Feature(null, dict);
import ee import geemap.core as geemap
Colab (পাইথন)
# Create a dictionary of properties, some of which may be computed values. dic = {'foo': ee.Number(8).add(88), 'bar': 'nihao'} # Create a null geometry feature with the dictionary of properties. nowhere_feature = ee.Feature(None, dic)
এই উদাহরণে, লক্ষ্য করুন যে Feature সরবরাহ করা অভিধানটিতে একটি গণনা করা মান রয়েছে। এই পদ্ধতিতে বৈশিষ্ট্য তৈরি করা একটি Dictionary ফলাফলের সাথে দীর্ঘ-চলমান গণনা রপ্তানির জন্য দরকারী (যেমন image.reduceRegion() )। বিস্তারিত জানার জন্য ফিচার কালেকশন এবং ইমপোর্টিং টেবিল ডেটা বা এক্সপোর্টিং গাইড দেখুন।
প্রতিটি Feature geometry বৈশিষ্ট্যে একটি প্রাথমিক Geometry সংরক্ষিত থাকে। অতিরিক্ত জ্যামিতি অন্যান্য বৈশিষ্ট্যে সংরক্ষণ করা যেতে পারে। ছেদ এবং বাফারের মতো Geometry পদ্ধতিগুলিও প্রাথমিক Geometry পেতে, অপারেশন প্রয়োগ করতে এবং ফলাফলটিকে নতুন প্রাথমিক Geometry হিসাবে সেট করার সুবিধা হিসাবে Feature বিদ্যমান। ফলাফলটি Feature অন্যান্য সমস্ত বৈশিষ্ট্য বজায় রাখবে যার উপর পদ্ধতিটি বলা হয়েছে। Feature অ-জ্যামিতি বৈশিষ্ট্যগুলি পাওয়ার এবং সেট করার পদ্ধতিও রয়েছে। যেমন:
কোড এডিটর (জাভাস্ক্রিপ্ট)
// Make a feature and set some properties. var feature = ee.Feature(ee.Geometry.Point([-122.22599, 37.17605])) .set('genus', 'Sequoia').set('species', 'sempervirens'); // Get a property from the feature. var species = feature.get('species'); print(species); // Set a new property. feature = feature.set('presence', 1); // Overwrite the old properties with a new dictionary. var newDict = {genus: 'Brachyramphus', species: 'marmoratus'}; var feature = feature.set(newDict); // Check the result. print(feature);
import ee import geemap.core as geemap
Colab (পাইথন)
# Make a feature and set some properties. feature = ( ee.Feature(ee.Geometry.Point([-122.22599, 37.17605])) .set('genus', 'Sequoia') .set('species', 'sempervirens') ) # Get a property from the feature. species = feature.get('species') display(species) # Set a new property. feature = feature.set('presence', 1) # Overwrite the old properties with a new dictionary. new_dic = {'genus': 'Brachyramphus', 'species': 'marmoratus'} feature = feature.set(new_dic) # Check the result. display(feature)
পূর্ববর্তী উদাহরণে, লক্ষ্য করুন যে বৈশিষ্ট্যগুলি হয় একটি কী-মান জোড়া দিয়ে বা একটি অভিধান দিয়ে সেট করা যেতে পারে। এছাড়াও উল্লেখ্য যে feature.set() বিদ্যমান বৈশিষ্ট্যগুলিকে ওভাররাইট করে।