ফিচারভিউ ওভারভিউ

FeatureView হল একটি FeatureCollection শুধুমাত্র দেখার জন্য, ত্বরিত উপস্থাপনা। FeatureCollection বিপরীতে, যার রাস্টার ম্যাপ টাইলগুলি ফ্লাইতে তৈরি হয়, FeatureView রাস্টার টাইলগুলি দ্রুত রেন্ডারিং প্রদানের জন্য প্রাক-গণনা করা হয়। দ্রুত রেন্ডার করার পাশাপাশি, FeatureView অ্যাসেটগুলি জুম লেভেল-নির্ভর বৈশিষ্ট্য পাতলা করাকে কার্যকর করে। প্রভাবটি হল যে ঘন ডেটাসেটগুলি জুম আউট করার সময় অসম্পূর্ণ দেখাতে পারে (ছোট বৈশিষ্ট্যগুলি আঁকা হয় না), তবে আপনি জুম ইন করার সাথে সাথে আরও বেশি ডেটা দৃশ্যমান হয়, যা নিম্ন জুম স্তরে মানচিত্রের নান্দনিকতা উন্নত করতে পারে। একটি ডেটাসেটের পাতলা আচরণটি FeatureView অ্যাসেটে FeatureCollection এক্সপোর্ট করার সময় সেট করা বেশ কয়েকটি অপ্টিমাইজেশান প্যারামিটার দ্বারা নিয়ন্ত্রিত হয়৷

শুধুমাত্র দেখার-সম্পত্তি হিসাবে, FeatureView অবজেক্টগুলিকে কম্পিউটেশন বা এক্সপ্রেশনে অন্তর্ভুক্ত করা যাবে না, তবে জাভাস্ক্রিপ্ট কোড এডিটর এবং FeatureViewLayer হিসাবে আর্থ ইঞ্জিন অ্যাপে ভিজ্যুয়ালাইজ করা এবং পরিদর্শন করা যেতে পারে। এগুলিকে Google Maps API অ্যাপ্লিকেশনগুলিতেও একত্রিত করা যেতে পারে৷

একটি ফিচারভিউ তৈরি করা হচ্ছে

একটি FeatureView তৈরি করার জন্য আপনার ডেটা দিয়ে একটি FeatureCollection তৈরি করা, Export.table.toFeatureView ফাংশনে কল করা এবং এক্সপোর্ট টাস্ক শুরু করা জড়িত৷ নিম্নলিখিত উদাহরণ WDPA বহুভুজ ডেটাসেটের রপ্তানি দৃশ্য প্রদর্শন করে। আপনার নিজের অ্যাপ্লিকেশনে, আর্থ ইঞ্জিন ডেটা ক্যাটালগে আর্কাইভ করা যেকোনো FeatureCollection ডেটাসেট ব্যবহার করুন বা আর্থ ইঞ্জিন সম্পদ হিসাবে একটি ভেক্টর ডেটাসেট আপলোড করে নিজের তৈরি করুন৷

