نصب NPM

رابط برنامه‌نویسی کاربردی جاوا اسکریپت Earth Engine به صورت یک بسته npm توزیع شده است که در GitHub میزبانی می‌شود. دستورالعمل‌های زیر مروری بر نصب رابط برنامه‌نویسی کاربردی جاوا اسکریپت Google Earth Engine ارائه می‌دهد. برای استفاده از رابط برنامه‌نویسی کاربردی جاوا اسکریپت Earth Engine، باید کتابخانه کلاینت و وابستگی‌های آن را روی رایانه خود نصب کرده و سپس اعتبارنامه‌های احراز هویت را تنظیم کنید .

کتابخانه کلاینت جاوا اسکریپت شامل تمام قابلیت‌های ویرایشگر کد Earth Engine نمی‌شود. نکته قابل توجه این است که ویژگی‌های رابط کاربری مانند دکمه‌ها، پنل‌ها و نمودارها از این امر مستثنی هستند.

نصب کتابخانه کلاینت

۱. راه‌اندازی Node.js و npm

npm یک مدیر بسته برای جاوا اسکریپت و Node.js است. تأیید کنید که Node.js نسخه ۶ به بالا و npm نسخه ۳ به بالا دارید.

node --version
npm --version

در صورت نیاز، هر دو را با استفاده از نصاب رسمی برای پلتفرم خود نصب کنید.

۲. کتابخانه کلاینت Earth Engine را نصب کنید

کتابخانه کلاینت را می‌توان با دستور زیر از npm نصب کرد:

npm install --save @google/earthengine

پس از نصب، کتابخانه کلاینت در دایرکتوری پروژه فعلی قرار می‌گیرد: node_modules/@google/earthengine/* . در پروژه‌های بعدی، کلاینت را به همین روش نصب کنید.

۳. استفاده از کتابخانه کلاینت در یک برنامه

در کد برنامه خود، API موتور زمین را الزامی کنید:

var ee = require('@google/earthengine');

به‌روزرسانی کتابخانه کلاینت

از npm برای به‌روزرسانی کتابخانه کلاینت به آخرین نسخه استفاده کنید. از دایرکتوری پروژه فعلی:
npm update @google/earthengine

درباره به‌روزرسانی کتابخانه‌ها با npm بیشتر بدانید.

حذف نصب کتابخانه کلاینت

برای حذف نصب با استفاده از مدیر بسته npm، دستور زیر را اجرا کنید:

npm uninstall --save @google/earthengine

این node_modules/@google/earthengine از پروژه فعلی حذف می‌کند، اما هیچ تاثیری بر پروژه‌های موجود در دایرکتوری‌های دیگر در همان دستگاه ندارد.

یک پروژه ابری ایجاد کنید و API موتور زمین را فعال کنید

برای ایجاد یک پروژه ابری و فعال کردن API موتور زمین، این دستورالعمل‌ها را دنبال کنید.

تنظیم اعتبارنامه‌های احراز هویت

APIهای موتور Earth از پروتکل OAuth 2.0 برای احراز هویت کلاینت‌های مبتنی بر مرورگر استفاده می‌کنند. برای احراز هویت سمت سرور در Node.js، حساب‌های کاربری سرویس توصیه می‌شوند. برنامه‌های وب می‌توانند از هر دو رویکرد استفاده کنند که مزایا و معایب آنها در زیر مورد بحث قرار گرفته است.

احراز هویت سمت کلاینت با OAuth

با احراز هویت سمت کلاینت در یک مرورگر وب، کاربران برنامه شما با حساب‌های گوگل خود وارد سیستم می‌شوند. این کاربران باید از قبل مجوز دسترسی به Earth Engine را داشته باشند و همچنین باید مجوز خواندن منابع مورد استفاده برنامه شما را داشته باشند.

پس از ایجاد شناسه کلاینت OAuth 2.0 ، مطابق شکل زیر احراز هویت کنید (به جای my-project ، شناسه پروژه گوگل کلود خود را قرار دهید):

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

احراز هویت سمت سرور با یک حساب کاربری سرویس

با احراز هویت سمت سرور، یک کلید خصوصی در برنامه شما ذخیره می‌شود و به آن اجازه می‌دهد از طریق یک حساب کاربری سرویس به API موتور زمین دسترسی داشته باشد. کاربران برنامه شما نیازی به دسترسی شخصی به موتور زمین ندارند و لازم نیست وارد سیستم شوند.

در 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);
});

اگر همه چیز به درستی نصب شده باشد، فراداده‌های یک تصویر باید چاپ شوند.