एसेट मैनेज करना

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 की ऐसेट को, फ़ोल्डर और कलेक्शन के क्रम के हिसाब से व्यवस्थित किया जाता है. इसका स्ट्रक्चर, सामान्य फ़ाइल सिस्टम जैसा होता है.

रूट

ऐसेट का मालिकाना हक, Cloud प्रोजेक्ट के पास होता है. प्रोजेक्ट का नाम, ऐसेट डायरेक्ट्री का रूट तय करता है. उदाहरण के लिए, my-project का रूट है projects/my-project/assets. my-project से जुड़ी सभी ऐसेट, projects/my-project/assets फ़ोल्डर या इसके किसी सब-फ़ोल्डर (या ImageCollection) में होती हैं.

डायरेक्ट्री

Earth Engine, ऐसेट को व्यवस्थित करने के लिए, ट्री-जैसे डायरेक्ट्री स्ट्रक्चर का इस्तेमाल करता है. हर Cloud प्रोजेक्ट में एक रूट डायरेक्ट्री होती है. इसमें अलग-अलग ऐसेट और फ़ोल्डर शामिल हो सकते हैं. ImageCollection, ऐसेट का एक खास टाइप है. इसे खास तौर पर, मिलती-जुलती इमेज के सेट सेव करने के लिए डिज़ाइन किया गया है. जैसे, टाइम सीरीज़ या मोज़ेक. फ़ोल्डर के उलट, ImageCollection में सिर्फ़ इमेज ऐसेट शामिल हो सकती हैं. इनमें अन्य फ़ोल्डर या कलेक्शन को नेस्ट नहीं किया जा सकता.

  • folder_dataprojects/my-project/assets/
    • folder folder-name/
      • photo image-name
      • view_comfy table-name
      • satellite featureview-name
      • bubble_chart classifier-name
      • photo_library imagecollection-name/
        • photo image-name-1
        • photo image-name-2

ऐसेट का आईडी

Earth Engine, स्क्रिप्ट और कमांड-लाइन कार्रवाइयों में डेटा को रेफ़र करने के लिए, ऐसेट आईडी का इस्तेमाल करता है. ये डायरेक्ट्री के बीच सेपरेटर के तौर पर फ़ॉरवर्ड स्लैश (/) का इस्तेमाल करके, ऐसेट की जगह तय करते हैं. उदाहरण के लिए, projects/my-project/assets/my-asset से पता चलता है कि "my-asset" नाम की ऐसेट, "my-project" रूट में मौजूद है. यहां, ऐसेट के बारे में जानकारी पाने के लिए, इस आईडी का इस्तेमाल करने का एक उदाहरण दिया गया है.

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

ऐसेट बनाएं

आपके पास फ़ोल्डर और ImageCollection बनाने के साथ-साथ, स्थानीय फ़ाइलों या Google Cloud Storage बकेट में मौजूद फ़ाइलों से इमेज और टेबल इंपोर्ट करने का विकल्प होता है. इमेज के लिए, GeoTIFF (स्टैंडर्ड और COG) और TFRecord फ़ॉर्मैट का इस्तेमाल किया जा सकता है. टेबल के लिए, Shapefile और 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)

फ़ोल्डर या ImageCollection

खाली फ़ोल्डर या ImageCollection बनाने के लिए, 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

फ़ोल्डर या ImageCollection

खाली फ़ोल्डर या ImageCollection बनाने के लिए, earthengine create कमांड का इस्तेमाल करें.

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

अज्ञात सोर्स से इमेज

Google Cloud Storage बकेट पर अपलोड की गई, क्लाउड के लिए ऑप्टिमाइज़ की गई GeoTIFF (COG) फ़ाइलों को, अज्ञात सोर्स से मिली इमेज ऐसेट के तौर पर रजिस्टर किया जा सकता है. साथ ही, इन्हें Earth Engine में सीधे इस्तेमाल किया जा सकता है. COG से जुड़ी ऐसेट और मैनिफ़ेस्ट बनाने के बारे में ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.

earthengine alpha 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 ऐप्लिकेशन का ऐक्सेस भी दिया जा सकता है. इसके लिए, ड्रॉप-डाउन सूची से ऐप्लिकेशन का नाम चुनें. यहां, ऐक्टिव कोड एडिटर प्रोजेक्ट के मालिकाना हक वाली ऐसेट दिखेंगी.

कमांड लाइन

किसी ऐसेट के पढ़ने के ऐक्सेस को 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

ज़्यादा जानकारी के लिए, कमांड लाइन रेफ़रंस पेज देखें.

ऐसेट की अनुमतियां देखना

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 क्लाइंट या कोड एडिटर का इस्तेमाल करें.