الأسئلة الشائعة

أسئلة عامة

لديّ مشكلة وأحتاج إلى المساعدة.

اطرح سؤالاً باتّباع هذا الدليل، وقدِّم أكبر قدر ممكن من المعلومات (راجِع دليل Stack Overflow لطرح أسئلة جيدة). يعني ذلك عادةً ما يلي:

  • إرسال رابط إلى نص برمجي في "محرّر النصوص البرمجية" (انقر على الزر "الحصول على الرابط" للحصول عليه)

  • مشاركة أي مواد عرض مطلوبة لتنفيذ النص البرمجي

  • بالنسبة إلى مهام الدُفعات التي تعذّر تنفيذها، يجب الإبلاغ عن رقم تعريف المهمة التي تعذّر تنفيذها. تكون معرّفات المهام على النحو التالي: 4C25GIJBMB52PXTEJTF4JLGL. ويمكن العثور عليها في علامة التبويب "المهمة" في "محرّر الرموز". مزيد من المعلومات

أين يمكنني الاطّلاع على معلومات حول بنية Earth Engine؟

يمكنك الاطّلاع على هذه الورقة: Gorelick et al. 2017.

اطّلِع على صفحتَي EDU ومراجع التدريب.

يمكنك الاطّلاع على دورة EE المجانية هذه التي يقدّمها "أوجافال غاندي"، وهي تتضمّن فيديو يتضمّن مقدمة عن الاستشعار عن بُعد.

برمجة Earth Engine

ما هي بعض أخطاء الترميز الشائعة؟

راجِع دليل تصحيح الأخطاء.

لماذا تظهر لي رسالة الخطأ "... ليس دالة"؟

يحدث هذا الخطأ عندما يتعذّر على Earth Engine العثور على الطريقة التي تم استدعاؤها. يُرجى مراجعة الأسباب الشائعة التالية:

التدقيق الإملائي أو الحساسية لحالة الأحرف: تكون الطرق حساسة لحالة الأحرف. تحقَّق من الإملاء باستخدام مرجع واجهة برمجة التطبيقات.

Error: img.normalizedDiff(...) -> Correct: img.normalizedDifference(...)

عمليات تحويل الأنواع غير المكتملة: القيم التي يتم عرضها من دوال مثل .get() هي مثيلات ee.ComputedObject عامة ويجب تحويلها بشكل صريح. راجِع مقالة تحويل نوع الكائن غير المعروف.

Error: dict.get('val').add(5) -> Correct: ee.Number(dict.get('val')).add(5)

الخلط بين طرق العميل والخادم: تأكَّد من عدم استخدام طرق JavaScript أو Python العادية (مثل .push() أو .append()) على عناصر Earth Engine. اطّلِع على تجنُّب الخلط بين وظائف العميل والخادم.

Error: list.push(4) or list.append(4) -> Correct: list.add(4)

الطُرق غير المتاحة: إذا كان نوع العنصر صحيحًا وكانت الطريقة متوفرة في المستندات أو كانت تعمل في السابق ولكنها لم تعد تعمل الآن، يُرجى الإبلاغ عن خطأ.

لماذا لا يمكنني استخدام العمليات الحسابية الأساسية مثل ee.Image("image") * 2؟

في EE، يجب عدم الخلط بين العمليات أو العناصر من جهة الخادم ومن جهة العميل. يتم تنفيذ جميع العمليات على عناصر "محرك Google Earth" من جهة الخادم. لن تؤدي أي عمليات حسابية من جهة العميل الغرض المطلوب منها. يمكنك الاطّلاع على هذه الصفحة لمزيد من التفاصيل.

كيف يمكنني استخدام عبارات for أو if/else؟

تتم برمجة Earth Engine باستخدام لغة وظيفية، لذا يجب التعبير عن الحلقات والعمليات الشرطية باستخدام مفاهيم مكافئة مثل map أو filter. يمكنك الاطّلاع على هذه الصفحة لمزيد من التفاصيل.

كيف يمكنني عرض تصنيفات نصية في الصورة أو الفيديو؟

لا تتوفّر ميزة مدمجة لتصنيفات النصوص، ولكن يمكنك إجراء ما يلي:

هل يمكنني استخدام بعض لوحات الألوان العادية؟

استخدِم حزمة JS تابعة لجهة خارجية ee-palettes.

كيف يمكنني إنشاء موقع إلكتروني خاص بي يستخدم Earth Engine؟

استخدام تطبيقات Earth Engine للتطبيقات الأساسية في الحالات الأكثر تعقيدًا، يمكنك إنشاء تطبيقات App Engine مستندة إلى EE.

طريقة عمل معرّفات الخرائط