Export.table.toFeatureView ফাংশনে কয়েকটি প্যারামিটার ব্যবহার করে একটি FeatureView কাস্টমাইজ করা যেতে পারে।

  • maxFeaturesPerTile — একটি প্রদত্ত জুম স্তরে একটি মানচিত্রের টাইলে প্রদর্শিত সর্বাধিক সংখ্যক বৈশিষ্ট্য সংজ্ঞায়িত করে। গতি বা বৈশিষ্ট্যের ঘনত্বের জন্য অপ্টিমাইজ করতে এই প্যারামিটারটি ব্যবহার করুন।
  • thinningStrategy — প্রদত্ত টাইল এবং জুম স্তরের জন্য বৈশিষ্ট্য পাতলা করা উচিত কিনা তা নিয়ন্ত্রণ করে উচ্চ ঘনত্বের জন্য বা টাইলস জুড়ে ঘনত্বের সামঞ্জস্যের জন্য। মনে রাখবেন যে উচ্চ ঘনত্বের জন্য অপ্টিমাইজ করা টাইলের সীমানাগুলিকে আলাদা করে তুলতে পারে, কারণ প্রতি টাইলের বৈশিষ্ট্যের ঘনত্ব স্বাধীন।
  • thinningRanking — বৈশিষ্ট্য পাতলা করার অগ্রাধিকার সংজ্ঞায়িত করে। উদাহরণস্বরূপ, আপনি উচ্চ মান সহ একটি নির্দিষ্ট বৈশিষ্ট্য বৈশিষ্ট্যের ধারণকে লক্ষ্য করার জন্য পাতলাকরণকে অপ্টিমাইজ করতে পারেন - অন্য কথায়, আপনি জুম আউট করার সাথে সাথে, নির্বাচিত সম্পত্তির জন্য কম মান রয়েছে এমন বৈশিষ্ট্যগুলিকে প্রথমে পাতলা করা হবে, সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি (আপনার নিয়ম অনুসারে) দৃশ্যমান থাকবে৷
  • zOrderRanking — মানচিত্রে প্রদর্শিত বৈশিষ্ট্যগুলির z-অর্ডার (স্ট্যাক অর্ডার) সংজ্ঞায়িত করে। এই প্যারামিটার নিয়ন্ত্রণ করে যে কীভাবে ওভারল্যাপিং বৈশিষ্ট্যগুলি প্রদর্শিত হয় তা বৈশিষ্ট্য বৈশিষ্ট্য, জ্যামিতি প্রকার এবং জুম স্তরের উপর ভিত্তি করে আপনাকে অগ্রাধিকার নিয়ম সেট করার অনুমতি দেয়৷ উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট সম্পত্তির উচ্চ মান সহ বৈশিষ্ট্যগুলিকে অগ্রাধিকার দিতে পারেন যাতে তারা কম মানের সাথে ছেদকারী বৈশিষ্ট্যগুলির উপরে ওভারলে করে।

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

নীচের উদাহরণে, এই প্যারামিটারগুলির জন্য নির্দিষ্ট আর্গুমেন্টগুলি একটি FeatureView তৈরি করে যেখানে একটি প্রদত্ত জুম স্তরে টাইল প্রতি সর্বাধিক বৈশিষ্ট্য 1500, টাইল প্রতি বৈশিষ্ট্যগুলির ঘনত্ব স্বাধীন এবং সর্বাধিক 1500-এ পৌঁছানোর অনুমতি দেওয়া হয়, ছোট বহুভুজগুলি প্রথমে পাতলা করা হয় এবং ছোট বহুভুজগুলি বড়গুলির উপরে থাকে৷

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

// Import the WDPA feature collection.
var wdpa = ee.FeatureCollection('WCMC/WDPA/current/polygons');

// Export the WDPA FeatureCollection as a FeatureView asset.
Export.table.toFeatureView({
  collection: wdpa,
  assetId: 'wdpa-featureview-demo',
  description: 'wdpa-featureview-demo',
  maxFeaturesPerTile: 1500,
  thinningStrategy: 'HIGHER_DENSITY',
  thinningRanking: ['REP_AREA DESC'],
  zOrderRanking: ['REP_AREA DESC'],
});

কোড এডিটরে উপরের কোড স্নিপেটটি কার্যকর করা একটি এক্সপোর্ট টাস্ক তৈরি করবে; রপ্তানি শুরু করার জন্য টাস্ক চালান।

বৈশিষ্ট্য দেখুন সম্পদ অবস্থান

FeatureView সম্পদগুলি পাবলিক ডেটা ক্যাটালগে এবং কোড এডিটরের সম্পদ ট্যাবে আপনার ব্যক্তিগত সম্পদের মধ্যে পাওয়া যাবে। ডেটা ক্যাটালগের সমস্ত প্রাসঙ্গিক FeatureCollection অ্যাসেটে সাধারণত প্রযোজ্য ইনজেশন সেটিংস সহ একটি সহচর FeatureView অ্যাসেট থাকে৷ আপনার ব্যক্তিগত সম্পদ সংরক্ষণাগারে আপনার তৈরি করা যেকোনো FeatureView সম্পদ অন্তর্ভুক্ত থাকবে।

স্ক্রিপ্টে ফিচারভিউ সম্পদ আমদানি করা হচ্ছে

