GEE(google earth engine)通過exports和require實現調用模塊或另一個腳本文件

版權聲明:轉載請註明作者(獨孤尚良dugushangliang)出處:https://blog.csdn.net/dugushangliang/article/details/105574991

 

官方文檔,下面這段代碼是用於被調用的,可以當做是一個模塊,把它保存爲js文件。exports表示輸出,即表明了這個文件可以被外部引用的代碼部分。提供給外部調用的變量或函數都依附於exports這個對象。

exports.doc = 'The Foo module is a demonstration of script modules.' +
    '\n It contains a foo function that returns a greeting string. ' +
    '\n It also contains a bar object representing the current date.' +
    '\n' +
    '\n foo(arg):' +
    '\n   @param {ee.String} arg The name to which the greeting should be addressed' +
    '\n   @return {ee.String} The complete greeting.' +
    '\n' +
    '\n bar:' +
    '\n   An ee.Date object containing the time at which the object was created.';

exports.foo = function(arg) {
  return 'Hello, ' + arg + '!  And a good day to you!';
};

exports.bar = ee.Date(Date.now());

如下圖所示,文件保存在print這個Git庫中,Modules是文件夾,FooModule.js是文件名。如果調用這個模塊,使用 require來實現。require表示模塊的引入。這個require的參數需要注意下。這裏有個冒號(‘:’),冒號前面的就是Git庫的名字,冒號後面的就是文件路徑。右側輸出的時間是格林尼治時間,我們使用的北京時間是東八區,所以我們的北京時間需要在格林尼治時間基礎上加上8個小時。

具體調用方法如下所示: 

var Foo = require('users/dugushangliang/print:Modules/FooModule.js');
//如果需要調用的模塊文件直接在print這個Git庫下,則路徑表示爲下面這樣。
//var Foo = require('users/dugushangliang/print:FooModule.js');

print(Foo.doc);

print(Foo.foo('world'));

print('Time now:', Foo.bar);

需要注意的是:這個保存的文件如果不帶後綴,即不是FooModule.js,而是FooModule,需要使用下面的代碼來調用。

var Foo = require('users/dugushangliang/print:Modules/FooModule');

建議:最好帶上這個後綴名,一個是考慮到規範,一個是調用FooModule.js比FooModule好像更快,可能是因爲沒有後綴名的還需要判斷這個文件是什麼類型。

 

獨孤尚良dugushangliang——著

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章