GEE学习笔记 八

作者: 无形的风 | 来源:发表于2017-09-11 21:50 被阅读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文档。


    相关文章

      网友评论

        本文标题:GEE学习笔记 八

        本文链接:https://www.haomeiwen.com/subject/yjqqsxtx.html