কোড এডিটর অ্যাসেট ডায়ালগ এবং ব্যক্তিগত অ্যাসেট এন্ট্রিতে বোতাম ব্যবহার করে এবং ui.Map.FeatureViewLayer কনস্ট্রাক্টরকে ইনপুট হিসেবে FeatureView অ্যাসেট আইডি প্রদান করে কোড এডিটর স্ক্রিপ্টে FeatureView সম্পদ আমদানি করা যেতে পারে।

ডেটা ক্যাটালগ সম্পদ ডায়ালগ

কোড এডিটরের সার্চ বার থেকে অ্যাক্সেস করা ডেটা ক্যাটালগ টেবিল অ্যাসেট ডায়ালগগুলির নীচের ডানদিকে একটি ড্রপ-ডাউন মেনু সহ একটি আমদানি বোতাম রয়েছে৷ ড্রপ-ডাউন মেনু থেকে, "ফিচারভিউ আমদানি করুন" নির্বাচন করুন। সম্পদটি আপনার স্ক্রিপ্টের শীর্ষে আমদানি বিভাগে অন্তর্ভুক্ত করা হবে।

ব্যক্তিগত সম্পদ ডায়ালগ

পার্সোনাল FeatureView অ্যাসেট ডায়ালগ, কোড এডিটরের অ্যাসেট ট্যাব থেকে অ্যাসেট বেছে নেওয়ার মাধ্যমে অ্যাক্সেস করা হয়, উপরের ডানদিকে একটি ইম্পোর্ট বোতাম থাকে। বোতামটি সক্রিয় করা আপনার স্ক্রিপ্টের শীর্ষে আমদানি বিভাগে সম্পদ অন্তর্ভুক্ত করবে। আপনি আমদানি শর্টকাট বোতাম (ডান-পয়েন্টিং তীর আইকন) ব্যবহার করতে পারেন যা আপনি যখন সম্পদ ট্যাবে একটি সম্পদের উপর ঘোরান তখন প্রদর্শিত হয়।

সম্পদ আইডি

FeatureView সম্পদগুলির একটি আইডি রয়েছে যা ui.Map.FeatureViewLayer কনস্ট্রাক্টরকে ইনপুট হিসাবে প্রদান করা যেতে পারে, যা আপনাকে আপনার স্ক্রিপ্টের সম্পদে অ্যাক্সেস দেয়৷ পূর্ব-নির্মিত আমদানি স্নিপেটগুলি ডেটা ক্যাটালগ সম্পদ পৃষ্ঠা এবং কোড এডিটরের সম্পদ ডায়ালগে পাওয়া যাবে।

চিত্র 1. FeatureView আমদানি পদ্ধতি হাইলাইট করা ডেটা ক্যাটালগ সম্পদ ডায়ালগ।

ফিচারভিউ মেটাডেটা

FeatureView তথ্য এবং মেটাডেটা উপরের ফিচারভিউ সম্পদ অবস্থান বিভাগে উল্লিখিত সম্পদ ডায়ালগে উপলব্ধ। বর্ণনা এবং বৈশিষ্ট্যগুলি ছাড়াও যেগুলি উত্স FeatureCollection সাথে ভাগ করা যেতে পারে, FeatureView এর অনন্য পাঁচটি বৈশিষ্ট্য রয়েছে৷ এগুলিতে একটি ফিচারভিউ তৈরি করা বিভাগে বর্ণিত ইনজেশন প্যারামিটার সেটিংস এবং sourceVersion অন্তর্ভুক্ত রয়েছে, যা FeatureView তৈরি করা হয়েছে এমন টেবিল সম্পদের "শেষ পরিবর্তিত" টাইমস্ট্যাম্প। উপরের চিত্র 1 একটি ডেটা ক্যাটালগ সম্পদ ডায়ালগে FeatureView -নির্দিষ্ট বৈশিষ্ট্য দেখায়। অন্যান্য সম্পদের মতো, আপনি ee.data.getAsset দ্বারা প্রত্যাবর্তিত অভিধান থেকে প্রোগ্রাম্যাটিকভাবে বৈশিষ্ট্যগুলিও আনতে পারেন।

একটি ফিচারভিউ ভিজ্যুয়ালাইজ করা

একটি FeatureView অবজেক্ট কোড এডিটর, আর্থ ইঞ্জিন অ্যাপস এবং গুগল ম্যাপে ভিজ্যুয়ালাইজ করা যেতে পারে।

কোড এডিটর