معرّفات الخرائط (المعروفة باسم mapid في جميع أنحاء واجهة برمجة التطبيقات) هي مفاتيح تتيح للعملاء جلب مربّعات الخرائط. كل معرّف هو قيمة تجزئة تم إنشاؤها من خلال تقديم تعبير صورة إلى نقطة النهاية getMapId. معرّفات النتائج هي مفاتيح تشير إلى كل من تعبير الصورة وبيانات اعتماد المستخدم التي سيتم استخدامها لإنشاء مربّعات في مرحلة لاحقة.

يتضمّن طلب مربّعات الخريطة تحديد موقع المربّع (x وy وzoom) بالإضافة إلى mapid (مفتاح الصورة وبيانات الاعتماد). يمكن إعادة استخدام رقم التعريف نفسه لتحميل العديد من مربّعات الخرائط. لا توجد قيود على إعادة استخدام مفاتيح mapid، ولكن تنتهي صلاحيتها بعد بضع ساعات. لا ننشر أُطرًا زمنية محددة بشأن مدة استمرارها، ولكن يجب أن تكون أي شفرة تكتبها قادرة على التعامل مع انتهاء صلاحية المعرّف.

يتضمّن إنشاء هذه المعرّفات تخزين كمية صغيرة من البيانات والتحقّق من صحة بيانات الاعتماد، لذا من الأفضل إعادة استخدامها لأطول فترة ممكنة. لا يوجد حصة API مرتبطة بنقطة النهاية getMapId تحديدًا، ولكن من المحتمل أن يكون هناك خطأ في أي سير عمل يتضمّن إنشاء عناصر mapid بمعدّل قريب من معدّل استرداد المربّعات. لا يتضمّن Earth Engine نقطة نهاية لواجهة برمجة التطبيقات تتيح إزالة هذه المعرّفات أو إدراجها أو إدارتها، لأنّها موارد مؤقتة.

لماذا تطبع الدالة ee.Algorithms.If() كلتا الحالتين الصحيحة والخاطئة؟

function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());

تعمل خوارزمية If() تمامًا مثل أي خوارزمية أخرى على Earth Engine، إذ يجب تقييم جميع وسيطاتها قبل أن تتمكّن الخوارزمية نفسها من التنفيذ. تحصل الخوارزمية على نتائج trueCase وfalseCase، ثم تختار نتيجة واحدة وتعرضها استنادًا إلى الوسيطة condition، ولكن كان يجب تنفيذ كلا المسارين حتى يتم تمرير هاتين القيمتين إلى الخوارزمية في المقام الأول.

تظهر لي رسالة الخطأ "يتجاوز حجم حمولة الطلب الحدّ المسموح به"

تحاول إرسال طلب كبير جدًا إلى Earth Engine. يحدث ذلك عادةً عندما يستخدم الرمز البرمجي الكثير من حلقات "for" من جهة العميل أو ينشئ FeatureCollection من العديد من عناصر الأشكال الهندسية. في الحالة الأخيرة، بدلاً من إنشاء أشكال هندسية مماثلة في البرنامج النصي، يمكنك إنشاء ملف CSV يحتوي عليها ثم تحميله إلى عنصر جدول.

ما الفرق بين ee.Image.clip() وee.Filter.bounds()؟

يُرجى الاطّلاع على سلسلة المحادثات هذه على GIS Stack Exchange. تخفي الدالة ee.Image.clip() وحدات البكسل التي لا تتقاطع مع ee.Geometry أو ee.Feature معيّنَين، ما يجعلها شفافة في التمثيلات المرئية ويستبعدها من العمليات الحسابية. يمكنك التفكير في الأمر على أنّه اقتصاص لوحدات البكسل من صورة.

تفلتر الدالة ee.Filter.bounds() عناصر ee.Image من ee.ImageCollection استنادًا إلى تقاطع الصورة مع ee.Geometry أو ee.Feature. يُستخدم هذا المعامل لحصر نطاق التحليل على الصور التي تتقاطع مع منطقة معيّنة فقط، ما يساعد في تحسين التعبيرات.

كيف يمكن تحويل وحدات بكسل الصور إلى مجموعات من العناصر، مع عنصر واحد لكل وحدة بكسل؟

استخدِم الدالة ee.Image.sample(). يمكنك الاطّلاع على أمثلة الاستخدام في صفحة المرجع الخاصة بواجهة برمجة التطبيقات للدالة.

ما هو الفرق بين اشتراكَي ee.ImageCollection.merge() وee.ImageCollection.combine()؟

