সম্পদ পরিচালনা করুন

আর্থ ইঞ্জিন অ্যাসেট হলো প্ল্যাটফর্মের মধ্যে সংরক্ষিত প্রকল্প-মালিকানাধীন ভূ-স্থানিক ডেটা। আপনি আপনার নিজের ডেটা আপলোড করতে পারেন এবং আপনার আর্থ ইঞ্জিন বিশ্লেষণ থেকে প্রাপ্ত ডেটা অ্যাসেট হিসেবে সংরক্ষণ করতে পারেন।

সম্পদের প্রকারভেদ

আর্থ ইঞ্জিন বিভিন্ন ডেটা টাইপের জন্য নানা ধরনের অ্যাসেট ফরম্যাট এবং সেগুলোকে সাজানোর জন্য কন্টেইনার এলিমেন্টও প্রদান করে।

সম্পদের প্রকারভেদ
Image রাস্টার হলো ভৌগোলিক তথ্যের একটি গ্রিড-ভিত্তিক উপস্থাপনা, যেখানে গ্রিডের প্রতিটি সেল পৃথিবীর পৃষ্ঠের একটি নির্দিষ্ট অবস্থানের সাথে সঙ্গতিপূর্ণ একটি মান ধারণ করে।
ImageCollection সম্পর্কিত রাস্টার চিত্রগুলির একটি সংগ্রহ যা একটি মোজাইক বা একটি টাইম সিরিজ গঠন করে। এটি কার্যকারিতার দিক থেকে একটি ফোল্ডারের অনুরূপ, কিন্তু এটিকে আর্থ ইঞ্জিনে (Earth Engine) একটি ee.ImageCollection অবজেক্ট হিসাবে ইম্পোর্ট করা যায়, যেটিতে ফিল্টারিং এবং বিশ্লেষণের জন্য একগুচ্ছ মেথড অন্তর্ভুক্ত থাকে।
Table একটি টেবিল ডেটা স্ট্রাকচার যা ভেক্টর ফিচার (সারি) দ্বারা গঠিত, যার প্রতিটিতে একাধিক প্রোপার্টি (কলাম) থাকে। এটি ee.FeatureCollection অবজেক্ট দ্বারা উপস্থাপিত হয়, যেটিতে ফিল্টারিং এবং বিশ্লেষণের জন্য একগুচ্ছ মেথড অন্তর্ভুক্ত রয়েছে।
Classifier একটি প্রশিক্ষিত আর্থ ইঞ্জিন মেশিন লার্নিং মডেল। এটি দ্বারা প্রতিনিধিত্ব করা হয় ee.Classifier অবজেক্ট, যার মধ্যে প্রয়োগ এবং বিশ্লেষণের জন্য একগুচ্ছ মেথড অন্তর্ভুক্ত রয়েছে।
FeatureView আর্থ ইঞ্জিন অ্যাপে ব্যবহারের জন্য একটি টেবিলের দৃশ্য।
Folder সম্পদ রাখার একটি ধারক এবং সংগঠনে সহায়তার জন্য অতিরিক্ত ফোল্ডার।

সম্পদ সংগঠন

আর্থ ইঞ্জিন অ্যাসেটগুলো ফোল্ডার এবং কালেকশনের একটি স্তরক্রমিক সিস্টেমে সাজানো থাকে। এর গঠনটি প্রচলিত ফাইল সিস্টেমের মতোই।

মূল

অ্যাসেটগুলো একটি ক্লাউড প্রজেক্টের মালিকানাধীন থাকে। প্রজেক্টের নামটি অ্যাসেট ডিরেক্টরির রুট নির্ধারণ করে। উদাহরণস্বরূপ, my-project এর রুট হলো projects/my-project/assetsmy-project এর অন্তর্গত সমস্ত অ্যাসেট projects/my-project/assets ফোল্ডারে অথবা এর ভেতরের কোনো সাব-ফোল্ডারে (বা ImageCollection-এ) থাকে।

ডিরেক্টরি

