Earth Engine JavaScript API به عنوان یک بسته npm توزیع شده است که در GitHub میزبانی می شود. دستورالعمل های زیر نمای کلی از نصب Google Earth Engine JavaScript API را ارائه می دهد. برای استفاده از Earth Engine JavaScript API، باید کتابخانه سرویس گیرنده و وابستگی های آن را روی رایانه خود نصب کنید و سپس اعتبارنامه های احراز هویت را تنظیم کنید .
کتابخانه سرویس گیرنده جاوا اسکریپت شامل همه عملکردهای ویرایشگر کد Earth Engine نیست. قابل ذکر است، ویژگیهای رابط کاربری مانند دکمهها، پنلها و نمودارها مستثنی هستند.
نصب کتابخانه مشتری
1. Node.js و npm را راه اندازی کنید
npm یک مدیریت بسته برای جاوا اسکریپت و 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
از پروژه فعلی حذف میکند، اما بر هیچ پروژهای در فهرستهای دیگر در همان دستگاه تأثیر نمیگذارد.
یک پروژه Cloud ایجاد کنید و Earth Engine API را فعال کنید
برای ایجاد یک پروژه Cloud و فعال کردن Earth Engine API، این دستورالعمل ها را دنبال کنید.
تنظیم اعتبار احراز هویت
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); });
احراز هویت سمت سرور با یک حساب سرویس
با احراز هویت سمت سرور، یک کلید خصوصی همراه با برنامه شما ذخیره می شود و به آن اجازه می دهد از طریق یک حساب سرویس به API Earth Engine دسترسی داشته باشد. کاربران برنامه شما نیازی به دسترسی خود به 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); });
اگر همه چیز به درستی نصب شده باشد، ابرداده برای یک تصویر باید چاپ شود.