تدمج الدالة ee.ImageCollection.merge() جميع الصور من مجموعتَين في مجموعة واحدة، بغض النظر عمّا إذا كانت الصور المعنية تتضمّن نطاقات أو بيانات وصفية أو نظام إحداثيات أو مقياسًا متطابقًا. وهي عبارة عن اتحاد مجموعتين. تجمع طريقة combine() نطاقات الصور المتطابقة من مجموعتَين في مجموعة واحدة. تتشارك الصور المتطابقة رقم التعريف نفسه (السمة system:index). وهي عبارة عن عملية ربط داخلي لمجموعتَين استنادًا إلى معرّف الصورة، حيث يتم دمج النطاقات من الصور المتطابقة. للحصول على صور متطابقة، تتم إضافة نطاقات من الصورة الثانوية إلى الصورة الأساسية (الكتابة فوقها اختيارية). إذا لم تكن هناك أي صور مطابقة، سيتم عرض مجموعة فارغة.

كيف يمكن فلترة مجموعات الصور حسب فواصل زمنية متعددة؟

يُرجى الاطّلاع على سلسلة المحادثات هذه على GIS Stack Exchange. يمكنك استخدام merge() عدة مجموعات معًا أو استخدام ee.Filter.or().

كيفية إنشاء مربّع إحاطة حول نقطة معيّنة

// Buffer the point by a chosen radius and then get the bounding box.
var LNG = -117.298;
var LAT = 45.162;
var point = ee.Geometry.Point([LNG, LAT]);
var buffer = point.buffer(30000); // half of box width as buffer input
var box = buffer.bounds(); // draw a bounding box around the buffered point
Map.centerObject(box);
Map.addLayer(point);
Map.addLayer(box);

// Map the buffer and bounds procedure over a point feature collection.
var pointCol = ee.FeatureCollection([
  ee.Feature(ee.Geometry.Point([LNG + 1, LAT])),
  ee.Feature(ee.Geometry.Point([LNG - 1, LAT]))
]);
var boxCol = pointCol.map(function(feature) {
  var box = feature.buffer(30000).bounds();
  return feature.setGeometry(box.geometry());
});
Map.addLayer(boxCol);

Data Catalog

هل يمكنك إضافة مجموعة البيانات X؟

يمكنك الإبلاغ عن خطأ في طلب مجموعة بيانات باتّباع دليل طلب مجموعة البيانات.

يمكنك أيضًا تحميل البيانات إلى مجلدك الرئيسي في Earth Engine. اطّلِع على استيراد بيانات نقطية واستيراد بيانات جدول.

تتوفّر نسخة جديدة من مجموعة بيانات حالية

أبلِغ عن خطأ في مجموعة البيانات باتّباع دليل طلب مجموعة البيانات، وأشِر إلى أنّك تطلب تعديل مجموعة البيانات.

عدم تعديل مجموعة بيانات حالية أو عدم توفّر مواد عرض

قبل الإبلاغ عن مشكلة، يُرجى التأكّد، إذا أمكن، من أنّ الأصول المحدّدة متوفّرة فعلاً على موقع مقدّم مجموعة البيانات. يمكنك الاطّلاع على الدليل حول الصور غير المتوفّرة للحصول على مزيد من التفاصيل.

إذا كنت تبحث عن مادة عرض من خلال فلترة ImageCollection، تأكَّد من أنّ الفلاتر ليست محدودة جدًا.

يُرجى الانتباه إلى ما يلي على وجه الخصوص:

  • لم تنتج وكالة الفضاء الأوروبية بيانات Sentinel-2 SR (المستوى 2) للمشاهد المبكرة من المستوى 1.

  • لا تتوفّر بيانات Landsat على مستوى العالم قبل عام 2000.

مجموعة بيانات حالية تحتوي على قيم خاطئة

نشر مشاركة في منتدى المطوّرين تضمين نص برمجي يكبّر دقة مادة العرض الأصلية ويوضّح القيم الخاطئة يُرجى توضيح المكان الذي رصدت فيه القيمة البديلة.

أين يمكنني طرح أسئلة أخرى حول مجموعات البيانات؟

إذا كانت لديك أسئلة حول مجموعات بيانات وكالة "ناسا"، يمكنك الاطّلاع على منتدى بيانات الأرض التابع لوكالة "ناسا".

للحصول على إجابات عن أسئلة حول مجموعات الأدوات التي تعمل على مجموعات بيانات Copernicus، يُرجى الاطّلاع على منتديات S1 وS2 وS3.

ما هو حجم كتالوج EE؟

اعتبارًا من تشرين الأول (أكتوبر) 2023، تحتوي القائمة على أكثر من 1, 000 مجموعة بيانات. ويبلغ حجمها على القرص أكثر من 90 بيتابايت (بعد أخذ الضغط بدون فقدان الجودة في الاعتبار).

ما هو معدّل تكرار تعديل البيانات في "التجربة المخصّصة"؟

