Introducción a JavaScript para Earth Engine

En este instructivo, se abarca la cantidad suficiente de JavaScript para que comiences a escribir secuencias de comandos de Earth Engine. Para obtener instructivos más detallados sobre JavaScript, consulta estos recursos para desarrolladores de Mozilla. Para obtener una introducción a la programación con ejemplos en JavaScript, consulta Eloquent JavaScript. Para obtener sugerencias sobre el estilo de programación en JavaScript, consulta la Guía de estilo de JavaScript de Google. En este instructivo, escribirás código JavaScript en el Editor de código de Earth Engine. Antes de comenzar, usa la guía del editor de código para familiarizarte con el entorno del editor de código.

¡Hola, mundo!

Es hora de escribir tu primer código de JavaScript para Earth Engine. En tu navegador Chrome, ve a code.earthengine.google.com y copia lo siguiente en el Editor de código:

Editor de código (JavaScript)

print('Hello World!');

Haz clic en Ejecutar y observa que se imprime "Hello world!" en la pestaña Consola. La línea anterior es una instrucción de JavaScript. En JavaScript, las instrucciones terminan con un punto y coma. Los programas de Earth Engine se componen de un conjunto de instrucciones como esta. Puedes evitar que se ejecute el código sin borrarlo agregando comentarios. Una de las formas de marcar como comentario el código es colocar dos barras diagonales // antes del código que no quieres ejecutar. Por ejemplo:

Editor de código (JavaScript)

// print('Hello World!');

Es una buena práctica agregar muchos comentarios en el código para describir lo que intentas hacer. También es bueno borrar el código comentado que ya no hace nada. Ambas prácticas mejorarán la legibilidad del código.

Tipos de datos básicos de JavaScript

Strings

El uso de variables para almacenar objetos y tipos primitivos ayuda a la legibilidad del código. Por ejemplo, una variable que almacena un objeto de cadena se define con comillas simples ' o dobles " (pero no las mezcles), y se prefieren las comillas simples. Crea una cadena nueva y almacénala en una variable llamada greetString:

Editor de código (JavaScript)

// Use single (or double) quotes to make a string.
var greetString = 'Ahoy there!';
// Use parentheses to pass arguments to functions.
print(greetString);

Numbers

Ten en cuenta que las variables se definen con la palabra clave var. Las variables también pueden almacenar números:

Editor de código (JavaScript)

// Store a number in a variable.
var number = 42;
print('The answer is:', number);

En este ejemplo, observa que, cuando print() recibe dos argumentos separados por comas, cada argumento se imprime en una línea diferente.

Listas

Define listas con corchetes []. Una lista de números, por ejemplo:

Editor de código (JavaScript)

// Use square brackets [] to make a list.
var listOfNumbers = [0, 1, 1, 2, 3, 5];
print('List of numbers:', listOfNumbers);

Las listas también pueden almacenar cadenas o cualquier otro objeto. Por ejemplo:

Editor de código (JavaScript)

// Make a list of strings.
var listOfStrings = ['a', 'b', 'c', 'd'];
print('List of strings:', listOfStrings);

Objetos

Los objetos en JavaScript son diccionarios de pares key: value. Crea un objeto (o diccionario) con corchetes {}, por ejemplo:

Editor de código (JavaScript)

// Use curly brackets {} to make a dictionary of key:value pairs.
var object = {
  foo: 'bar',
  baz: 13,
  stuff: ['this', 'that', 'the other thing']
};
print('Dictionary:', object);
// Access dictionary items using square brackets.
print('Print foo:', object['foo']);
// Access dictionary items using dot notation.
print('Print stuff:', object.stuff);

Ten en cuenta que puedes obtener un valor de un diccionario proporcionando la clave. En este ejemplo, se muestra cómo hacerlo para objetos de JavaScript. Más adelante, aprenderás a hacerlo para los diccionarios que se encuentran en el servidor de Earth Engine.

Funciones

Las funciones son otra forma de mejorar la legibilidad y la reutilización del código, ya que agrupan conjuntos de operaciones. Define una función con la palabra clave function. Los nombres de las funciones comienzan con una letra y tienen un par de paréntesis al final. Las funciones suelen tomar parámetros que le indican a la función qué hacer. Estos parámetros se colocan dentro de los paréntesis (). El conjunto de instrucciones que componen la función se colocan entre llaves. La palabra clave return indica cuál es el resultado de la función. Hay varias formas de declarar una función, pero aquí usaremos algo como lo siguiente:

Editor de código (JavaScript)

var myFunction = function(parameter1, parameter2, parameter3) {
  statement;
  statement;
  statement;
  return statement;
};

Analicemos las líneas una por una. La primera línea crea una función nueva y la asigna a la variable myFunction. Esta variable podría haberse llamado de cualquier manera. Define cómo llamar a la función más adelante. Los términos entre paréntesis después del nombre de la función (es decir, parámetro1, parámetro2, parámetro3) son los nombres de los parámetros y también podrían haberse llamado de cualquier otra manera, aunque es una buena práctica darles nombres únicos que sean diferentes del código fuera de la función. Cualquiera sea el nombre que les asignes, estos son los nombres que la función usará para hacer referencia a los valores que se pasan a la función cuando se la llama. El valor de un parámetro una vez que se pasó a una función se denomina argumento. Si bien las funciones pueden usar variables declaradas fuera de la función (variables globales), los argumentos de la función no son visibles fuera de la función. Las funciones pueden tomar tantos parámetros como necesites, incluso ninguno. Aquí tienes un ejemplo sencillo de una función que solo devuelve su argumento:

Editor de código (JavaScript)

// The reflect function takes a single parameter: element.
var reflect = function(element) {
  // Return the argument.
  return element;
};
print('A good day to you!', reflect('Back at you!'));

Este es un ejemplo de una función definida por el usuario. También hay muchas funciones integradas de Earth Engine. Explora la pestaña Docs del Editor de código para obtener información sobre estas funciones integradas. Este es un ejemplo muy simple de una función de Earth Engine:

Editor de código (JavaScript)

var aString = ee.Algorithms.String(42);

En la siguiente sección, obtén más información sobre los objetos y métodos de Earth Engine.