【Google Earth Engine编程语言学习笔记】dictionary、list、array

 

一、【dictionary】

字典是存储各属性信息的集合

(1)字典创建

  • var dictionary=ee.Dictionary({
    name:'www',
    age:'>20',
    gender:'man',
    location:'hb'})
    print(dictionary)

(2)字典修改

1.dictionary.combine()字典结合

  • var dictionary1=ee.Dictionary({name:'www',age:'>20',hight:'165cm'})
    var dictionary2=ee.Dictionary({age:'>30',weight:'70kg'})
    var dictionary3=dictionary1.combine(dictionary2,true);
    print(dictionary3)

  • var dictionary1=ee.Dictionary({name:'www',age:'>20',hight:'165cm'})
    var dictionary2=ee.Dictionary({age:'>30',weight:'70kg'})
    var dictionary3=dictionary1.combine(dictionary2,false);
    print(dictionary3)

【Google Earth Engine编程语言学习笔记】dictionary、list、array【Google Earth Engine编程语言学习笔记】dictionary、list、array

 

2.dictionary.set()字典设置

  • var dictionary=ee.Dictionary({
    name:'www',
    age:'>20',
    gender:'man',
    location:'hb'})
    var dictionary1=dictionary.set('age','>30')
    print(dictionary1)

【Google Earth Engine编程语言学习笔记】dictionary、list、array 

(3)字典查询

1.dictionary.keys()字典关键词列出(name,age,gender,location)

  • var dictionary=ee.Dictionary({
    name:'www',
    age:'>20',
    gender:'man',
    location:'hb'})
    var list=dictionary.keys()
    print(list)

2.dictionary.get()字典中指定一个关键词的值(www)

  • var dictionary=ee.Dictionary({
    name:'www',
    age:'>20',
    gender:'man',
    location:'hb'})
    var value=dictionary.get(‘name’)
    print(value)

 

3.dictionary.values()字典中指定多个关键词的值(www,>20)

 

  • var dictionary=ee.Dictionary({
    name:'www',
    age:'>20',
    gender:'man',
    location:'hb'})
    var value=dictionary.value([‘name’,‘age’])
    print(value)

(4)字典对比

1.dictionary.contains()字典中是否包含这样一个关键词(false)

  • var dictionary=ee.Dictionary({
    name:'www',
    age:'>20',
    gender:'man',
    location:'hb'})
    var value=dictionary.contains(‘hight’)
    print(value)

(5)字典尺寸

1.dictionary.size()字典中有几个关键词(4)

  • var dictionary=ee.Dictionary({
    name:'www',
    age:'>20',
    gender:'man',
    location:'hb'})
    var value=dictionary.size()
    print(value)

二、【list】

(1)创建

1.ee.List()

  • var list=ee.List([1,2,3,'a','b','c',['hello','world']])
    print(list)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

2.list.repeat()重复5次

  • var list=ee.List.repeat('yes',5)
    print(list)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

3.list.sequence(起始,末尾,步增,个数)顺序排列

  • var list1=ee.List.sequence(0,9,null,4)
    print(list1)
    var list2=ee.List.sequence(0,9,1,null)
    print(list2)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

(2)修改

1.list.set(第几个值,设置的值)对某一值附新值

2.list.replace(被替换的值,替换值)只能替换第一个   

3.list.replaceAll(被替换的值,替换值)能替换全部值

4.list.add(添加的值)在末尾添加的值

5.list.insert(插入值的次序,插入的值)在指定位置插入值

6.list.zip(值1,值2,值3)将两个list对应位置打包合并成一个新的list。

  • var list1=ee.List([1993,1,21,'no.1'])
    var list2=list1.zip(['year','month','day'])
    print(list2)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

 

 

 

7.list.reverse()将list中的值倒叙排列

  • var list1=ee.List([1993,1,21,5,2,4])
    var list2=list1.reverse()

  • 结果:[4,2,5,21,1,1993]

8.list.rotate(list中的某个值)将list中的某个值作为第一位排序

  • var list1=ee.List([1993,1,21,5,2,4])
    var list2=list1.rotate(2)

  • 结果:[2,4,1993,1,21,5]

9.list.sort()依照首字母排序

10.list.swap(值1,值2)将值1和值2位置对调