عادةً، يتم تعديل جميع مجموعات البيانات الجارية مرة واحدة على الأقل يوميًا (مع أنّ بعض مجموعات البيانات هذه لا تتضمّن بيانات جديدة كل يوم). يتم تعديل بعض مجموعات البيانات عدة مرات في اليوم. ومع ذلك، لا توجد سياسة تضمن توفّر أحدث الأصول في الكتالوج.

كيف يمكنني عرض محتوى كتالوج EE آليًا؟

يتم تصدير قائمة مجموعات البيانات بتنسيق STAC إلى حزمة Google Cloud Storage gs://earthengine-stac. ملف الإدخال هو catalog.json.

هل يمكنني استخدام بيانات "خرائط Google" أو صورها للتحليل؟

لا ترخّص Google بيانات الخريطة الأساسية أو تبيعها لأغراض التحليل.

كيف يمكنني العثور على تاريخ استيعاب مادة عرض؟

خاصية مادة العرض 'system:version' هي الطابع الزمني للاستيعاب، ويتم تنسيقه على شكل ميكروثانية منذ بدء حقبة Unix. في ما يلي مثال يحوّل الطابع الزمني للاستيعاب الخاص بصورة Landsat إلى تنسيق يمكن قراءته.

var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));

هل يتضمّن "كتالوج Earth Engine" بيانات وصفية بتنسيق JSON-LD؟

نعم، يتم تضمين البيانات الوصفية JSON-LD في صفحات HTML الخاصة بالفهرس. على سبيل المثال، تحتوي صفحة Sentinel-2 على الحظر التالي:

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
      "@type": "ListItem",
      "position": 1,
      "name": "Earth Engine Data Catalog",
      "item": "https://developers.google.com/earth-engine/datasets"
    },{
      "@type": "ListItem",
      "position": 2,
      "name": "Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
      "item": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED"
    }]
  }
  </script>

Landsat

كيف يتم تنفيذ خوارزمية simpleComposite؟

إنّ عملية التنفيذ من جهة الخادم تعادل رمز JavaScript هذا.

كيف يمكنني إنشاء مركّبات خالية من السحب من بيانات انعكاس السطح في Landsat؟

تتضمّن بيانات Landsat من المستوى 2 (انعكاس السطح) عدة نطاقات جودة يمكن استخدامها لإخفاء الغيوم وغيرها من العناصر غير المرغوب فيها في الصورة. يمكنك الاطّلاع على مثال لاستخدام هذه النطاقات في معالجة صور Landsat 8 SR وإنشاء صورة مركّبة متوسطة وخالية من السحب في منشور GIS Stack Exchange هذا. يتم استخدام الإجراء نفسه لإنشاء صورة مركّبة خالية من السحب لاستخدامها في أمثلة التصنيف الخاضع للإشراف في &quot;دليل المطوّر&quot;.

هل هناك حاجة إلى تنسيق انعكاس السطح في Landsat بين أجهزة الاستشعار المختلفة؟

Roy et al.,‎ تضمّن تقرير 2016 تحليلاً للاختلافات في الانعكاسية بين Landsat 7-8 TOA وانعكاسية السطح. وقد نشروا معاملات OLS وRMA ليتمكّن القرّاء من تحويل قيم الانعكاس الخاصة ببيانات أحد أجهزة الاستشعار إلى بيانات جهاز استشعار آخر. يقول السطر الأخير من البحث: "على الرغم من أنّ الاختلافات بين أدوات الاستشعار صغيرة جدًا، إلا أنّها قد يكون لها تأثير كبير حسب تطبيق بيانات Landsat". ومع ذلك، استند هذا التحليل إلى بيانات تم جمعها مسبقًا.

قد تؤثّر التحسينات التي تم إجراؤها أثناء إعادة معالجة المجموعتين 1 و2 في العلاقة بين أجهزة الاستشعار، ولكن حسب علمنا، لم يتم إجراء أي تحليلات مشابهة لتحليل Roy et al. (2016) لبيانات المجموعتين 1 و2. على الرغم من عدم إجراء تحليل رسمي، يبدو أنّ هناك إجماعًا عامًا بين مستخدمي Landsat المؤثّرين على أنّه لا حاجة إلى تصحيح بيانات المجموعة 2، المستوى 2 (انعكاس السطح). على سبيل المثال، في ردّ على سؤال بشأن الحاجة إلى التوافق مع المجموعة 2، المستوى 2، أشار مايك وولدر من فريق Landsat Science إلى أنّه استنادًا إلى طبيعة التطبيق المعنيّ (بما في ذلك رسم خرائط الغطاء الأرضي ورصد التغيّرات)، فإنّ منتجات انعكاس السطح من المجموعة 2 مناسبة وموثوقة للغاية، بدون الحاجة إلى تعديل البيانات من أجهزة الاستشعار المختلفة.