আর্থ ইঞ্জিন অ্যাসেটগুলো সাজানোর জন্য একটি ট্রি-সদৃশ ডিরেক্টরি কাঠামো ব্যবহার করে। প্রতিটি ক্লাউড প্রজেক্টের একটি রুট ডিরেক্টরি থাকে, যেখানে স্বতন্ত্র অ্যাসেট এবং ফোল্ডার থাকতে পারে। ইমেজকালেকশন হলো এক বিশেষ ধরনের অ্যাসেট, যা বিশেষভাবে সম্পর্কিত ছবির সেট, যেমন টাইম সিরিজ বা মোজাইক, ধারণ করার জন্য ডিজাইন করা হয়েছে। ফোল্ডারের মতো নয়, ইমেজকালেকশনে শুধুমাত্র ইমেজ অ্যাসেট থাকতে পারে এবং এর ভেতরে অন্য কোনো ফোল্ডার বা কালেকশন যুক্ত করা যায় না।

  • ফোল্ডার_ডেটা প্রজেক্টস/আমার-প্রজেক্ট/অ্যাসেটস/
    • ফোল্ডার ফোল্ডার-নাম/
      • ছবির নাম
      • view_comfy টেবিলের নাম
      • satellite featureview-name
      • bubble_chart classifier-name
      • ফটো_লাইব্রেরি ইমেজ কালেকশন-নাম/
        • photo image-name-1
        • ছবির নাম-২

সম্পদ আইডি

আর্থ ইঞ্জিন স্ক্রিপ্ট এবং কমান্ড-লাইন অপারেশন উভয় ক্ষেত্রেই ডেটা রেফারেন্স করার জন্য অ্যাসেট আইডি ব্যবহার করে। ডিরেক্টরিগুলোর মধ্যে বিভাজক হিসেবে ফরওয়ার্ড স্ল্যাশ (/) ব্যবহার করে অ্যাসেটের অবস্থান নির্ধারণ করা হয়। উদাহরণস্বরূপ, projects/my-project/assets/my-asset 'my-project' রুটে অবস্থিত 'my-asset' নামের একটি অ্যাসেটকে বোঝানো হয়। এই আইডি ব্যবহার করে অ্যাসেটটি সম্পর্কে তথ্য পাওয়ার একটি উদাহরণ নিচে দেওয়া হলো।

পাইথন

print(ee.data.getAsset('projects/my-project/assets/my-asset'))

কোড সম্পাদক

print(ee.Image('projects/my-project/assets/my-asset'))

কমান্ড লাইন

earthengine asset info projects/my-project/assets/my-asset

সম্পদ তৈরি করুন

আপনি ফোল্ডার ও ইমেজ কালেকশন তৈরি করতে পারেন এবং লোকাল ফাইল বা গুগল ক্লাউড স্টোরেজ বাকেটের ফাইল থেকে ইমেজ ও টেবিল ইনজেস্ট করতে পারেন। সমর্থিত ইমেজ ফরম্যাটের মধ্যে রয়েছে GeoTIFF (স্ট্যান্ডার্ড ও COG) এবং TFRecord। সমর্থিত টেবিল ফরম্যাটের মধ্যে রয়েছে Shapefile এবং CSV। ( Earth Engine-এর অ্যানালাইসিসের ফলাফল Export.*.toAsset ব্যাচ ফাংশন ব্যবহার করে এক্সপোর্ট করার মাধ্যমেও অ্যাসেট তৈরি করা যায়)।

পাইথন ক্লায়েন্ট

ছবি

ক্লাউড স্টোরেজ থেকে ইমেজ ইনজেস্ট করতে ee.data.startIngestion ফাংশনটি ব্যবহার করুন। আপলোড কনফিগার করার বিষয়ে আরও তথ্যের জন্য ইমেজ ম্যানিফেস্ট পেজটি দেখুন।

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'tilesets': [
    {
      'sources': [
        {
          'uris': [
            'gs://my-bucket/filename.tif'
          ]
        }
      ]
    }
  ]
}
ee.data.startIngestion(None, manifest)