কোড এডিটরে ui.Map.FeatureViewLayer কম্পোনেন্ট থাকে যা একটি মানচিত্রে FeatureView সম্পদগুলিকে কল্পনা করতে পারে। নিম্নলিখিত উদাহরণটি FeatureView অ্যাসেট আইডি সংজ্ঞায়িত করে, FeatureViewLayer হিসাবে অ্যাসেট ইম্পোর্ট করে এবং ম্যাপে প্রদর্শন করে৷

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

// Define the FeatureView asset ID.
var assetId = 'WCMC/WDPA/current/polygons_FeatureView';

// Import the FeatureView asset as a FeatureViewLayer.
var layer = ui.Map.FeatureViewLayer(assetId);

// Add the FeatureViewLayer to the map.
Map.add(layer);

স্টাইলিং

আপনি ui.Map.FeatureViewLayer ফাংশনে একটি স্টাইল অভিধান পাস করে বা setVisParams পদ্ধতি ব্যবহার করে একটি স্তরে যুক্ত করে FeatureViewLayer স্টাইল করতে পারেন। নীচে একটি উদাহরণ যা শৈলী:

  • "মেরিন" সম্পত্তির উপর ভিত্তি করে রঙের রূপরেখা (সুরক্ষিত এলাকাটি সম্পূর্ণ বা আংশিকভাবে সামুদ্রিক পরিবেশের মধ্যে পড়ে কিনা),
  • "IUCN_CAT" সম্পত্তির উপর ভিত্তি করে রঙ পূরণ করুন (ইন্টারন্যাশনাল ইউনিয়ন ফর কনজারভেশন অফ নেচার (IUCN) ক্যাটাগরি), এবং
  • "REP_AREA" বৈশিষ্ট্য দ্বারা সংজ্ঞায়িত সুরক্ষিত এলাকার আকারের উপর ভিত্তি করে অস্বচ্ছতা পূরণ করুন

উপলব্ধ স্টাইলিং বিকল্পগুলির আরও বিশদ বিবরণের জন্য ফিচারভিউ স্টাইলিং পৃষ্ঠাতে যান৷

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

// Set visualization properties for the defined layer.
layer.setVisParams({
  color: {
    property: 'MARINE',
    categories: [
      ['0', 'purple'],
      ['1', 'green'],
      ['2', 'blue'],
    ]
  },
  fillColor: {
    property: 'IUCN_CAT',
    defaultValue: 'd3d3d3',
    categories: [
      ['Ia', 'a6cee3'],
      ['Ib', '1f78b4'],
      ['II', 'b2df8a'],
      ['III', '33a02c'],
      ['IV', 'fb9a99'],
      ['V', 'e31a1c'],
      ['VI', 'fdbf6f'],
    ]
  },
  fillOpacity: {
    property: 'REP_AREA',
    mode: 'interval',
    palette: [
      [0, 0.5],
      [80, 0.35],
      [2000, 0.22],
      [5000, 0.15],
    ],
  },
  width: 1.0,
  pointSize: 6.0,
});

ফিল্টারিং

ফিল্টার নিয়মগুলি বেছে বেছে শৈলীতে প্রয়োগ করা যেতে পারে বা বৈশিষ্ট্যগুলির উপর ভিত্তি করে বৈশিষ্ট্যগুলি লুকাতে পারে৷ উদাহরণস্বরূপ, একটি স্লাইডার উইজেট দ্বারা প্রদত্ত একটি নির্দিষ্ট এলাকার চেয়ে ছোট সুরক্ষিত এলাকাগুলিকে ফিল্টার করতে, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন। rules ক্ষেত্র সম্পর্কে আরও জানতে FeatureView স্টাইলিং পৃষ্ঠার নির্দিষ্ট নিয়ম বিভাগটি দেখুন।

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

// Define the FeatureView asset ID.
var assetId = 'WCMC/WDPA/current/polygons_FeatureView';

// Import the FeatureView asset as a FeatureViewLayer.
var layer = ui.Map.FeatureViewLayer(assetId, null, 'WDPA FeatureViewLayer');