كيف يمكنني إخفاء السُحب وظلالها في صور نظام المسح متعدد الأطياف (MSS)؟

تتضمّن وحدة msslib التابعة لجهة خارجية في &quot;محرّر رموز JavaScript&quot; عملية تنفيذ خوارزمية MSScvm، بالإضافة إلى وظائف مفيدة أخرى لاستكشاف بيانات MSS وإعدادها.

إدارة بيانات

من يملك البيانات التي أحمّلها؟

وفقًا لبنود خدمة Earth Engine، يملك العملاء البيانات التي يحمّلونها إلى Earth Engine.

لا يمكنني تحميل البيانات!

تحقَّق من حالة مهمة التحميل في لوحة "المهام" في أعلى يسار محرّر التعليمات البرمجية. يمكنك أيضًا الاطّلاع على صفحة المهام المخصّصة.

إذا لم تكن هناك مهمة، من المحتمل أنّك حاولت تحميل ملفك من خلال "محرّر التعليمات البرمجية"، ولكن بسبب مشكلة في الشبكة، لم يكتمل تحميل الملف، وبالتالي لم يتم إنشاء المهمة. جرِّب استخدام متصفّح آخر أو جهاز كمبيوتر آخر.

إذا كانت هناك مهمة غير ناجحة، تحقَّق من الخطأ الذي تعرضه. إذا لم تظهر رسالة خطأ محدّدة، تأكَّد أولاً من أنّ ملفك غير تالف من خلال تشغيل gdalinfo لملفات الصور النقطية أو ogr2ogr لملفات الرسومات المتجهة. ستحاول هذه الأوامر قراءة كل البيانات من الملفات المصدر وعرض الأخطاء إذا كانت الملفات تالفة.

مثال على طلب gdalinfo:

gdalinfo -mm -stats -checksum file.tif

مثال على طلب ogr2ogr سيحوّل in.shp إلى out.csv:

ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp

إذا بدا الملف صالحًا، أرسِل رقم تعريف المهمة التي تعذّر تنفيذها كنص (وليس كلقطة شاشة) إلى القائمة البريدية للمطوّرين. تتّبع أرقام تعريف المهام التنسيق التالي: 4C25GIJBMB52PXTEJTF4JLGL. اجعل ملف المصدر قابلاً للقراءة من الجميع إذا أمكن. إذا كان الملف خاصًا، شارِكه مع earthengine@google.com فقط إذا أردت أن يراجعه فريق Earth Engine. إذا لم يكن من الممكن مشاركة الملف المصدر، يجب على الأقل تقديم ناتج gdalinfo -mm -stats -checksum.

إذا كانت Earth Engine لا تتوافق مع نظام إسقاط معيّن، عليك إعادة إسقاط البيانات قبل تحميلها باستخدام أداة، مثل gdalwarp.

كيف يمكنني تحميل ملف بتنسيق NetCDF أو أي تنسيق نقطي آخر غير متوافق؟

يمكن تحميل ملفات GeoTIFF فقط إلى Earth Engine. يمكن تحويل التنسيقات الأخرى المتوافقة مع GDAL إلى GeoTIFF باستخدام gdal_translate. مثال:

gdal_translate -co COMPRESS=DEFLATE file.nc file.tif

يُرجى العِلم أنّ بعض ملفات NetCDF أو HDF تتألف من مجموعات بيانات فرعية متعددة يمكن العثور عليها باستخدام gdalinfo. سيبدو الأمر gdal_translate في هذه الحالة على النحو التالي (يُرجى ملاحظة أنّ المسار بين علامتَي الاقتباس المزدوجتَين):

gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif

في بعض الأحيان، لا تحتوي ملفات NetCDF على إسقاط يتعرّف عليه GDAL. في هذه الحالة، عليك ضبط الإسقاط والنطاق المكاني في سطر الأوامر gdal_translate. مثال:

gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid

ما هي خوارزميات الضغط التي يمكنني استخدامها لملفات GeoTIFF التي تم تحميلها؟

لتحميل ملفات GeoTIFF، يمكن ضغطها باستخدام DEFLATE أو JPEG أو JPEG-XL/JXL أو LERC أو LERC_DEFLATE أو LERC_ZSTD أو LZMA أو LZW أو WEBP أو ZSTD. لقراءة ملفات COG مباشرةً، يمكنك استخدام DEFLATE أو JPEG أو LZW أو ZSTD. يُعدّ ZSTD خيارًا جيدًا بشكل عام لأنّه سريع في فك الضغط مع الحفاظ على جودة الضغط لمعظم الصور.

