ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-12-27 18:35:54  阅读:193  来源: 互联网

标签:Engine Google dictionary ee list1 list print var


 

一、【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)

 

2.dictionary.set()字典设置

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

 

(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)

2.list.repeat()重复5次

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

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)

(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)

 

 

 

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二维或多维的量降维成一维量

 

(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)

 

 

 

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)

 

 //如果初始值为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)

  • 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)

(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)

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右移

 

标签:Engine,Google,dictionary,ee,list1,list,print,var
来源: https://www.cnblogs.com/wangchengcong/p/14197174.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有