作者:CSDN @ _養(yǎng)樂多_
本文將介紹在 Google Earth Engine(GEE)上生成隨機(jī)數(shù)的 API,可以指定隨機(jī)數(shù)的生成范圍、類型(整型、浮點(diǎn)型)、分布方式(均勻分布、正態(tài)分布)。
文章目錄
- 一、隨機(jī)數(shù)函數(shù)
- 1.1 生成指定范圍整型隨機(jī)數(shù)
- 1.2 生成指定范圍浮點(diǎn)型隨機(jī)數(shù)
- 1.3 默認(rèn)隨機(jī)數(shù)函數(shù)
- 1.4 正態(tài)分布隨機(jī)整數(shù)
- 1.5 正態(tài)分布隨機(jī)浮點(diǎn)數(shù)
- 二、示例代碼
-
一、隨機(jī)數(shù)函數(shù)
1.1 生成指定范圍整型隨機(jī)數(shù)
函數(shù) | 返回 | 說明 |
---|
getRandomInt(min, max) | ee.Number對(duì)象 | 生成指定范圍整型隨機(jī)數(shù) |
參數(shù)名 | 類型 | 說明 |
---|
min | 整型 | 指定范圍的最小值,比如0 |
max | 整型 | 指定范圍的最大值,比如10 |
1.2 生成指定范圍浮點(diǎn)型隨機(jī)數(shù)
函數(shù) | 返回 | 說明 |
---|
getRandomFloat(min, max, decimalPlaces) | ee.Number對(duì)象 | 生成指定范圍浮點(diǎn)型隨機(jī)數(shù) |
參數(shù)名 | 類型 | 說明 |
---|
min | 整型 | 指定范圍的最小值,比如0 |
max | 整型 | 指定范圍的最大值,比如10 |
decimalPlaces | 整型 | 返回值需要保留的小數(shù)位數(shù),比如2,可以是0 |
1.3 默認(rèn)隨機(jī)數(shù)函數(shù)
函數(shù) | 返回 | 說明 |
---|
random() | ee.Number對(duì)象 | 生成 [0,1) 范圍浮點(diǎn)型隨機(jī)數(shù) |
1.4 正態(tài)分布隨機(jī)整數(shù)
函數(shù) | 返回 | 說明 |
---|
generateNormalInt(mean, standardDeviation, min, max) | ee.Number對(duì)象 | 生成指定范圍正態(tài)分布整型隨機(jī)數(shù) |
參數(shù)名 | 類型 | 說明 |
---|
mean | 整型或者浮點(diǎn)型 | 正態(tài)分布的均值,比如50 |
standardDeviation | 整型或者浮點(diǎn)型 | 正態(tài)分布的標(biāo)準(zhǔn)差,比如10 |
min | 整型 | 指定范圍的最小值,比如0 |
max | 整型 | 指定范圍的最大值,比如100 |
1.5 正態(tài)分布隨機(jī)浮點(diǎn)數(shù)
generateNormalFloat = function(mean, standardDeviation, min, max, decimalPlaces)
函數(shù) | 返回 | 說明 |
---|
generateNormalFloat (mean, standardDeviation, min, max, decimalPlaces) | ee.Number對(duì)象 | 生成指定范圍正態(tài)分布整型隨機(jī)數(shù) |
參數(shù)名 | 類型 | 說明 |
---|
mean | 整型或者浮點(diǎn)型 | 正態(tài)分布的均值,比如5.5 |
standardDeviation | 整型或者浮點(diǎn)型 | 正態(tài)分布的標(biāo)準(zhǔn)差,比如1.5 |
min | 整型 | 指定范圍的最小值,比如0 |
max | 整型 | 指定范圍的最大值,比如10 |
decimalPlaces | 整型 | 返回值需要保留的小數(shù)位數(shù),比如4,可以是0 |
二、示例代碼
2.1 示例代碼鏈接
點(diǎn)擊鏈接進(jìn)入示例代碼:https://code.earthengine.google.com/48f703b733f8df5f1cdf6f27f?noload=true
2.2 示例代碼
var eemc = require('users/949384116/lib:Tools/MathCalculator');eemc.authorHomePage();
var randomInt1 = eemc.getRandomInt(0, 9);
print("隨機(jī)整數(shù)1:", randomInt1);
var randomInt2 = eemc.getRandomInt(5, 20);
print("隨機(jī)整數(shù)2:", randomInt2);
var randomInt3 = eemc.getRandomInt(-10, 10);
print("隨機(jī)整數(shù)3:", randomInt3);
var randomFloat1 = eemc.getRandomFloat(0, 9, 1);
print("隨機(jī)浮點(diǎn)數(shù)1:", randomFloat1);
var randomFloat2 = eemc.getRandomFloat(5, 20, 2);
print("隨機(jī)浮點(diǎn)數(shù)2:", randomFloat2);
var randomFloat3 = eemc.getRandomFloat(-10, 10, 3);
print("隨機(jī)浮點(diǎn)數(shù)3:", randomFloat3);
try {var randomNormal = eemc.generateNormalInt(50, 10, 0, 100);print("整數(shù)隨機(jī)數(shù):", randomNormal);
} catch (error) {print("Error:", error.message);
}
try {var randomFloat = eemc.generateNormalFloat(5.5, 1.5, 0, 10, 4);print("浮點(diǎn)型隨機(jī)數(shù):", randomFloat);
} catch (error) {print("Error:", error.message);
}