لتطبيق ضغط ZSTD عند استخدام gdal_translate، أضِف الخيارات التالية. إذا كانت البيانات تتضمّن قيمًا ذات فاصلة عشرية، غيِّر PREDICTOR إلى 3.

gdal_translate in.tif out.tif \
  -co COPY_SRC_OVERVIEWS=YES \
  -co TILED=YES \
  -co BLOCKXSIZE=512 \
  -co BLOCKYSIZE=512 \
  -co COMPRESS=ZSTD \
  -co PREDICTOR=2 \
  -co ZSTD_LEVEL=22 \
  -co INTERLEAVE=BAND \
  -co NUM_THREADS=ALL_CPUS

استغرق إدخال بيانات الصور النقطية عدة أيام ولم ينتهِ.

باستخدام gdalinfo، تحقَّق مما إذا كان ملفك يتضمّن خيار GDAL التالي: INTERLEAVE=PIXEL. بالنسبة إلى الملفات التي تتضمّن هذا الخيار والعديد من النطاقات، قد لا تنتهي عملية الاستيعاب أبدًا لأنّ تخطيط هذه الملفات يؤدي إلى بطء كبير في عمليات القراءة.

حاوِل تحويل هذه الملفات إلى تنسيق "تداخل النطاقات" قبل تحميلها:

gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif

لا تتطابق الصور النقطية التي حمّلتها مع الخريطة الأساسية.

إذا كانت البيانات منحرفة قليلاً عن الخريطة الأساسية، من المحتمل أن يكون الإسقاط يتضمّن مرجعًا مكانيًا غير صحيح (افتراض بشأن شكل الأرض). ويحدث ذلك غالبًا مع الإسقاط الجيبي الذي لا يمكن ترميزه بالكامل في بيانات GDAL الوصفية. عندما تعرف الإسقاط المستهدَف الذي يجب استخدامه (مثل SR-ORG:6974 للملفات التي تستخدم الإسقاط الجيبي MODIS)، اضبط العلامة --crs أثناء التحميل من سطر الأوامر أو الحقل crs في بيان التحميل.

إذا ظهرت البيانات مشوّهة بشكل كبير أو في المكان الخاطئ تمامًا، من المحتمل أن يكون الإسقاط أو التحويل التشابهي غير صحيح.

لا يظهر رسم النقاط الخاص بي إلا فوق نصف الكرة الشرقي.

من المحتمل أنّك حمّلت صورة نقطية عالمية تغطي نطاق خطوط الطول [0, 360]. ومع ذلك، تتطلّب Earth Engine أن تكون الصور النقطية ضمن النطاق [-180, 180]. ابدّل النصفين الأيمن والأيسر من الصورة النقطية قبل إدخالها. الاطّلاع على هذه الاقتراحات من GIS Stack Exchange

لماذا تبدو صورة التصنيف التي تمّت إضافتها منقّطة؟

من المحتمل أنّك استخدمت MEAN سياسة التجميع التلقائية. بالنسبة إلى صور التصنيف، يجب استخدام سياسة MODE الخاصة بإنشاء الصور الهرمية، أما بالنسبة إلى صور QA/bitmask، فيجب استخدام سياسة SAMPLE الخاصة بإنشاء الصور الهرمية.

يظهر لي الخطأ التالي: لا يمكن تطبيق قيمة البيانات -128.0 على النطاق رقم 0 من النوع Short<0, 255>.

لا يمكن لـ GDAL التعامل مع النطاقات ذات البايت الواحد على أنّها تحتوي على أعداد صحيحة موقعة، لذا يقرأ هذه النطاقات على أنّها أعداد صحيحة غير موقعة. سيؤدي ذلك إلى تعارض مع قيم البيانات السلبية التي لا تتضمّن بيانات.

إذا كانت القيم أعدادًا صحيحة موقّعة، استخدِم عملية تحميل البيان وأضِف ما يلي إلى قسم مجموعة المربّعات الذي يحتوي على ملفك: data_type: "INT8"

إذا كانت القيم أعدادًا صحيحة غير سالبة، يحتوي ملفك على قيمة nodata غير صالحة. يمكنك تجاهل هذه القيمة عند التحميل باستخدام قيمة البيانات الصحيحة (أو قيمة لا تحدث مطلقًا، إذا كانت متاحة). يمكنك أيضًا استخدام gdal_translate -a_nodata لتغيير قيمة nodata أو gdal_edit.py -unsetnodata لإزالتها.

كيف يمكنني تحميل ملف بتنسيق GeoJSON أو أي تنسيق آخر غير متوافق من تنسيقات الرسومات المتجهة؟

استخدِم ogr2ogr لترجمة التنسيقات المتوافقة مع OGR إلى CSV أو SHP. مثال:

or2ogr -f "ESRI Shapefile" file.shp file.kml

يُرجى العِلم أنّه في عمليات تحميل ملفات CSV، يمكن أن يحتوي عمود الأشكال الهندسية على GeoJSON.

أريد تحميل البيانات باستخدام Python أو تحميل العديد من الملفات في آنٍ واحد.

استخدِم التحميل من سطر الأوامر. تتطلّب عمليات التحميل هذه وضع الملفات المصدرية أولاً في حزمة GCS (Google Cloud Storage). لا تتكبّد أي تكلفة عند استخدام GCS إذا بقيت ضمن حدود المستوى المجاني، راجِع صفحة الأسعار.

أريد تحميل صورة فسيفساء نقطية كبيرة مقسّمة إلى العديد من المربّعات.

إذا كانت جميع الملفات تستخدم الإسقاط نفسه وحجم البكسل نفسه، ما عليك سوى تحميلها معًا في العنصر نفسه، وسيتم دمجها تلقائيًا.

إذا كانت الملفات تتضمّن إسقاطات أو أحجام وحدات بكسل مختلفة، لا يمكن دمجها في مادة عرض نقطية واحدة. بدلاً من ذلك، حمِّل كل مربّع كعنصر منفصل في ImageCollection نفسه الذي يمكن تجميعه باستخدام ImageCollection.mosaic().

أحاول تحميل صورة فسيفسائية وأتلقّى أخطاءً بشأن مربّعات غير متطابقة.

يجب أن تحتوي مربّعات فسيفساء الصور النقطية في Earth Engine على الإسقاط وحجم البكسل نفسهما. بالإضافة إلى ذلك، يجب أن تتم محاذاة المربّعات تمامًا على حدود البكسل.

أحاول تحميل ملف من حزمة GCS، ولكن لا يمكن لـ Earth Engine العثور عليه.

ربما استخدمت حسابات مختلفة على Google لتحميل البيانات إلى GCS ولربطها بـ Earth Engine. تأكَّد من أنّ الحساب الذي تستخدمه للاتصال بخدمة Earth Engine يمكنه قراءة ملف GCS. إذا كان تسجيل الدخول المتعدد في المتصفح يسبب هذا الالتباس، يمكنك الاتصال بـ Earth Engine في نافذة متصفح للتصفح المتخفي.

أريد تصدير العديد من مواد العرض في وقت واحد.

يجب تصدير كل صورة على حدة.

أريد نقل Folder أو ImageCollection أو حذفهما باستخدام أمر واحد.

عليك أولاً نقل أو حذف كل ملف من ملفات الأصول، ثم نقل المجلد أو المجموعة الأصلية أو حذفهما. إذا كان هناك الكثير من مواد العرض التابعة، اكتب حلقة shell أو Python لتكرارها.

أريد الوصول مباشرةً إلى بيانات Earth Engine من خارج EE.

يتضمّن QGIS مكوّنًا إضافيًا خاصًا بـ Earth Engine.

يتضمّن GDAL برنامج تشغيل Earth Engine.

يمكن للأنظمة الأخرى استخدام REST API في "الاستجابة للطوارئ".

أريد تعديل جزء من مادة Earth Engine بدون إعادة استيعابها بالكامل.

لا يمكن تعديل بيانات الصور النقطية أو المتجهة التي تم تحميلها إلى Earth Engine. يمكن تعديل خصائص البيانات الوصفية لمواد العرض فقط.

أفقد إمكانية الوصول إلى حسابي. ماذا أفعل بمواد العرض؟

إذا كانت سياسات الحساب الأصلي تسمح بنقل البيانات، يُرجى مشاركة أصولك مع حساب آخر، ثم نسخ الأصول ليملكها الحساب الجديد. استخدِم أداة النسخ من سطر الأوامر إذا كان هناك العديد من مواد العرض التي تريد نقلها.

في حال حذف حساب، لن يكون بالإمكان الوصول إلى مواد العرض التي يملكها.

تظهر الصورة التي تم تصديرها في مكان غير صحيح.

بالنسبة إلى بعض عمليات الإسقاط، مثل الجيبية أو المخروطية، لا يمكن لملفات GeoTIFF في بعض الأحيان تخزين جميع معلّمات الإسقاط اللازمة. وينتج عن ذلك ملف تم تصديره يظهر في المكان غير الصحيح عند عرضه في أدوات نظم المعلومات الجغرافية على الكمبيوتر أو عند إعادة استيعابه في &quot;Earth Engine&quot;.

لحلّ هذه المشكلة، حدِّد مَعلمة تصدير crs معروفة بأنّها تعمل بشكل جيد مع ملفات GeoTIFF، مثلاً، استخدِم رمز EPSG لمنطقة UTM التي تحتوي على منطقة اهتمامك.

