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

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

  • 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-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 में मौजूद, क्लाउड के लिए ऑप्टिमाइज़ किए गए GeoTIFF (सीओजी) को भी डेटा डालने के बजाय, रजिस्टर किया जा सकता है. Shapefile और CSV फ़ॉर्मैट वाली टेबल का इस्तेमाल किया जा सकता है. (Earth Engine के विश्लेषण के नतीजे को एक्सपोर्ट करके भी ऐसेट बनाई जा सकती हैं. इसके लिए, बैच फ़ंक्शन Export.*.toAsset का इस्तेमाल करें).

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

खाली फ़ोल्डर या 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

फ़ोल्डर या ImageCollection

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

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

बाहरी इमेज

Cloud Storage बकेट में मौजूद Cloud Optimized GeoTIFF (सीओजी) फ़ाइलों को, सीओजी-बैक्ड ऐसेट के तौर पर रजिस्टर किया जा सकता है. एपीआई में इन्हें बाहरी इमेज कहा जाता है. साथ ही, इन्हें सीधे Earth Engine में इस्तेमाल किया जा सकता है. मेनिफ़ेस्ट बनाने के लिए, सीओजी रजिस्ट्रेशन गाइड देखें.

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

कमांड लाइन

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