অ্যাসেট ম্যানেজ করা

Earth Engine অ্যাসেট হল প্রোজেক্টের মালিকানাধীন জিওস্পেশিয়াল ডেটা যা প্ল্যাটফর্মের মধ্যে স্টোর করা থাকে। আপনি নিজের ডেটা আপলোড করতে এবং Earth Engine বিশ্লেষণের মাধ্যমে তৈরি ডেটা অ্যাসেট হিসেবে স্টোর করতে পারবেন।

অ্যাসেটের ধরন

Earth Engine বিভিন্ন ডেটার ধরনের জন্য বিভিন্ন অ্যাসেট ফর্ম্যাট অফার করে, এর সাথে অর্গানাইজেশনের জন্য কন্টেনার এলিমেন্টও অফার করে।

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

অ্যাসেট অর্গানাইজেশন

Earth Engine অ্যাসেট ফোল্ডার ও সংগ্রহের একটি শ্রেণীবদ্ধ সিস্টেমে সাজানো থাকে। এই স্ট্রাকচারটি সাধারণ ফাইল সিস্টেমের মতোই।

রুট

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

ডিরেক্টরি

Earth Engine অ্যাসেট সাজানোর জন্য ট্রি-লাইক ডিরেক্টরি স্ট্রাকচার ব্যবহার করে। প্রতিটি ক্লাউড প্রোজেক্টে একটি রুট ডিরেক্টরি থাকে যাতে আলাদা আলাদা অ্যাসেট ও ফোল্ডার থাকতে পারে। ImageCollections হল একটি বিশেষ অ্যাসেট টাইপ যা বিশেষভাবে সম্পর্কিত ছবির সেট, যেমন টাইম সিরিজ বা মোজাইক ধরে রাখার জন্য ডিজাইন করা হয়েছে। ফোল্ডারের মতো নয়, ImageCollections-এ শুধু ছবির অ্যাসেট থাকতে পারে এবং এর মধ্যে অন্য ফোল্ডার বা কালেকশন নেস্ট করা যায় না।

  • folder_dataprojects/my-project/assets/
    • folder folder-name/
      • photo image-name
      • view_comfy table-name
      • স্যাটেলাইট featureview-name
      • bubble_chart classifier-name
      • photo_library imagecollection-name/
        • ফটো image-name-1
        • photo image-name-2

অ্যাসেট আইডি

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

Python

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

অ্যাসেট তৈরি করুন

আপনি ফোল্ডার ও ImageCollections তৈরি করতে এবং লোকাল ফাইল বা Google Cloud Storage বাকেটের ফাইল থেকে ছবি ও টেবিল ইনজেস্ট করতে পারবেন। কাজ করে এমন ছবির ফর্ম্যাটের মধ্যে GeoTIFF ও TFRecord অন্তর্ভুক্ত; Cloud Storage-এ Cloud Optimized GeoTIFFs (COGs) ইনজেস্ট করার পরিবর্তে রেজিস্টার করা যেতে পারে। যেসব টেবিল ফর্ম্যাট কাজ করে তার মধ্যে শেপফাইল ও CSV অন্তর্ভুক্ত। (ব্যাচ ফাংশন Export.*.toAsset ব্যবহার করে Earth Engine বিশ্লেষণের ফলাফল এক্সপোর্ট করার মাধ্যমেও অ্যাসেট তৈরি করা যেতে পারে)।

Python ক্লায়েন্ট

ছবি

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

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

সারণী

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

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

Folder বা ImageCollection

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

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

কোড এডিটর

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

কমান্ড লাইন

ছবি বা টেবিল

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

Folder বা ImageCollection

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

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

এক্সটার্নাল ছবি

Cloud Storage বাকেটে থাকা ক্লাউড অপ্টিমাইজড GeoTIFF (COG) ফাইল COG-ব্যাকড অ্যাসেট (API-তে এক্সটার্নাল ছবি বলা হয়) হিসেবে রেজিস্টার করা যেতে পারে এবং Earth Engine-এ সরাসরি ব্যবহার করা যেতে পারে। ম্যানিফেস্ট তৈরি করার জন্য COG রেজিস্ট্রেশন গাইড দেখুন।

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

অ্যাসেটের তালিকা

Python ক্লায়েন্ট

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

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

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

কোড এডিটর

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

কমান্ড লাইন

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

earthengine ls projects/my-project/assets

অ্যাসেট সংক্রান্ত অনুমতি সেট করুন

Python ক্লায়েন্ট

কোনও অ্যাসেটের অনুমতি সেট করতে 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)

কোড এডিটর

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

কমান্ড লাইন

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

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

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

অ্যাসেট সংক্রান্ত অনুমতি চেক করা

Python ক্লায়েন্ট

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

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

কোড এডিটর

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

কমান্ড লাইন

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

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

অ্যাসেট কপি করুন

Python ক্লায়েন্ট

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

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

কোড এডিটর

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

কমান্ড লাইন

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

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

অ্যাসেট সরানো বা নাম পরিবর্তন করা

Python ক্লায়েন্ট

কোনও অ্যাসেট সরাতে বা সেটির নাম পরিবর্তন করতে 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

অ্যাসেট মুছে দিন

Python ক্লায়েন্ট

অ্যাসেট মুছে দিতে ee.data.deleteAsset ফাংশন ব্যবহার করুন।

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

কোড এডিটর

অ্যাসেট ডায়ালগ পৃষ্ঠা খুলতে কোনও অ্যাসেটে ক্লিক করুন, তারপর মুছুন বোতামে ক্লিক করুন।

কমান্ড লাইন

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

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

অ্যাসেট মেটাডেটা দেখা

Python ক্লায়েন্ট

অ্যাসেট মেটাডেটা পেতে 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

Python ক্লায়েন্ট

অ্যাসেট মেটাডেটা আপডেট করতে 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

অ্যাসেট কোটা চেক করুন

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

Python ক্লায়েন্ট

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

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

কোড এডিটর

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

কমান্ড লাইন

অ্যাসেট কোটা চেক করতে Python ক্লায়েন্ট বা কোড এডিটর ব্যবহার করুন।