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

أسئلة عامة

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

انشر سؤالاً باتّباع هذا الدليل، وقدِّم أكبر قدر ممكن من المعلومات (راجِع دليل 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، يجب عدم الخلط بين العمليات أو العناصر من جهة الخادم ومن جهة العميل. يتم تنفيذ جميع العمليات على عناصر EE من جهة الخادم. لن تؤدي أي عمليات حسابية من جهة العميل الغرض المطلوب منها. يمكنك الاطّلاع على هذه الصفحة لمزيد من التفاصيل.

كيف يمكنني استخدام حلقات 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 بيتابايت (بعد أخذ الضغط بدون فقدان الجودة في الاعتبار).

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

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

كيف يمكنني عرض محتوى كتالوج "التجار الموثوق بهم" آليًا؟

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

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

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

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

سمة مادة العرض 'system:version' هي الطابع الزمني للاستيعاب، ويتم تنسيقه على شكل ميكروثانية منذ بدء حقبة يونكس. في ما يلي مثال يحوّل الطابع الزمني الخاص باستيعاب صورة 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 المؤثّرين على أنّه لا حاجة إلى تصحيح بيانات Collection 2، المستوى 2 (انعكاس السطح). على سبيل المثال، في ردّ على سؤال حول الحاجة إلى التوافق مع المجموعة 2، المستوى 2، أشار مايك وولدر من فريق Landsat العلمي إلى أنّه بناءً على طبيعة التطبيق المعنيّ (بما في ذلك رسم خرائط الغطاء الأرضي ورصد التغيّرات)، فإنّ منتجات انعكاس السطح من المجموعة 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 في بعض الأحيان تخزين جميع مَعلمات الإسقاط اللازمة. ويؤدي ذلك إلى ظهور الملف الذي تم تصديره في المكان غير الصحيح عند عرضه في أدوات نظم المعلومات الجغرافية على الكمبيوتر المكتبي أو عند إعادة استيراده إلى Earth Engine.

لحلّ هذه المشكلة، حدِّد مَعلمة تصدير 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 أداة تعديل الرموز" الثانية (قد تختلف الصياغة الدقيقة).

أريد أخذ لقطة شاشة لخريطة عالمية، ولكنّني لا أحبّ إسقاط 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 عند حفظ نص برمجي، من المحتمل أنّ يكون المستودع الذي تحفظ فيه غير متزامن. ويصعب تحديد سبب هذه الحالة. لحلّ المشكلة، جرِّب إعادة تحميل قائمة النصوص باستخدام الزر في أعلى يسار علامة التبويب "نص الفيديو". إذا لم ينجح ذلك، جرِّب إنشاء مستودع جديد من خلال النقر على الزر "جديد" في علامة التبويب "البرنامج النصي" وحفظ البرنامج النصي فيه (قد تحتاج إلى نقل البرامج النصية إلى المستودع الجديد من المستودع غير المتزامن).

لماذا تظهر لي أخطاء 400 متكرّرة في "أداة تعديل الرموز البرمجية"؟

إذا كنت ترى أخطاء 400 متكررة في "محرّر الأكواد"، انتقِل إلى https://myaccount.google.com/connections، ابحث عن "محرّر الأكواد في Earth Engine" في قائمة التطبيقات والخدمات، وانقر عليه، ثم انقر على "حذف كل عمليات الربط التي أجريتها مع محرّر الأكواد في Earth Engine" وأكِّد ذلك. بعد ذلك، افتح أداة تعديل الرموز وأعِد المصادقة.

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

إذا حذفت عن طريق الخطأ نصًا برمجيًا أو مجلدًا داخل مستودع حالي، سيتم الاحتفاظ بسجلّ عمليات التثبيت الكامل في سجلّات Git على خوادمنا. يمكنك استعادة النصوص البرمجية أو المجلدات المحذوفة من خلال استنساخ المستودع محليًا باستخدام أدوات سطر الأوامر العادية في Git.

أما حذف مستودع (users/username/repository) بالكامل، فيؤدي إلى إزالة المستودع وسجلّ عمليات الدمج نهائيًا من earthengine.googlesource.com، ولا يمكن التراجع عن هذا الإجراء أو استرداد البيانات.

للحصول على تعليمات مفصّلة حول إنشاء بيانات اعتماد Git واستنساخ المستودع واستعادة الملفات أو المجلدات المحذوفة، يُرجى الاطّلاع على دليل استرداد النصوص البرمجية ونقل المستودع.

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

يكون دليل الجذر للبرنامج النصي (users/username) مرتبطًا بتسجيل حسابك الأصلي على Earth Engine. لا يمكن إعادة تسميته مباشرةً في الخلفية لأنّ ذلك سيؤدي إلى تعطيل أي نصوص برمجية خارجية أو مشاريع تعاونية تستورد الرمز البرمجي المجزّأ باستخدام المسار require('users/username/repository:...').

إذا كنت بحاجة إلى مساحة اسم جديدة، يمكنك نقل عملك إلى حساب جديد كحلّ بديل:

  1. سجِّل حسابًا جديدًا على Earth Engine باستخدام Google Identity الجديدة (التي تنشئ جذر users/new_username نظيفًا).
  2. اتّبِع تعليمات نقل المستودع لاستنساخ مستودعك القديم ونقل سجله الكامل إلى المستودع الجديد الفارغ.

اعتبارات مهمّة:

  • الوحدات البرمجية العامة: إذا كانت لديك وحدات برمجية عامة يعتمد عليها الآخرون، ننصحك بشدة بإبقاء حسابك القديم ومستودعك نشطَين حتى لا تتسبّب في تعطيل سير العمل لديهم.
  • البرامج النصية الخاصة: إذا كانت البرامج النصية خاصة بالكامل، يمكنك تعديل عبارات الاستيراد require() للإشارة إلى مسار المستودع الجديد، ثم حذف المستودعات القديمة بأمان.