以下是Google Earth Engine(GEE)中JavaScript语法的基础知识,这些知识可以帮助你在GEE环境中进行有效的编码和数据处理:
JavaScript语法基础
1. 变量和数据类型
-
变量声明:在GEE中,我们使用
var
关键字来声明变量。javascript">var number = 42; var text = "Hello, world!"; var isTrue = true;
-
数据类型:常见的数据类型包括数值(Number)、字符串(String)、布尔(Boolean)、数组(Array)和对象(Object)。
javascript">var array = [1, 2, 3, 4, 5]; var object = {key: "value", anotherKey: 42};
2. 函数
-
函数定义:使用
function
关键字定义一个函数。javascript">function greet(name) { return "Hello, " + name + "!"; } var greeting = greet("Alice");
-
匿名函数:可以将匿名函数赋值给变量。
javascript">var add = function(a, b) { return a + b; }; var sum = add(2, 3);
3. 条件语句
-
if 语句:根据条件执行代码块。
javascript">var x = 10; if (x > 5) { console.log("x is greater than 5"); } else { console.log("x is not greater than 5"); }
-
switch 语句:根据不同的条件执行不同的代码块。
javascript">var day = 3; switch (day) { case 1: console.log("Monday"); break; case 2: console.log("Tuesday"); break; default: console.log("Another day"); }
4. 循环
-
for 循环:重复执行代码块,直到指定条件为 false。
javascript">for (var i = 0; i < 5; i++) { console.log(i); }
-
while 循环:只要条件为 true,就重复执行代码块。
javascript">var i = 0; while (i < 5) { console.log(i); i++; }
5. 数组和对象操作
-
数组操作:访问、修改和遍历数组。
javascript">var numbers = [1, 2, 3, 4, 5]; console.log(numbers[0]); // 输出:1 numbers.push(6); // 添加元素到数组末尾 console.log(numbers.length); // 输出:6
-
对象操作:访问和修改对象的属性。
javascript">var person = { name: "Alice", age: 30 }; console.log(person.name); // 输出:Alice person.age = 31; console.log(person.age); // 输出:31
GEEJavaScript_105">在GEE中使用JavaScript
1. 加载影像和影像集合
-
加载影像:
javascript">var image = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_044034_20140318'); Map.centerObject(image, 9); Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], min: 0, max: 3000}, 'Landsat 8');
-
加载影像集合:
javascript">var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR') .filterDate('2020-01-01', '2020-12-31');
2. 影像处理
-
计算NDVI:
javascript">var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI'); Map.addLayer(ndvi, {min: 0, max: 1, palette: ['blue', 'white', 'green']}, 'NDVI');
-
影像合成:
javascript">var composite = collection.median(); Map.addLayer(composite, {bands: ['B4', 'B3', 'B2'], min: 0, max: 3000}, 'Composite');
3. 几何和矢量数据
-
创建几何对象:
javascript">var point = ee.Geometry.Point([lon, lat]); var polygon = ee.Geometry.Polygon([[lon1, lat1], [lon2, lat2], [lon3, lat3], [lon4, lat4]]);
-
加载矢量数据:
javascript">var featureCollection = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017'); Map.addLayer(featureCollection, {}, 'Feature Collection');
这些JavaScript语法基础知识可以帮助你在GEE中进行各种地理空间数据处理和分析。