টেবিল

ক্লাউড স্টোরেজ থেকে টেবিল ইনজেস্ট করতে ee.data.startTableIngestion ফাংশনটি ব্যবহার করুন। আপলোড কনফিগার করার বিষয়ে আরও তথ্যের জন্য ইমেজ ম্যানিফেস্ট পৃষ্ঠাটি দেখুন।

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'sources': [
    {
      'uris': [
        'gs://my-bucket/filename.csv'
      ]
    }
  ]
}
ee.data.startTableIngestion(None, manifest)

ফোল্ডার বা ইমেজ কালেকশন

খালি ফোল্ডার বা ইমেজ কালেকশন তৈরি করতে ee.data.createAsset ফাংশনটি ব্যবহার করুন।

ee.data.createAsset(
    {'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
    'projects/my-project/assets/asset-name'
)

কোড সম্পাদক

অ্যাসেট ম্যানেজারের মধ্যে, NEW বোতামে ক্লিক করুন এবং ড্রপ-ডাউন তালিকা থেকে আপনি যে অ্যাসেট টাইপটি আপলোড বা তৈরি করতে চান তা নির্বাচন করুন। ডায়ালগ বক্সে অ্যাসেট আপলোড বা তৈরির বিষয়টি কনফিগার করুন।

কমান্ড লাইন

ছবি বা টেবিল

earthengine upload image --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.tif
earthengine upload table --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.csv

ফোল্ডার বা ইমেজ কালেকশন

খালি ফোল্ডার বা ইমেজ কালেকশন তৈরি করতে earthengine create কমান্ডটি ব্যবহার করুন।

earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name

বাহ্যিক চিত্র

আপনি গুগল ক্লাউড স্টোরেজ বাকেটে যে ক্লাউড-অপ্টিমাইজড জিওটিফ (COG) ফাইল আপলোড করেন, সেগুলোকে এক্সটার্নাল ইমেজ অ্যাসেট হিসেবে রেজিস্টার করে সরাসরি আর্থ ইঞ্জিনে ব্যবহার করা যায়। COG ব্যাকড অ্যাসেট এবং ম্যানিফেস্ট তৈরির বিষয়ে আরও তথ্যের জন্য রেফারেন্স ডক্স দেখুন।

earthengine alpha upload external_image --manifest /tmp/foo.json

সম্পদের তালিকা

পাইথন ক্লায়েন্ট

কোনো ফোল্ডার বা কালেকশনের অ্যাসেটগুলোর তালিকা দেখতে ee.data.listAssets ফাংশনটি ব্যবহার করুন (এটি রিকার্সিভ নয়)। ফিল্টারিং এবং পেজিনেশন সম্পর্কে আরও তথ্যের জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

ee.data.listAssets('projects/my-project/assets')

এছাড়াও ee.data.listImages এবং ee.data.listFeatures দেখুন।

কোড সম্পাদক

অ্যাসেটগুলো দেখতে অ্যাসেট ম্যানেজারে ফোল্ডারগুলো প্রসারিত করুন।

কমান্ড লাইন

কোনো ফোল্ডার বা কালেকশনের অ্যাসেটগুলোর তালিকা দেখতে earthengine ls কমান্ডটি ব্যবহার করুন (এটি রিকার্সিভ নয়)। তালিকাভুক্ত অ্যাসেটের সংখ্যা সীমিত করা এবং কী পরিমাণ বিস্তারিত তথ্য ফেরত দেওয়া হবে, সে সম্পর্কে আরও তথ্যের জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

earthengine ls projects/my-project/assets

সম্পদের অনুমতি নির্ধারণ করুন

পাইথন ক্লায়েন্ট

কোনো অ্যাসেটের উপর অনুমতি নির্ধারণ করতে ee.data.setAssetAcl ফাংশনটি ব্যবহার করুন।

asset_id = 'projects/my-project/assets/asset-name'
acl_update = {
    'owners': [
        'user:big_cheese@example.com',
        'user:el_jefe@example.com'
    ],
    'writers': [
        'user:romeo@example.com',
        'user:juliet@example.com'
    ],
    'readers': [
        'group:some-group@googlegroups.com',
        'domain:example.com',
        'serviceAccount:some-project-id@appspot.gserviceaccount.com'
    ],
    'all_users_can_read': False
}
ee.data.setAssetAcl(asset_id, acl_update)

কোড সম্পাদক

Within the Asset Manager, hold the pointer over an asset and click the share icon. In the dialog, enter an email address or domain to share the asset with, then select a permission level to grant from the drop list. Click the ADD ACCESS button to confirm the change. Check the "Anyone can read" box to grant any entity read permission. You can also provide access to Earth Engine apps from the dialog by selecting the app's name from the drop list (assets owned by the active Code Editor project).

কমান্ড লাইন

কোনো অ্যাসেটের রিড অ্যাক্সেস public বা private হিসেবে সেট করতে earthengine acl set কমান্ডটি ব্যবহার করুন।

earthengine acl set public projects/my-project/assets/asset-name

অ্যাসেটের রিড এবং রাইটের জন্য স্বতন্ত্র অনুমতি নির্ধারণ করতে earthengine acl ch কমান্ডটি ব্যবহার করুন।

earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-name

আরও বিস্তারিত তথ্যের জন্য কমান্ড লাইন রেফারেন্স পৃষ্ঠাটি দেখুন।

সম্পদের অনুমতি যাচাই করুন

পাইথন ক্লায়েন্ট

কোনো অ্যাসেটের অ্যাক্সেস কন্ট্রোল লিস্ট পেতে ee.data.getAssetAcl ফাংশনটি ব্যবহার করুন।

ee.data.getAssetAcl('projects/my-project/assets/asset-name')

কোড সম্পাদক

অ্যাসেট ম্যানেজারের মধ্যে, কোনো একটি অ্যাসেটের উপর পয়েন্টারটি ধরে রাখুন এবং শেয়ার আইকনে ক্লিক করুন। ডায়ালগ বক্সে ইমেল এবং ডোমেইনগুলির একটি তালিকা তাদের নিজ নিজ অ্যাক্সেস লেভেল সহ প্রদর্শিত হবে।

কমান্ড লাইন

কোনো অ্যাসেটের অ্যাক্সেস কন্ট্রোল লিস্ট পেতে earthengine acl get কমান্ডটি ব্যবহার করুন।

earthengine acl get projects/my-project/assets/asset-name

সম্পদ অনুলিপি করুন

পাইথন ক্লায়েন্ট

একটি অ্যাসেট কপি করতে ee.data.copyAsset ফাংশনটি ব্যবহার করুন।

ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')

কোড সম্পাদক

অ্যাসেট কপি করতে পাইথন ক্লায়েন্ট অথবা কমান্ড লাইন টুল ব্যবহার করুন।

কমান্ড লাইন

কোনো অ্যাসেট কপি করতে earthengine cp কমান্ডটি ব্যবহার করুন।

earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-name

সম্পদ স্থানান্তর বা নাম পরিবর্তন করুন

পাইথন ক্লায়েন্ট

কোনো অ্যাসেট সরাতে বা তার নাম পরিবর্তন করতে ee.data.renameAsset ফাংশনটি ব্যবহার করুন।

ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')

কোড সম্পাদক

স্থানান্তর

অ্যাসেট ম্যানেজারের মধ্যে, একটি অ্যাসেটকে টেনে একটি নতুন ফোল্ডারে রাখুন।

পুনঃনামকরণ

অ্যাসেট ম্যানেজারের মধ্যে, কোনো একটি অ্যাসেটের উপর পয়েন্টারটি ধরে রেখে এডিট আইকনে ক্লিক করুন এবং সম্পাদনাযোগ্য ইনপুট ফিল্ডে একটি নতুন নাম টাইপ করুন।

কমান্ড লাইন

কোনো অ্যাসেট সরাতে বা তার নাম পরিবর্তন করতে earthengine mv কমান্ডটি ব্যবহার করুন।

earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-name

সম্পদ মুছে ফেলুন

পাইথন ক্লায়েন্ট

কোনো অ্যাসেট ডিলিট করতে ee.data.deleteAsset ফাংশনটি ব্যবহার করুন।

ee.data.deleteAsset('projects/my-project/assets/asset-name')

কোড সম্পাদক

অ্যাসেট ডায়ালগ পেজটি খুলতে একটি অ্যাসেটে ক্লিক করুন, তারপর ডিলিট বাটনে ক্লিক করুন।

কমান্ড লাইন

কোনো অ্যাসেট ডিলিট করতে earthengine rm কমান্ডটি ব্যবহার করুন। রিকার্সিভ এবং ড্রাই রান অপশনগুলোর জন্য ফাংশন রেফারেন্স দেখুন।

earthengine rm projects/my-project/assets/asset-name

সম্পদের মেটাডেটা দেখুন

পাইথন ক্লায়েন্ট

অ্যাসেট মেটাডেটা পেতে ee.data.getAsset ফাংশনটি ব্যবহার করুন।

ee.data.getAsset('projects/my-project/assets/asset-name')

কোড সম্পাদক

অ্যাসেট ডায়ালগ পেজটি খুলতে একটি অ্যাসেটে ক্লিক করুন। অ্যাসেটের তথ্য দেখুন।

কমান্ড লাইন

অ্যাসেট মেটাডেটা পেতে earthengine asset info কমান্ডটি ব্যবহার করুন।

earthengine asset info projects/my-project/assets/asset-name

অ্যাসেট মেটাডেটা সেট করুন

নিম্নলিখিত অ্যাসেট মেটাডেটা সেট করা যেতে পারে:

  • start_time
  • end_time
  • properties

পাইথন ক্লায়েন্ট

অ্যাসেট মেটাডেটা আপডেট করতে ee.data.updateAsset ফাংশনটি ব্যবহার করুন।

asset_id = 'projects/my-project/assets/asset-name'
new_metadata = {
  'properties': {
    'name': 'value'
  },
  'start_time': '2024-10-02T15:01:24Z',
  'end_time': '2024-10-02T15:01:25Z',
}
update_these = ['start_time', 'end_time', 'properties']

ee.data.updateAsset(asset_id, new_metadata, update_these)

কোড সম্পাদক

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

কমান্ড লাইন

অ্যাসেট মেটাডেটা আপডেট করতে earthengine asset set কমান্ডটি ব্যবহার করুন। আরও তথ্যের জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

earthengine asset set \
  --time_start 2024-10-02T15:01:24 \
  --time_end 2024-10-02T15:01:25 \
  --property 'name=value' \
  projects/my-project/assets/asset-name

সম্পদের কোটা পরীক্ষা করুন

কোটা প্রকল্প পর্যায়ে প্রয়োগ করা হয়। ব্যবহার এবং কোটার সীমা পৃষ্ঠায় অ্যাসেট কোটা সম্পর্কে আরও জানুন।

পাইথন ক্লায়েন্ট

কোনো অ্যাসেট রুটের স্টোরেজ কোটা ব্যবহারের পরিমাণ জানতে ee.data.getAssetRootQuota ফাংশনটি ব্যবহার করুন।

ee.data.getAssetRootQuota('projects/my-project/assets')

কোড সম্পাদক

অ্যাসেট ম্যানেজারের মধ্যে, প্রজেক্ট রুটের উপর পয়েন্টারটি ধরে রাখুন এবং data_usage আইকনটিতে ক্লিক করুন। একটি তথ্যমূলক ডায়ালগ বক্স প্রদর্শিত হবে।

কমান্ড লাইন

অ্যাসেট কোটা পরীক্ষা করতে পাইথন ক্লায়েন্ট অথবা কোড এডিটর ব্যবহার করুন।