تثبيت NPM

يتم توزيع Earth Engine JavaScript API كأحد حِزم npm التي تتم استضافتها على GitHub. تقدّم التعليمات التالية نظرة عامة حول تثبيت Google Earth Engine JavaScript API. لاستخدام Earth Engine JavaScript API، عليك أولاً تثبيت مكتبة العميل وتبعياتها على جهاز الكمبيوتر ثم إعداد بيانات اعتماد المصادقة.

لا تتضمّن مكتبة برامج JavaScript العميل جميع وظائف محرِّر الرموز البرمجية في Earth Engine. ويُرجى العِلم أنّه يتم استبعاد ميزات واجهة المستخدم، مثل الأزرار ولوحات البيانات والرسوم البيانية.

تثبيت مكتبة البرامج

1. إعداد Node.js وnpm

npm هو أداة لإدارة الحِزم لجافاسكريبت وNode.js. تأكَّد من توفّر الإصدار 6 من Node.js والإصدار 3 من npm أو الإصدارات الأحدث.

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 من المشروع الحالي، ولكن لا يؤثر في أي مشاريع في الأدلة الأخرى على الجهاز نفسه.

إنشاء مشروع على Cloud وتفعيل واجهة برمجة التطبيقات Earth Engine API

اتّبِع هذه التعليمات لإنشاء مشروع على Cloud وتفعيل واجهة برمجة التطبيقات Earth Engine API.

إعداد بيانات اعتماد المصادقة

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

المصادقة من جهة العميل باستخدام OAuth

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

بعد إنشاء معرِّف عميل OAuth 2.0، يمكنك المصادقة على النحو الموضّح أدناه:

// 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);
  });
};

// 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 لمصادقة:

// 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);
  });
};

// Authenticate using a service account.
ee.data.authenticateViaPrivateKey(privateKey, runAnalysis, function(e) {
  console.error('Authentication error: ' + e);
});

اختبار عملية التثبيت

لاختبار ما إذا تم إعداد المصادقة بشكل صحيح، شغِّل النص البرمجي التالي:

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();

// Run an Earth Engine script.
var image = new ee.Image('srtm90_v4');
image.getMap({min: 0, max: 1000}, function(map) {
  console.log(map);
});

إذا تم تثبيت كل العناصر بشكل صحيح، من المفترض أن يتم طباعة البيانات الوصفية للصورة.