// Callback function to update FeatureViewLayer style.
var updateVisParams = function() {
  layer.setVisParams({
    color: {
      property: 'MARINE',
      categories: [
        ['0', 'purple'],
        ['1', 'green'],
        ['2', 'blue'],
      ]
    },
    fillColor: {
      property: 'IUCN_CAT',
      defaultValue: 'd3d3d3',
      categories: [
        ['Ia', 'a6cee3'],
        ['Ib', '1f78b4'],
        ['II', 'b2df8a'],
        ['III', '33a02c'],
        ['IV', 'fb9a99'],
        ['V', 'e31a1c'],
        ['VI', 'fdbf6f'],
      ]
    },
    fillOpacity: {
      property: 'REP_AREA',
      mode: 'interval',
      palette: [
        [0, 0.5],
        [80, 0.35],
        [2000, 0.22],
        [5000, 0.15],
      ],
    },
    width: 1.0,
    pointSize: 6.0,
    rules: [
      {
        filter: ee.Filter.lt('REP_AREA', filterSlider.getValue()),
        isVisible: false,
      },
    ],
  });
};

// Slider widget that calls the updateVisParams function on change.
var filterSlider = ui.Slider({
  min: 0,
  max: 10000,
  step: 10,
  value: 0,
  style: { stretch: 'horizontal'},
  onChange: updateVisParams,
});
var filterSliderLabel = ui.Label(
  'Adjust slider to hide features less than the specified area (km²)');

// Add the slider to the map.
Map.add(ui.Panel([filterSliderLabel, filterSlider]));

// Initialize the FeatureViewLayer style.
updateVisParams();

// Add the FeatureViewLayer to the map.
Map.add(layer);

চিত্র 2. নির্দিষ্ট এলাকার চেয়ে ছোট বৈশিষ্ট্যগুলি আড়াল করতে একটি স্লাইডার উইজেট সহ FeatureViewLayer ভিজ্যুয়ালাইজেশন।

Google Maps API

Google মানচিত্র API ব্যবহার করে একটি FeatureView সম্পদ কল্পনা করার প্রক্রিয়াটি একটি চার অংশের প্রক্রিয়া: ee.data.getFeatureViewTilesKey ব্যবহার করে একটি টাইলস কী প্রাপ্ত করুন, এটি FeatureViewTileSource এর একটি উদাহরণে পাস করুন, একটি ee.layer.ImageOverlay তৈরি করুন এবং তারপরে আপনার .Mapps google.maps.Map এ ওভারলে যোগ করুন। জাভাস্ক্রিপ্টে ImageOverlay তৈরি করার জন্য নমুনা কোড নীচে দেখানো হয়েছে।

var tilesKey = ee.data.getFeatureViewTilesKey({
  assetId: 'WCMC/WDPA/current/polygons_FeatureView',
  visParams: {  },
});

var tileSource = new ee.layers.FeatureViewTileSource(tilesKey);
var overlay = new ee.layers.ImageOverlay(tileSource);

একবার এটি হয়ে গেলে, আপনি নীচে দেখানো হিসাবে আপনার google.maps.Map উদাহরণে ওভারলে যোগ করতে পারেন৷

// embeddedMap is your google.maps.Map instance.
embeddedMap.overlayMapTypes.setAt(0, overlay);

একটি ফিচারভিউ পরিদর্শন করা হচ্ছে

ডিফল্ট কোড এডিটর মানচিত্রে যোগ করা একটি FeatureViewLayer স্তর ইন্সপেক্টর টুল ব্যবহার করে পরিদর্শন করা যেতে পারে। কার্যকারিতাটি FeatureCollection মতোই। লক্ষ্য করুন যে ক্লিক করা অবস্থানের জন্য ফিরে আসা ফলাফলগুলি শুধুমাত্র বর্তমান জুম স্তরে দৃশ্যমান বৈশিষ্ট্যগুলিকে তালিকাভুক্ত করে৷ FeatureView এক্সপোর্ট প্রক্রিয়ার অংশ হিসেবে সরলীকৃত হওয়ার কারণে পরিদর্শন করা বৈশিষ্ট্যগুলির জন্য জ্যামিতি দেখানো হয় না।

চিত্র 3. একটি FeatureViewLayer পরিদর্শন করা হচ্ছে। পরিদর্শক স্তর, বৈশিষ্ট্য, সম্পদ আইডি এবং ভিজ্যুয়ালাইজেশন পরামিতি দেখায়।