أداة earthengine
هي برنامج مساعدة يتيح لك إدارة مواد عرض Earth Engine
والمهام من سطر الأوامر. ويتم تثبيته تلقائيًا عند
تثبيت Python API. للتحقّق مما إذا كانت الأداة مثبّتة
وتعمل بشكل صحيح، اكتب ما يلي في سطر أوامر:
earthengine
في حال تثبيت الأداة بشكل صحيح، ستطبع الأداة ملخّصًا قصيرًا عن الأوامر المتاحة. للحصول على مساعدة بشأن أمر معيّن، استخدِم:
earthengine command -h
عند تثبيت Python API لأول مرة، عليك تسجيل الدخول باستخدام الأمر
authenticate
الموضّح أدناه. توضّح الأقسام التالية
الأوامر المتاحة بمزيد من التفصيل.
بيانات اعتماد حساب الخدمة
لاستخدام سطر الأوامر مع بيانات اعتماد حساب الخدمة، استخدِم العلامة
service_account_file
للإشارة إلى ملف JSON يحتوي على مفتاح حساب
الخدمة.
earthengine --service_account_file=service_account_creds.json
الاستخدام في Colab
أداة سطر أوامر Earth Engine مثبَّتة مسبقًا وجاهزة للاستخدام في Google Colab.
المصادقة
عليك المصادقة لكل جلسة جديدة في Colab أو إذا انتهت صلاحية الجهاز الظاهري بسبب عدم النشاط (لا يتم حفظ بيانات الاعتماد على مستوى الجلسات).
استورِد مكتبة عميل Python واتصل بـ ee.Authenticate()
لبدء عملية
المصادقة. اتّبِع التعليمات لإكمال عملية المصادقة. القيمة التلقائية لملف تعريف البريد الإلكتروني
auth_mode
في Colab هي colab
. يمكنك الاطّلاع على دليل المصادقة
لمعرفة الخيارات الأخرى.
import ee
ee.Authenticate()
تنفيذ الأوامر
لتشغيل أدوات سطر الأوامر، مثل واجهة سطر أوامر Earth Engine، عليك إضافة علامة تعجب قبل طلبات الأوامر.
!earthengine -h
إعداد مشروع على Cloud
استخدِم الخيار --project
لضبط مشروع على Cloud لكل أمر individual
earthengine
.
!earthengine --project my-project <command>
بدلاً من ذلك، يمكنك ضبط مشروع تلقائي ليستخدمه جميع earthengine
الطلبات باستخدام الأمر set_project
. ستتم إضافة المشروع
إلى ملف بيانات الاعتماد (~/.config/earthengine/credentials) وسيتم استخدامه للقيام
بالأوامر اللاحقة، ما لم يتم إلغاء ذلك باستخدام الخيار --project
!earthengine set_project my-project
مرجع الأوامر
مصادقة
مصادقة أداة سطر الأوامر ومكتبة Python للعملاء على Earth Engine مثال:
earthengine authenticate
يستخدم Earth Engine بروتوكول OAuth 2.0 للقيام بالمصادقة على العملاء. سيطلب منك الأمر earthengine authenticate إجراء عملية المصادقة باستخدام متصفّح الويب.
عليك تثبيت gcloud في حال استخدام وضع المصادقة التلقائي في gcloud. اطّلِع على أوضاع المصادقة الأخرى
المتوفّرة من خلال المَعلمة auth_mode
في دليل مصادقة العميل.
acl
تُستخدَم هذه الدالة لطباعة قائمة التحكّم بالوصول (ACL) لمادة عرض في Earth Engine أو تعديلها. تتحكّم قائمة التحكّم في الوصول في المستخدمين الذين يمكنهم قراءة مادة عرض أو الكتابة فيها. أمثلة:
earthengine acl get projects/my-project/assets/asset_id
earthengine acl set public projects/my-project/assets/asset_id
earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id
يطبع الأمر الفرعي get
وصفًا بتنسيق JSON لقائمة التحكّم بالوصول. يضبط الأمر الفرعي set
قائمة أذونات وصول مقدَّمة في ملف بتنسيق JSON نفسه. يمكنك
نسخ قائمة أذونات وصول مستخدمين من مادة عرض واحدة إلى مواد عرض أخرى من خلال حفظ الإخراج من get
وتقديمه إلى set
.
يقبل الأمر الفرعي set أيضًا اسمَي قائمة أذونات وصول خاصَّين:
private
: تزيل الأذونات من جميع المستخدمين باستثناء المالك.public
: لمنح إذن القراءة لجميع المستخدمين
يتيح لك الأمر الفرعي ch
إجراء تغييرات فردية على قائمة التحكّم في الوصول. لمنح إذن القراءة، حدِّد -u username@gmail.com:R
، ولمنح إذن الكتابة، حدِّد -u username@gmail.com:W
، ولإزالة أذونات المستخدم، حدِّد -d
username@gmail.com
. يمكن استخدام معرّف المستخدم الخاص AllUsers
لمنح
أو إبطال إذن القراءة لجميع المستخدمين أو من جميع المستخدمين. (يُرجى العلم أنّ إلغاء AllUsers
الأذونات لا يؤدي إلى إلغاء أي أذونات إضافية قد تكون قد منحتها أيضًا
للمستخدمين الفرديين).
مادة عرض
تُطبع البيانات الوصفية المرتبطة بمادة عرض في Earth Engine أو تعدّلها. أمثلة:
earthengine asset info projects/my-project/assets/asset_id
earthengine asset set -p name=value projects/my-project/assets/asset_id
يطبع الأمر الفرعي info
معلومات تفصيلية عن مادة العرض، بما في ذلك
بياناتها الوصفية، بتنسيق JSON. يحدِّد الأمر الفرعي set
سمات البيانات الوصفية الفردية
في مادة عرض.
يمكن أن تكون قيم سمات البيانات الوصفية التي تحدّدها إما أرقامًا أو سلاسل.
عند ضبط أسماء السمات باستخدام العلامة --property
أو -p
، عليك فصل اسم
السمة وقيمتها بعلامة يساوي. يتم رصد نوع البيانات
تلقائيًا، أو يمكنك تحديده صراحةً عن طريق إضافة (string)
أو (number)
أو (date)
قبل اسم السمة. على سبيل المثال، يؤدي ذلك إلى ضبط قيمة سلاسل ملف شخصي
بقيمة "42"
:
earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id
(تمنع الأقواس في هذا المثال الصدفة من تفسير الأقواس. قد تكون هذه الخطوات ضرورية أو غير ضرورية، وذلك حسب بيئة التشغيل والمنصة.)
لحذف موقع، اضبطه على null
بدون نوع:
earthengine asset set -p name=null projects/my-project/assets/asset_id
سمات التاريخ هي مجرد أرقام تمثّل عددًا من المللي ثانية منذ حقبة Unix (أي منتصف الليل في 1 كانون الثاني (يناير) 1970)، ويمكن تحديدها بشكل مباشر كرقم أو بأحد التنسيقات التالية:
YYYY-MM-DD
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ss.f
ويُفترض أنّ المنطقة الزمنية هي التوقيت العالمي المنسّق. يمكنك ضبط سمتَي وقت البدء والانتهاء الخاصة
باستخدام العلامتَين --time_start
و--time_end
:
earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id
cp
نسخ مادة عرض مثال:
earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
إنشاء
لإنشاء مجلدات وملفات صور جديدة مثال:
earthengine create folder projects/my-project/assets/folder_id
earthengine create collection projects/my-project/assets/collection_id
استخدِم الأمر الفرعي folder
لإنشاء المجلدات والأمر collection
لإنشاء
مجموعات الصور. يمكنك تحديد الخيار -p
لإنشاء مجلدات والد
بشكل متكرّر حسب الحاجة. تحتوي المجلدات والصور التي تم إنشاؤها حديثًا على جداول تحكم بالوصول الخاصة بشكلٍ default.
ls
يسرد محتوى مجلد أو مجموعة واحدة أو أكثر. مثال:
earthengine ls users/username
يطلب الخيار -l
تنسيقًا طويلاً يتضمّن مزيدًا من المعلومات عن كل مادة عرض
(حاليًا نوعها فقط). يمكنك تحديد --max_items number
(أو -m
لتحديد محتوى قصير) للحد من عدد العناصر من كل مجلد أو مجموعة تذكرها:
earthengine ls -m 10 projects/my-project/assets/my_large_collection
سيؤدي تشغيل الأمر ls
بدون أيّ وسيطات إلى إدراج المجلدات ذات المستوى الأعلى التي
تملكها.
نموذج
أداة لتعديل النماذج المحفوظة في TensorFlow
model prepare
حضِّر نموذجًا محفوظًا لعرضه في Earth Engine. على وجه التحديد، يحوّل ذلك
SavedModel
إلى نموذج مناسب لمعالجة الطلبات الواردة من Earth
Engine. (مزيد من المعلومات حول
SavedModel
)
earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'
يمكنك الاطّلاع على مزيد من المعلومات عن نماذج "منصّة الذكاء الاصطناعي" هنا. يمكنك الاطّلاع على مثال كامل هنا.
mv
نقل مادة عرض أو إعادة تسميتها مثال:
earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
project_config
تُستخدَم لضبط قيم إعدادات المشروع. قبل استخدام هذا الأمر، احرص على إعداد
مشروع باستخدام set_project
.
الحصول على
للاطّلاع على إعدادات مشروع، استخدِم الأمر الفرعي get
:
earthengine alpha project_config get
إذا كان لديك إذن بالاطّلاع على إعدادات مهمة الدُفعة في المشروع، يحتوي المخرج على ما يلي:
maxConcurrentExports
: رقم يشير إلى الحد الأقصى لعدد مهام المعالجة دُفعة واحدة التي يمكن تنفيذها بشكل متزامن على جميع المستخدمين للمشروع المحدّد. يتم تلقائيًا ضبط هذا الإعداد على الحد الأقصى المسموح به في خطة الاشتراك لحساب الفوترة المرتبط.
بالإضافة إلى ذلك، إذا كان لديك إذن بالاطّلاع على ملف ملف الإعدادات للخطة، يحتوي المخرج على ما يلي:
-
planMaxConcurrentExports
، وهو رقم يشير إلى الحد الأقصى لعدد المهام المُجمَّعة التي يمكن تنفيذها بشكل متزامن على مستوى جميع المستخدمين والمشاريع التي تستخدم حساب الدفع.
محدّدة
لتعديل إعدادات المشروع، استخدِم الأمر الفرعي set
. يمكن ضبط الإعدادات التالية:
max_concurrent_exports
للتحكّم في الحد الأقصى من مهام الدفعات التوازي- تتطلب الأذونات الصحيحة
على سبيل المثال، لضبط مشروع للسماح بتنفيذ 10 مهام فقط في وقت واحد للمشروع المحدّد:
earthengine alpha project_config set --max_concurrent_exports=10
يعرض الإخراج إعدادات المشروع المعدَّلة، والتي تتطابق مع ما يعرضه الإجراء
get
.
لمزيد من المعلومات عن معالجة المهام المجمّعة بشكل موازٍ، يُرجى الاطّلاع على صفحة Earth Engine الحصص.
غرف
لحذف مادة عرض واحدة أو أكثر مثال:
earthengine rm projects/my-project/assets/asset_id
earthengine rm -r projects/my-project/assets/folder_id
يمكنك استخدام العلامة -r
لحذف محتوى مجلد أو مجموعة
بشكل متكرر. للحفاظ على أمانك عند حذف مواد عرض متعددة، يمكنك استخدام العلامة
--dry_run
للتأكّد من العناصر التي سيتم حذفها بالضبط بدون
حذف أي عنصر.
set_project
لضبط مشروع Google Cloud الذي يتم من خلاله توجيه طلبات الحوسبة.
earthengine set_project foo-project
يجب تنفيذ هذا الأمر قبل تنفيذ الأوامر التي تتطلّب وظائف Cloud، مثل model
.
مهمة
تُطبِّع معلومات عن المهام التي تستغرق وقتًا طويلاً أو تُديرها. أمثلة:
earthengine task list
earthengine task list -l
earthengine task info TASK_ID
earthengine task cancel TASK_ID
يسرد الأمر الفرعي list
معلومات أساسية عن المهام التي
أرسلتها مؤخرًا. يطلب خيار -l
تنسيقًا طويلاً يتضمّن المزيد من المعلومات
حول كل مهمة. يطبع الأمر الفرعي info
معلومات تفصيلية عن
المهام الفردية. يُلغي الأمر الفرعي cancel
مهمة واحدة أو أكثر قيد التنفيذ.
تحميل
تحميل الصور أو الجداول من Google Cloud Storage إلى Earth Engine، أو إنشاء مواد عرض مستندة إلى صور خارجية
الصورة
لتحميل مادة عرض صورة باستخدام الإعدادات التلقائية:
earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif
إذا حدّدت ملفات صور إدخال متعددة، سيتم تفسيرها على أنّها مربّعات لمواد عرض صور فردية. يمكنك الاطّلاع على مزيد من المعلومات عن خيارات تحميل الصور إلى Earth Engine في مقالة تحميل مواد عرض الصور: خيارات المتقدّمة.
يمكنك تحديد سياسة تقليل الهرم باستخدام العلامة --pyramiding_policy
، والتي يمكن ضبطها على أي من mean
(الإعداد التلقائي) أو sample
أو mode
أو min
أو
max
. سيتيح لك ذلك التحكّم في كيفية إنشاء Earth Engine لهرم تصاعدي من
إصدارات بدرجة دقة أقل من صورتك:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif
يمكنك استخدام الرمز --last_band_alpha
للإشارة إلى أنّه يجب أخذ قناع الصورة
من قناة ألفا في النطاق الأخير:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif
يمكنك تحديد قيمة "ما مِن بيانات" باستخدام العلامة --nodata_value
. سيؤدي ذلك إلى حجب
أيّ بكسل في الصورة يحمل تلك القيمة:
earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif
يمكنك أيضًا تحديد سمات البيانات الوصفية لضبطها على مادة العرض باستخدام علامات
نفسها التي يقبلها الأمر asset set
الموضّح أعلاه.
ويتم أيضًا وصف الخيارات في دليل
بيان الصورة.
جدول
لتحميل ملف Shapefile أو CSV أو TFRecord من Google Cloud Storage إلى مادة عرض جدول Earth Engine، يمكنك استخدام أيّ مما يلي:
earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord
هناك العديد من الخيارات المتعلّقة بطريقة تفسير ملفات CSV وTFRecord. يمكنك الاطّلاع على قائمة كاملة بخيارات تحميل الجداول من خلال الانتقال إلى دليل جدول البيان أو باستخدام:
earthengine upload table -h
external_image
لإنشاء مادة عرض مستندة إلى صورة خارجية، شغِّل الأمر upload_image
مع بيان:
earthengine alpha upload external_image --manifest /tmp/foo.json
في ما يلي مثال على بيان التطبيق:
{
"name": "projects/{project}/assets/cogdemo1",
"tilesets": [
{ "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
],
"properties": {
"source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
},
"startTime": "2016-01-01T00:00:00.000000000Z",
"endTime": "2016-12-31T15:01:23.000000000Z"
}
اطّلِع على دليل Cloud GeoTIFF ودليل بيان الصور لمزيد من التفاصيل حول إنشاء البيان.