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

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 प्रोजेक्ट में एक रूट डायरेक्ट्री होती है. इसमें अलग-अलग एसेट और फ़ोल्डर हो सकते हैं. इमेज कलेक्शन, ऐसेट का एक खास टाइप है. इसे खास तौर पर, मिलती-जुलती इमेज के सेट को सेव करने के लिए डिज़ाइन किया गया है. जैसे, टाइम सीरीज़ या मोज़ेक. फ़ोल्डर के उलट, इमेज कलेक्शन में सिर्फ़ इमेज ऐसेट शामिल की जा सकती हैं. इनमें अन्य फ़ोल्डर या कलेक्शन को नेस्ट नहीं किया जा सकता.

  • 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/
        • फ़ोटो 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 (स्टैंडर्ड और COG) और TFRecord शामिल हैं. टेबल के इन फ़ॉर्मैट का इस्तेमाल किया जा सकता है: शेपफ़ाइल और 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

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

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

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

कमांड लाइन

किसी ऐसेट के लिए, पढ़ने का ऐक्सेस 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 क्लाइंट या कोड एडिटर का इस्तेमाल करें.