يتم توزيع Earth Engine JavaScript API كحزمة npm مستضافة على GitHub. تقدّم التعليمات التالية نظرة عامة على كيفية تثبيت Google Earth Engine JavaScript API. لاستخدام Earth Engine JavaScript API، عليك تثبيت مكتبة البرامج والتبعيات على جهاز الكمبيوتر، ثم إعداد بيانات اعتماد المصادقة.
لا تتضمّن مكتبة برامج JavaScript جميع وظائف Earth Engine محرّر الرموز. على وجه الخصوص، يتم استبعاد ميزات واجهة المستخدم، مثل الأزرار واللوحات والمخططات.
تثبيت مكتبة البرامج
1- إعداد Node.js وnpm
npm هو مدير حزم لبرامج JavaScript وNode.js. تأكَّد من توفّر Node.js 6+ وnpm 3+.
node --version npm --version
إذا لزم الأمر، ثبِّت كليهما باستخدام أداة التثبيت الرسمية لمنصتك.
2- تثبيت مكتبة برامج Earth Engine
يمكن تثبيت مكتبة البرامج من npm باستخدام الأمر التالي:
npm install --save @google/earthengine
بعد التثبيت، يتم وضع مكتبة البرامج ضمن دليل المشروع الحالي: node_modules/@google/earthengine/*. في المشاريع المستقبلية، ثبِّت مكتبة البرامج بالطريقة نفسها.
3- استخدام مكتبة البرامج في أحد التطبيقات
ضمن الرمز البرمجي لتطبيقك، اطلب Earth Engine API:
var ee = require('@google/earthengine');
تحديث مكتبة البرامج
استخدِم npm لتحديث مكتبة البرامج إلى أحدث إصدار. من دليل المشروع الحالي:npm update @google/earthengine
مزيد من المعلومات حول تحديث المكتبات باستخدام npm.
إلغاء تثبيت مكتبة البرامج
لإلغاء التثبيت باستخدام مدير حزم npm، شغِّل الأمر التالي:
npm uninstall --save @google/earthengine
يزيل هذا الأمر node_modules/@google/earthengine من المشروع الحالي، ولكن
لا يؤثر في أي مشاريع في أدلة أخرى على الجهاز نفسه.
إنشاء مشروع على السحابة الإلكترونية وتفعيل Earth Engine API
اتّبِع هذه التعليمات لإنشاء مشروع على السحابة الإلكترونية وتفعيل Earth Engine API.
إعداد بيانات اعتماد المصادقة
تستخدم Earth Engine APIs بروتوكول OAuth 2.0 لمصادقة البرامج المستندة إلى المتصفح. بالنسبة إلى المصادقة من جهة الخادم في Node.js، ننصح باستخدام حسابات الخدمة. يمكن لتطبيقات الويب استخدام أي من الطريقتَين، مع مناقشة المزايا والعيوب أدناه.
المصادقة من جهة العميل باستخدام OAuth
باستخدام المصادقة من جهة العميل في متصفح الويب، يسجِّل مستخدمو تطبيقك الدخول باستخدام حساباتهم على Google. يجب أن يكون هؤلاء المستخدمون قد تم منحهم إذن الوصول إلى Earth Engine، ويجب أن يكون لديهم إذن قراءة مواد العرض التي يستخدمها تطبيقك.
بعد إنشاء معرّف عميل OAuth
2.0، صادِق على النحو الموضّح أدناه (استبدِل my-project بمعرّف مشروعك على Google Cloud):
// Load client library. var ee = require('@google/earthengine'); // Initialize client library and run analysis. var initialize = function() { ee.initialize(null, null, function() { // ... run analysis ... }, function(e) { console.error('Initialization error: ' + e); }, null, 'my-project'); }; // Authenticate using an OAuth pop-up. ee.data.authenticateViaOauth(YOUR_CLIENT_ID, initialize, function(e) { console.error('Authentication error: ' + e); }, null, function() { ee.data.authenticateViaPopup(initialize); });
المصادقة من جهة الخادم باستخدام حساب خدمة
باستخدام المصادقة من جهة الخادم، يتم تخزين مفتاح خاص مع تطبيقك، ما يسمح له بالوصول إلى Earth Engine API من خلال حساب خدمة. لا يحتاج مستخدمو تطبيقك إلى الوصول إلى Earth Engine، وليس عليهم تسجيل الدخول.
في Node.js، لا توفّر مكتبة البرامج سوى المصادقة من جهة الخادم.
بعد إنشاء حساب خدمة
جديد، استخدِم مفتاحك الخاص بتنسيق JSON للمصادقة
(استبدِل my-project بمعرّف مشروعك على Google Cloud):
// Require client library and private key. var ee = require('@google/earthengine'); var privateKey = require('./.private-key.json'); // Initialize client library and run analysis. var runAnalysis = function() { ee.initialize(null, null, function() { // ... run analysis ... }, function(e) { console.error('Initialization error: ' + e); }, null, 'my-project'); }; // Authenticate using a service account. ee.data.authenticateViaPrivateKey(privateKey, runAnalysis, function(e) { console.error('Authentication error: ' + e); });
اختبار عملية التثبيت
لاختبار ما إذا تم إعداد المصادقة بشكلٍ صحيح، شغِّل النص البرمجي التالي
(استبدِل my-project بمعرّف مشروعك على Google Cloud):
var ee = require('@google/earthengine'); // Authenticate using one (but not both) of the methods below. ee.data.authenticateViaOauth(YOUR_CLIENT_ID); ee.data.authenticateViaPrivateKey(YOUR_PRIVATE_KEY); ee.initialize(null, null, null, null, null, 'my-project'); // Run an Earth Engine script. var image = new ee.Image('srtm90_v4'); image.getMap({min: 0, max: 1000}, function(map) { console.log(map); });
إذا تم تثبيت كل شيء بشكلٍ صحيح، يجب طباعة البيانات الوصفية لصورة.