11.list.flatten()将list二维或多维的量降维成一维量

【Google Earth Engine编程语言学习笔记】dictionary、list、array

 

(3)查询

1.list.get()对list中第几个位置的 值进行查询

2.list.remove(要去除的值)对list中该值第一个的去除

3.list.removeAll(要去除的值)对list中该值所有值的去除

(4)比较

1.list1.equals(list2)判断list1是否等于list2,返回true或false

2.list.contains(值)判断list中是否包含值,返回true或false

3.list1.containsAll(list2)判断list1是否全部包含list2,顺序不同也没事,返回true或false

4.list.indexOf(值)某个值的索引值 list=[1,2,3,4,5,6,4,5,6,5,5,5] list.indexOf(5)    结果4

5.list.indexOfSublist([list])小list首先出现在大list的那个位置 list=[1,2,3,4,5,6,4,5,6,5,5,5] list.indexOfSublist([4,5,6])  结果3

6.list.lastIndexOfSublist([list])小list最后出现在大list的那个位置 list=[1,2,3,4,5,6,4,5,6,5,5,5] list.lastIndexOfSublist([4,5,6])  结果6

7.list.frequency(值)值出现的次数 list=[1,2,3,4,5,6,4,5,6,5,5,5] list.frequency(5)  结果5

(5)其他

1.list.map()对list中每一个数据进行同样的操作,所有的值进行并行运算

  • var list1=ee.List(['z','x','c','v'])
    function DO(name){
    return ee.List.repeat(name,3)
    }
    var list2=list1.map(DO)
    print(list2)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

 

 

 

2.list.iterate()循环,但是GEE不推荐,有时候遥感影像会用到,如后面的函数值用到前面的函数值

  • //1到5累加
    var list1=ee.List.sequence(1,5,1)
    function DO(num1,num2){
    return ee.Number(num1).add(num2)//每次引入两个变量进行相加,如1,2,3,4,5中,首先1+2=3 加上初始值返回,再3+4=7返回
    }
    var list2=list1.iterate(DO,2)//位置和初始量
    print(list1,list2)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

 

 //如果初始值为0,结果是15;初始值为1,结果为16.。。。

 

3.list.length()   list.size()list有多少个小list

  • List([['c','d'],1,6,1])中返回结果为4

三、【array】

(1)创建

1.ee.Array()创建一个矩阵

  • var array1=ee.Array([[1],[2],[3]])//3*1
    var array1=ee.Array([1,2,3])//1*3

2.ee.Array.identity(5)创建一个5*5的单位向量

3.ee.Array.repeat(重复的方向,重复的次数)

  • var array1=ee.Array([[[1,1,1],[1,1,1],[1,1,1]],[[2,2,2],[2,2,2],[2,2,2]]])
    var array2=array1.repeat(0,2)
    print(array1,array2)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

  • var array1=ee.Array([[[1,1,1],[1,1,1],[1,1,1]],[[2,2,2],[2,2,2],[2,2,2]]])
    var array2=array1.repeat(1,2)
    print(array1,array2)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

(2)修改

1.array.mask()掩膜操作

  • var array1=ee.Array([[1,1],[2,8],[3,5],[4,6]])
    var array2=ee.Array([[0],[1],[0],[1]])
    var array3=array1.mask(array2)
    print(array3)

【Google Earth Engine编程语言学习笔记】dictionary、list、array

2.array.transpose()矩阵转置,即2*3变为3*2

3.array.uint8()将list中的值转化为整数,四舍五入

(3)数学

1.array.eq()得到一个矩阵,矩阵1等于矩阵2的部分为1    neq不相等  gt大于  gte大于等于  lt小于  lte小于等于

2.array.and()  array.or()

3.array.floor向下取整    ceil向上取整    abs绝对值    round四舍五入    sqrt开方    exp幂    log对数    log10以10为低对数     add加    multiply乘    divide除    min最小    max最大

4.array.add()矩阵1和矩阵2相加 同样还有减,乘,除,模,开方,最大,最小,sin,cos,tan。。。。

5.array.bitWiseAnd()位运算,同数据运算

6.array.leftShift()矩阵中每个值左移   leftRight右移

 

上一篇:转载 Visual Studio 2017 第一个C语言程序


下一篇:Java EE—最轻量级的企业框架?