أسئلة عامة
لديّ مشكلة وأحتاج إلى مساعدة.
انشر سؤالاً باتّباع هذا الدليل، مع تقديم أكبر قدر ممكن من المعلومات (اطّلِع على دليل Stack Overflow لطرح أسئلة جيدة). ويعني ذلك عادةً ما يلي:
إرسال رابط إلى نص برمجي في "محرِّر الرموز البرمجية" (انقر على الزر "الحصول على رابط" للحصول عليه)
مشاركة أي مواد عرض مطلوب تشغيل النص البرمجي
بالنسبة إلى مهام الحِزم التي تعذّر إكمالها، أبلِغ عن رقم تعريف المهمة التي تعذّر إكمالها. تبدو أرقام تعريف المهام على النحو التالي:
4C25GIJBMB52PXTEJTF4JLGL
. ويمكن العثور عليها في علامة التبويب "المهمة" ضمن محرّر الرموز البرمجية. مزيد من المعلومات
أين يمكنني الاطّلاع على معلومات عن بنية Earth Engine؟
اطّلِع على هذه الورقة البحثية: Gorelick et al. 2017.
هل هناك أيّ أدلة إرشادية مقترَحة حول Earth Engine لم تنشئها Google؟
اطّلِع على صفحتَي EDU و مراجع التدريب.
هل هناك أيّ دروس مقترَحة عن الاستشعار عن بُعد؟
اطّلِع على هذه الدورة التدريبية المجانية حول تكنولوجيات المعلومات البيئية التي أعدّها "أوجافال غاندي"، والتي تتضمّن فيديو يقدّم مقدمة عن الاستشعار عن بُعد.
برمجة Earth Engine
ما هي بعض أخطاء الترميز الشائعة؟
اطّلِع على دليل تصحيح الأخطاء.
لماذا لا يمكنني استخدام العمليات الحسابية الأساسية مثل ee.Image("image") * 2
؟
في EE، يجب عدم خلط العناصر أو العمليات من جهة الخادم ومن جهة العميل. يتم تنفيذ جميع العمليات على عناصر EE من جهة الخادم. ولن تؤدّي أي عمليات حسابية من جانب العميل إلى ما تريده. يُرجى الاطّلاع على هذه الصفحة للمزيد من التفاصيل.
كيف يمكنني استخدام حلقات for
أو عبارات if/else
؟
يتمّ برمجة Earth Engine باستخدام لغة وظيفية، لذا يجب التعبير عن الحلقات والعمليات الشَرطية باستخدام مفاهيم معادلة، مثل map
أو filter
. يُرجى الاطّلاع على
هذه الصفحة للاطّلاع على مزيد من التفاصيل.
كيف يمكنني عرض التصنيفات النصية في صورتي أو الفيديو الخاص بي؟
لا تتوفّر ميزة مدمجة لتصنيفات النصوص، ولكن يمكنك إجراء ما يلي:
- استخدام حِزمة JS تابعة لجهة خارجية الاطّلاع على مثال
- استخدام حزمة Python تابعة لجهة خارجية geemap
- استخدام QGIS لإدخال صور EE باستخدام مكوّن EE QGIS الإضافي
هل يمكنني استخدام بعض لوحات الألوان العادية؟
استخدام حزمة JS تابع لجهة خارجية ee-palettes
كيف يمكنني إنشاء موقعي الإلكتروني الخاص الذي يستخدم Earth Engine؟
استخدِم تطبيقات Earth Engine للتطبيقات الأساسية. في الحالات الأكثر تعقيدًا، يمكنك إنشاء تطبيقات App Engine المستندة إلى EE.
كيف تعمل أرقام تعريف "خرائط Google"؟
أرقام تعريف الخرائط (المعروفة باسم mapid
في واجهة برمجة التطبيقات) هي مفاتيح تسمح للعملاء بجمع وحدات البكسل للخريطة. كل معرّف هو تجزئة تم إنشاؤها من خلال تقديم تعبير صورة إلى
نقطة نهاية getMapId
. الأرقام التعريفية الناتجة هي مفاتيح تشير إلى كل من
تعبير الصورة وبيانات اعتماد المستخدم التي سيتم استخدامها لإنشاء
اللوحات في مرحلة لاحقة.
يتضمن طلب مربّعات الخريطة تحديد موقع المربّع (x
وy
zoom
) بالإضافة إلى mapid
(مفتاح الصورة والمعلومات المُعتمَدة). يمكن إعادة استخدام
رقم التعريف نفسه لتحميل العديد من مربّعات الخريطة. لا توجد حدود على إعادة استخدام مفاتيح
mapid
، ولكن تنتهي صلاحيتها بعد بضع ساعات. لا ننشر
مخططات زمنية محدّدة حول المدة التي تبقى فيها هذه الأرقام محفوظة، ولكن يجب أن يكون أي رمز برمجي تكتبه
مصمّمًا ليتحمل انتهاء صلاحية رقم التعريف.
يتضمن إنشاء هذه المعرّفات تخزين كمية صغيرة من البيانات والتحقّق من صحة
بيانات الاعتماد، لذا من الأفضل إعادة استخدامها لأطول فترة ممكنة. لا تتوفّر حصة getMapId
API مرتبطة تحديدًا بنقطة نهاية getMapId
، ولكن أيّ سير عملmapid
يتضمّن إنشاء عناصر mapid
بمعدّل قريب من معدّل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
، تأكَّد من أنّ
فلاتر البحث ليست محدودة جدًا.
يُرجى ملاحظة ما يلي على وجه الخصوص:
لم ينتج "الاتحاد الأوروبي للفضاء" بيانات المستوى 2 من Sentinel-2 SR (بيانات المستوى 2) لصور المستوى 1 المبكرة.
لا تتوفّر تغطية عالمية في Landsat قبل عام 2000.
تحتوي مجموعة بيانات حالية على قيم خاطئة
نشر مشاركة في منتدى المطوّرين أدرِج نصًا برمجيًا يكبِّر درجة الدقة الأصلية لمادة العرض ويسهِّل معرفة القيم غير الصحيحة. يُرجى توضيح المكان الذي رصدت فيه القيمة البديلة.
أين يمكنني الاستفسار عن مجموعات البيانات؟
إذا كانت لديك أسئلة حول مجموعات بيانات وكالة ناسا، يمكنك الاطّلاع على منتدى NASA Earth Data.
إذا كانت لديك أسئلة عن مجموعات الأدوات التي تعمل على مجموعات بيانات Copernicus، يمكنك الاطّلاع على منتديات S1 و S2 و S3.
ما هو حجم كتالوج EE؟
اعتبارًا من تشرين الأول (أكتوبر) 2023، يتضمّن الكتالوج أكثر من 1, 000 مجموعة بيانات. يبلغ حجمه على القرص أكثر من 90 بيتابايت (بعد مراعاة الضغط بدون فقدان البيانات).
ما هو معدّل تعديل البيانات في "الاستهداف بالبريد الإلكتروني"؟
في العادة، يتم تعديل جميع مجموعات البيانات الجارية يوميًا على الأقل (على الرغم من أنّ بعض مجموعات البيانات هذه لا تحتوي على بيانات جديدة كل يوم). يتم تعديل بعض مجموعات البيانات عدة مرات في اليوم. ومع ذلك، لا تتوفّر سياسة تضمن توفّر أحدث مواد العرض في الكتالوج.
كيف يمكنني عرض محتوى كتالوج EE آليًا؟
يتم تصدير قائمة مجموعات البيانات بتنسيق 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. يتم استخدام الإجراء نفسه لإنشاء تركيبة خالية من الغيوم لاستخدامها في أمثلة التصنيف الخاضع للإشراف في دليل المطوّر.
هل هناك حاجة إلى تنسيق انعكاس سطح Landsat على مستوى جميع أدوات الاستشعار؟
Roy et al., 2016، تضمن تحليلاً لاختلافات الانعكاس بين قياسات TOA من Landsat 7-8 والانعكاس على سطح الأرض. وقد نشرت هذه الدراسة معاملات OLS وRMA ليتمكّن القرّاء من تحويل قيم الانعكاس لبيانات أحد أجهزة الاستشعار إلى بيانات جهاز آخر. يشير السطر الأخير من المقالة إلى أنّ "على الرغم من أنّ الاختلافات بين أدوات الاستشعار صغيرة جدًا، إلا أنّها قد تُحدث أثرًا كبيرًا حسب تطبيق بيانات Landsat". ومع ذلك، كان هذا التحليل يستند إلى بيانات ما قبل عملية الجمع.
قد تؤثر التحسينات التي تم إجراؤها أثناء إعادة معالجة المجموعة 1 والمجموعة 2 في العلاقة بين أجهزة الاستشعار، ولكن حسب علمنا، لم يتم إجراء أي تحليلات مشابهة لتحليل Roy et al. (2016) لبيانات المجموعة 1 أو المجموعة 2. على الرغم من عدم إجراء تحليل رسمي، يبدو أنّ هناك إجماعًا عامًا بين مستخدمي Landsat البارزين على أنّه لا حاجة إلى إجراء تصحيح لبيانات المجموعة 2، المستوى 2 (الانعكاس على السطح). على سبيل المثال، في ردّ على سؤال بشأن الحاجة إلى تنسيق المجموعة 2، المستوى 2، أشار "مايك وولر" من فريق علوم ساتل Landsat إلى أنّ منتجات قياس انعكاس سطح المجموعة 2 مناسبة وموثوقة للغاية، وذلك استنادًا إلى طبيعة التطبيق المعني (بما في ذلك تخطيط الغطاء الأرضي ورصد التغيُّرات)، بدون الحاجة إلى تعديل على مستوى جميع أدوات الاستشعار.
كيف يمكنني حجب السحب وظلال السحب في صور MSS؟
تتضمّن وحدة msslib التابعة لجهة خارجية لـ "محرر رموز JavaScript" عملية تنفيذ خوارزمية 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/قناع البت، يجب استخدام سياسة التجميع 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()
.
أحاول تحميل لوحة فسيفساء وأتلقّى أخطاء بشأن عدم تطابق الأشكال المربّعة.
يجب أن تتضمّن شرائح mosiacs المخصّصة لنظام 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 في EE.
أريد تعديل جزء من مادة عرض Earth Engine بدون إعادة نقلها بالكامل.
لا يمكن تعديل البيانات النقطية أو المتجهة التي تم تحميلها إلى "الاستكشاف التلقائي". يمكن تعديل سمات البيانات الوصفية لمادة العرض فقط.
لا يمكنني الوصول إلى حسابي. ما الذي يمكنني فعله بمواد العرض الخاصة بي؟
إذا كانت سياسات الحساب الأصلي تسمح بنقل البيانات، يُرجى مشاركة أصولك مع حساب آخر، ثم نسخ الأصول لتصبح مملوكة للحساب الجديد. استخدِم أداة نسخ سطر الأوامر إذا كانت هناك مواد عرض كثيرة لنقلها.
في حال حذف حساب، لن يعود بالإمكان الوصول إلى مواد العرض التي يملكها.
الصورة التي تم تصديرها في مكان غير صحيح.
في بعض الإسقاطات، مثل الإسقاطات الجيبية أو المخروطية، لا يمكن أحيانًا لملفّات GeoTIFF تخزين جميع مَعلمات الإسقاط اللازمة. ويؤدي ذلك إلى ظهور ملف تم تصديره في المكان غير الصحيح عند عرضه في أدوات GIS لأجهزة الكمبيوتر المكتبي أو عند إعادة نقله إلى EE.
لحلّ هذه المشكلة، حدِّد مَعلمة تصدير crs
معروفة بأنّها تعمل بشكلٍ جيد
مع ملفات GeoTIFF، على سبيل المثال، استخدِم رمز EPSG لمنطقة UTM
التي تحتوي على منطقة اهتمامك.
ما هو الموقع الجغرافي لحزمة Cloud Storage الذي يجب استخدامه لتخزين مواد عرض COG؟
تعتمد الإجابة على ما تحاول تحسينه. إذا كنت تعمل على تحسين إمكانية الوصول إلى العمليات الحسابية ذات وقت الاستجابة المنخفض، فإنّ أفضل مواقع حِزم GCS لتخزين مواد عرض COG هي US-CENTRAL*. اطّلِع على صفحة مواقع الحِزم للحصول على معلومات عن الاعتبارات الأخرى.
لا تحافظ مواد عرض مجموعات العناصر التي تم تصديرها على الخصائص التي ضبطتها.
لا تحافظ أي من دوال Export.table.*
على الخصائص على مستوى الجدول في الإخراج.
لا تتوفّر هذه ال metadata في العديد من تنسيقات النتائج (مثل CSV وGeoJSON). يمكن أن تتيح الدالة Export.table.toAsset
استخدام سمات
على مستوى الجدول، ولكنّها لا تتيح ذلك في الوقت الحالي.
يتم تحويل الجداول التي تم تصديرها إلى Drive بتنسيق CSV إلى تنسيق XLSX.
استنادًا إلى إعدادات Google Drive، يمكن تحويل جداول CSV التي تُصدِّرها من Earth Engine إلى ملفات XLSX مع تأثيرات غير مقصودة، مثل عمليات تحويل نوع البيانات. اتّبِع الخطوات التالية لتعديل السلوك في عمليات التصدير اللاحقة.
- في Google Drive على الويب، انقر على رمز الترس في أعلى يسار الصفحة.
- انقر على "الإعدادات".
- انتقِل إلى "تحويل الملفات التي يتم تحميلها إلى تنسيق أدوات تحرير مستندات Google" وأزِل العلامة من المربّع.
أداة تعديل الرموز
لا يمكنني تسجيل الدخول إلى "محرِّر الرموز" لأنّه يطلب مني استخدام حساب غير صحيح.
تسجيل الخروج، واختيار الحساب المسجَّل لاستخدام Earth Engine في صفحة "اختيار حساب"، ثم إعادة اختيار الحساب نفسه في الصفحة الثانية "اختيار حساب لمواصلة استخدام محرِّر رمز Earth Engine" (قد تختلف الصياغة الدقيقة).
أريد أخذ لقطة شاشة لخريطة عالمية، ولكن لا أحب إسقاط Web Mercator.
إسقاط الخريطة المستخدَم في "محرر الرموز" هو
Web Mercator
("EPSG:3857"). ويؤدي ذلك إلى تضخيم حجم الأجسام البعيدة عن خط الاستواء، ما يجعل مناطق خط العرض العالي تبدو أكبر بكثير مما هي عليه في الواقع مقارنةً بالمناطق القريبة من خط الاستواء. لا يمكنك تغيير إسقاط لوحة الخريطة في "محرر الرموز"، ولكن يمكنك "رسم" صورة في إسقاط من اختيارك على لوحة Web Mercator باستخدام طريقة ee.Image.changeProj
.
اطّلِع على صفحة مرجع واجهة برمجة التطبيقات الخاصة بالطريقة
للاطّلاع على مثال لعرض نموذج رقمي عالمي للارتفاعات على خريطة "محرر الرموز" في إسقاط روبنسون.
يُرجى العِلم أنّه يجب استخدام هذه التقنية لأغراض العرض فقط، لأنّ أدوات الفحص والرسم في "محرر الرموز" لا تزال تعمل في Web Mercator.
لا يتم حفظ النص البرمجي (Script error: Unknown commit
).
إذا تلقّيت رسالة Script error: Unknown commit
عند حفظ نص برمجي،
يعني ذلك على الأرجح أنّ المستودع الذي تحفظ فيه النص البرمجي غير متزامن.
يختلف سبب هذه الحالة ويصعب تحديده. لحلّ
هذه المشكلة، جرِّب إعادة تحميل قائمة النصوص البرمجية باستخدام الزر في أعلى يسار
علامة التبويب "النص البرمجي". إذا لم ينجح ذلك، جرِّب إنشاء مستودع جديد من
الزر "جديد" في علامة التبويب "النص البرمجي" وحفظ النص البرمجي فيه
(قد تحتاج إلى نقل النصوص البرمجية إلى المستودع الجديد من المستودع الذي لم تتم مزامنته
).