Google Earth Engine学习

GEE学习笔记 八

2017-09-11  本文已影响0人  无形的风

GEE的基本数据类型和语法介绍

这里罗列一些和JavaScript对应的GEE常见的数据类型,不包括Image、Feature、Geometry等类型。GEE的这些基本数据类型可以理解为Google对于JavaScript数据类型的二次封装,加入了一些自定义的方法,方便各种调用。相关代码如下:

字符串

//basice gee data type
//ee.String  字符串
var base_str = "this is string.";
var ee_str1 = ee.String(base_str);
print("ee string is", ee_str1);

//字符串的长度
print("ee string length ", ee_str1.length());

//拼接字符串
var ee_str2 = ee.String(" second string");
var ee_str3 = ee_str1.cat(ee_str2);
print(ee_str3);

//替换字符串
var ee_str4 = ee.String("my name is AA, so i am a boy.")
var ee_str5 = ee_str4.replace("AA", "BB")
print(ee_str5)

//字符变大写、变小写
var ee_str6 = ee.String("China");
print(ee_str6.toUpperCase())
print(ee_str6.toLowerCase())

var ee_str7 = ee.String("This is landsat8 image”);
//获取子字符串,字符串的起始索引0
print(ee_str7.slice(1, 6));
//分割字符串
print(ee_str7.split(" "));

输出结果:


数值

//basice gee data type
//ee.Number 数值
var num = 100.01;
var ee_num1 = ee.Number(num);
print("ee number is", ee_num1);

// 绝对值
print("ee abs is", ee.Number(-100).abs());
// 浮点型转换为整型
print("float to int", ee_num1.toInt());

输出结果:


数组(矩阵?是否更合适)

//basice gee data type
//ee.Array 直译是数组,但是我个人觉得它更像是矩阵
var ee_arr1 = ee.Array([[1,2], [2,2]]);
print("ee_arr1 is", ee_arr1);
var ee_arr2 = ee.Array(ee.List([[1,1], [3,3]]));

//加、减、除、乘计算
print("add result ", ee_arr1.add(ee_arr2));
print("subtract result", ee_arr1.subtract(ee_arr2));
print("divide result", ee_arr1.divide(ee_arr2));
print("multiply result", ee_arr1.multiply(ee_arr2));

输出结果:

screenshot_101.png

日期

//basice gee data type
//ee.Date 日期
var ee_date1 = ee.Date("2017-01-01”);
print("ee_date1 is", ee_date1);
print("ee date is", ee.Date.fromYMD({
  year:2010,
  month:1,
  day:1
}));

//获得当前时间
var now = Date.now();
print("js now is " + now);
print("ee date now is", ee.Date(now));

输出结果:

screenshot_102.png

字典

//basice gee data type
//ee.Dictionary 字典
var ee_dict1 = ee.Dictionary({
  name: "AA",
  age: 10,
  desc: "this is a boy"
});
print("keys is", ee_dict1.keys());
print("age is ", ee_dict1.get("age"));
print("name is ", ee_dict1.get("name"));

输出结果:


列表

//basice gee data type
//ee.List 列表
var ee_list1 = ee.List([1,2,3,4,5]);
print("ee list create first method", ee_list1);

//列表初始化除了可以直接使用Js数组,还可以使用内部方法
var ee_list2 = ee.List.sequence(1, 5);
print("ee list create second method", ee_list2);
print("ee_list2[1] = ", ee_list2.get(1));

print("step is 2", ee.List.sequence(1, 5, 2));
print("count is 2", ee.List.sequence({
  start:1,
  end:5,
  count:2
}));

// 创建一个4长度,所有值都是10的列表
print("repeat ", ee.List.repeat(10, 4));

输出结果:

screenshot_104.png

上述所有的操作都只是介绍了各个类型一小部分的操作,在更详细的操作可以参考GEE的Doc文档。


上一篇下一篇

猜你喜欢

热点阅读