地球引擎初级教程——JavaScript 简介(一文读懂如何使用GEE)

2024-02-02 08:20:39 浏览数 (1)

JavaScript 简介

在基于 Web 的 IDE 上的代码编辑器中编写的脚本必须使用 JavaScript 编写。JavaScript 是一种使用/学习的相当直接的编程语言。JavaScript 数据类型由字符串、数字、布尔值、数组和对象组成。支持所有基本运算符,例如 (添加/连接)、=(赋值)、===(相等)、! (否定)、!==(不等于)等。由于 JavaScript 是一种面向对象的编程语言,因此基本上 Javascript 中的所有内容(例如变量或函数)都是对象。一个简单的“Hello World!” 用 JavaScript 编写的程序如下。可以在此处找到有关 JavaScript 基础知识的更多文档。

代码语言:javascript复制
/* The below script will print 'Hello World!' to the console */
var string_to_print = 'Hello World!'
string_to_print

此外,Earth Engine 具有专门的数据结构,例如ImageFeature,分别对应于栅格和矢量数据。地图上的要素由Geometry组成。图像堆栈是ImageCollection,特征集合是FeatureCollection。也可以使用其他基本的 JavaScript 数据结构,例如字典、列表、数组、数字、字符串等。

在 Earth Engine 中使用 Landsat 影像

现在是时候开始在 Earth Engine 上创建和运行脚本了。将下面的行复制并粘贴到代码编辑器中,然后按“运行”。

代码语言:javascript复制
print(ee.Image('LANDSAT/LC8_L1T/LC80440342014077LGN00'));

Earth Engine 可让您访问由 Google 托管的大量数据。上面一行使用了来自 Google 存档的 LC80440342014077LGN00 Landsat 文件。您将看到此文件的元数据,例如类型、ID、带名称、范围等,打印到控制台。运行上面的行并检查文件的元数据后,复制并粘贴下面的行,然后按“运行”。

代码语言:javascript复制
/* Load an image and store it in a variable called 'image' */
var image = ee.Image('LANDSAT/LC8_L1T/LC80440342014077LGN00');

/* Center the map on the image and set the zoom level to 9*/
Map.centerObject(image, 9);

/* Display the image */
Map.addLayer(image);

运行上述脚本后,地图现在应该放大到加利福尼亚中部的海岸,在默认地图的顶部覆盖有一张深色的 Landsat 图像。这是 Google Earth Engine 的核心功能:获取数据、加载数据并将其显示/可视化到地图上。

再举一个例子,将下面的代码复制并粘贴到代码编辑器中,然后按“运行”。

代码语言:javascript复制
/* Load the image from the archive */
var image = ee.Image('LANDSAT/LC8_L1T/LC80440342014077LGN00');

/* Define visualization parameters in an object literal */
var vizParams = {bands: ['B5', 'B4', 'B3'], min: 5000, max: 15000, gamma: 1.3};

/* Center the map on the image and display */
Map.centerObject(image, 9);
Map.addLayer(image, vizParams, 'Landsat 8 false color');

此脚本将可视化相同的数据,但现在仅使用名为“B5”、“B4”和“B3”的波段以及其他参数,例如最小值、最大值和伽玛范围。

将以下代码段添加到编辑器,然后再次按“运行”。

代码语言:javascript复制
var counties = ee.FeatureCollection('ft:1S4EB6319wWW2sWQDPhDvmSBIVrD3iEmCLYB7nMM');
Map.addLayer(counties, {}, 'counties');

现在美国的所有县都应该在地图上可视化。

0 人点赞