ما هو الموقع الجغرافي لحزمة Cloud Storage الذي يجب استخدامه لتخزين مواد عرض COG؟

تعتمد الإجابة على ما تحاول تحسينه. إذا كنت تريد تحسين الوصول إلى عمليات حسابية ذات وقت استجابة منخفض، فإنّ أفضل مواقع جغرافية لحِزم GCS لتخزين مواد عرض COG هي US-CENTRAL*. يمكنك الاطّلاع على صفحة مواقع الحِزم للحصول على معلومات حول اعتبارات أخرى.

لا تحتفظ مواد عرض مجموعة الميزات التي تم تصديرها بالخصائص التي أضبطها.

لا تحتفظ أي من دوال Export.table.* بخصائص على مستوى الجدول في الناتج. لا تتوافق العديد من تنسيقات الإخراج (مثل CSV وGeoJSON) مع هذا النوع من البيانات الوصفية. كانت وظيفة Export.table.toAsset تتيح استخدام خصائص على مستوى الجدول، ولكنها لا تتيح ذلك حاليًا.

يتم تحويل الجداول التي يتم تصديرها إلى Drive بتنسيق CSV إلى تنسيق XLSX.

استنادًا إلى إعدادات Google Drive، يمكن تحويل جداول CSV التي تصدّرها من Earth Engine إلى ملفات XLSX مع آثار غير مقصودة، مثل تحويلات أنواع البيانات. اتّبِع الخطوات التالية لتعديل السلوك في عمليات التصدير اللاحقة.

  1. في Google Drive على الويب، انقر على رمز ترس الإعدادات في أعلى يسار الصفحة.
  2. انقر على "الإعدادات".
  3. انتقِل إلى "تحويل الملفات التي يتم تحميلها إلى تنسيق محرّر مستندات Google" وأزِل العلامة من المربّع.

أداة تعديل الرموز

لا يمكنني تسجيل الدخول إلى "محرّر الأكواد" لأنّه يطلب مني استخدام حساب خاطئ.

سجِّل الخروج، واختَر الحساب المسجّل لاستخدام Earth Engine في صفحة "اختيار حساب"، ثم أعِد اختيار الحساب نفسه في صفحة "اختيار حساب لمتابعة استخدام Earth Engine Code Editor" الثانية (قد تختلف الصياغة الدقيقة).

أريد أخذ لقطة شاشة لخريطة عالمية، ولكنّني لا أفضل إسقاط Web Mercator.

إنّ إسقاط الخريطة المستخدَم في &quot;محرّر الرموز&quot; هو Web Mercator ('EPSG:3857'). ويؤدي ذلك إلى تضخيم حجم الأجسام البعيدة عن خط الاستواء، ما يجعل المناطق الواقعة على خطوط العرض العليا تبدو أكبر بكثير من حجمها الفعلي، مقارنةً بالمناطق القريبة من خط الاستواء. لا يمكنك تغيير إسقاط لوحة خريطة &quot;محرّر الرموز&quot;، ولكن يمكنك &quot;رسم&quot; صورة في الإسقاط الذي تختاره على لوحة Web Mercator باستخدام الطريقة ee.Image.changeProj. يمكنك الاطّلاع على صفحة مرجع واجهة برمجة التطبيقات الخاصة بالطريقة للحصول على مثال حول عرض نموذج تضاريس رقمي عالمي على خريطة &quot;محرّر التعليمات البرمجية&quot; باستخدام إسقاط روبنسون. يُرجى العِلم أنّه يجب استخدام هذا الأسلوب لأغراض العرض المرئي فقط، لأنّ أدوات الفحص والرسم في &quot;أداة تعديل الرموز&quot; لا تزال تعمل بنظام Web Mercator.

لا يتم حفظ النص البرمجي (Script error: Unknown commit).

إذا تلقّيت الرسالة Script error: Unknown commit عند حفظ نص برمجي، من المحتمل أنّ ذلك يعني أنّ المستودع الذي تحفظ فيه غير متزامن. ويصعب تحديد سبب هذه الحالة. لحلّ المشكلة، جرِّب إعادة تحميل قائمة النصوص البرمجية باستخدام الزر في أعلى يسار علامة التبويب &quot;النص البرمجي&quot;. إذا لم ينجح ذلك، حاوِل إنشاء مستودع جديد من خلال النقر على الزر &quot;جديد&quot; في علامة التبويب &quot;البرنامج النصي&quot; وحفظ البرنامج النصي فيه (قد تحتاج إلى نقل البرامج النصية إلى المستودع الجديد من المستودع غير المتزامن).