0
点赞
收藏
分享

微信扫一扫

第四章 GEE的数据类型(String_Number_Dictionary_List_Array)

晗韩不普通 2022-04-22 阅读 55
javascript

一、String

1.1创建 ee.String()

var string = ee.String("this is a string")
print(string)

1.2 修改 string.cat()          string.replace()

var string1 = ee.String("I am the first.")
var string2 = ee.String("I am the second.")
var cat_string = string1.cat(string2)
print(cat_string)

var string1 = ee.String("GDUT")
var string2 = string1.replace("D","S")
print(string2)

1.3 段落 string.split()          string.match()

var string1 = ee.String("A_B_C_D_E")
var string2 = string1.split("_")
print(string2)

var string1 = ee.String("A B C D E")
var string2 = string1.match("C","i")
print(string2)

 

1.4 查询 string.slice()        string.length()

var string1 = ee.String("1234 5678 91123")
var string2 = string1.slice(5 10)
print(string2 )

  

var string1 = ee.String("ABCD 1234")
var string2 = string1.length()
print(string1,string2)

二、Number

2.1 创建ee.Number()

var number = ee.Number(497615645)
print(number)

2.2 修改number.uint8() number.toUint8() number.int8() number.toInt8() ......

var number1 = ee.Number(-5.69)
var number2 = number1.int8()
var number3 = number1.toInt8()
print(number1,number2,number3)

2.3 比较number.eq() number.neq() ...... number.and() number.or() ee.Algorithms.IsEqua() ......

var number1 = ee.Number(8)
var number2 = ee.Number(-8)
var True_False = number1.eq(number2)
print(number1,number2,True_False)

2.4 运算number.abs() number.round()四舍五入 number.pow()  number.ceil() 向上取整 number.sqrt() 开方 number.exp()幂 number.log()对数 number.log10()10底对数

var number1 = ee.Number(-56.9)
var number2 = number1.floor().abs()
print(number1,number2)

2.5 字位number.bitwiseAnd() number.bitwiseOr() number.bitwise_and() number.bitwiseor() number.leftShift() number.right_shift() ......

var number1 = ee.Number(2)
var number2 = ee.Number(3)
var number_And = number1.bitwiseAnd(number2)
var number_Or = number1.bitwise_or(number2)
print(number1,number2,number_And,number_Or)

        位运算存在的目的在于例如在Landsat卫星图像中,它传输数据传输到地面的时候,它的前8位或前12位是用二进制的方式进行存储的,而这8位或者12位数字里面,从第一到第四,有相当的位置是用来存储云层含量的,因此掌握了位运算就可以通过位运算加上筛选的方式对每一个像素的云层含量进行筛选,这也是Google Earth Engine实现云层去除的一个算法。

var number = ee.Number(3)
var number_left = number.leftShift(2)
var number_right = number.rightShift(1)
print("00000011 to 00001100",number_left)
print("00000011 to 00000001",number_right)

三、Array

3.1 创建 ee.Array() ee.Array.identity() ee.Array.repeat()

//Array的创建
var Array1 = ee.Array([[1],[2],[3]])
var Array2 = ee.Array([1,2,3])
var Array3 = ee.Array.identity(5)
print(Array1,Array2,Array3)

var Array1 = ee.Array([[1],[2],[3]])
var Array2 = Array1.repeat(1,3)
print(Array1,Array2)

3.2 修改 array.mask() array.transpose() array.uint8() array.Uint8()

var Array1 = ee.Array([[11,11,11],[22,22,22],[34,56,78]])
var Array2 = ee.Array([[0],[0],[1]])
var Array3 = Array1.mask(Array2)
var Array4 = Array1.transpose()
print(Array1,Array2,Array3,Array4)

var Array1 = ee.Array([[1.1,1.1,1.1],[2.2,2.2,2.2],[3.4,5.6,7.8]])
var Array2 = Array1.uint8()
print(Array1,Array2)

 

3.3 数学 array.eq() array.and() array.or() array.round() array.bitwiseAnd() array.leftShift()

var Array1 = ee.Array([[1,1.1,1.1],[2,2.2,2.2],[3.4,5.6,7.8]])
var Array2 = Array1.uint8()
var Array3 = Array1.eq(Array2)
var Array4 = Array1.and(Array2)
var Array5 = Array1.or(Array2)
var Array6 = Array1.ceil()
print(Array1,Array2,Array3,Array4,Array5,Array6)

var Array_1 = ee.Array([3,2])
var Array_2 = ee.Array([3,3])
var Array_Bit_And = Array_1.bitwiseAnd(Array_2)
var Array_Bit_or = Array_1.bitwise_or(Array_2)

var Array_3 = ee.Array([1,2,3])
var Array_Left = Array_3.leftShift([1,1,1])
var Array_Right = Array_3.rightShift([1,1,1])
print('Bitwise [11,10]and [11,11]=',Array_Bit_And)
print('Bitwise [11,10]or [11,11]=',Array_Bit_or)
print(Array_Left,Array_Right)

四、List

4.1 创建ee.List() list.repeat() list.sequence()

var list = ee.List([1,4,5,"B","F",["Computer","Teacher"]])
print(list)

var list = ee.List.repeat("GDUT",5)
print(list)

var list1 = ee.List.sequence(0,10,1,null)
var list2 = ee.List.sequence(0,10,null,3)
print(list1,list2)

4.2 修改list.set() list.replaceAll() list.add() list.insert() list.zip() Iist.reverse0)list.rotate() list.sort() list.swap() list.flatten()

var list1 = ee.List.sequence(0,10,1,null)
var list2 = list1.set(0,20)
var list3 = list1.set(-1,100)
print(list1,list2,list3)

var list1 = ee.List.sequence(0,10,1,null)
var list2 = list1.replace(5,20)
var list3 = list1.replaceAll(3,100)
print(list1,list2,list3)

var list1 = ee.List.sequence(0,10,1,null)
var list2 = list1.add("School")
var list3 = list1.insert(3,"GDUT")
print(list1,list2,list3)

var list1 = ee.List.sequence(0,10,1,null)
var list2 = list1.zip(["School","GDUT"])
print(list1,list2)

var list1 = ee.List.sequence(0,10,1,null)
var list2 = list1.reverse()
var list3 = list1.rotate(5)
print(list1,list2,list3)

4.3 查询list.get() list.remove() list.removeAll()

var list1 = ee.List.sequence(0,10,1,null)
var list2 = list1.sort()
var list3 = list1.swap(6,8)
// 降维
var list4 = ee.List([[1,2,3],[4,5,6]]).flatten()
var list5 = list4.get(3)
var list6 = list1.remove(3)
var list7 = list1.removeAll([3,4])
print(list1,list2,list3,list4,list5,list6,list7)

4.4 比较list.equals() list.contains() list.containsALL() list.indexOf() list.indexOfSubList() list.lastIndexOfSubList() list.frequency()

var List_1 = ee.List(['zhao','qian','sun','li'])
var List_2 = ee.List(['zhao','qian','li','sun'])
var List_3 = ee.List(['zhao','qian','li'])

var True_False_1 = List_1.equals(List_2)
var True_False_2 = List_1.contains('li')
var True_False_3 = List_1.containsAll(List_3)

print(True_False_1,True_False_2,True_False_3)

var List_Number = ee.List([1,2,3,4,5,6,4,5,6,5,5,5])
var Index_Number = List_Number.indexOf(5);
var Index_Sub = List_Number.indexOfSublist([4,5,6]);
var Index_Last_Sub = List_Number.lastIndexOfSubList([4,5,6])
var Frequency_Number = List_Number.frequency(5)

print(List_Number)
print(Index_Number)
print(Index_Sub)
print(Index_Last_Sub)
print(Frequency_Number)

4.5 其他list.map() list.iterate() list.length() list.size()

var List_1 = ee.List(['Zhao','Qian','Sun','Li'])

function Do(Name){
  return ee.List.repeat(Name,3)
}

var List_2 = List_1.map(Do)
print(List_1,List_2)

var list1 = ee.List.sequence(1,100,1)

function Do(Number_1,Number_2){
  return ee.Number(Number_1).add(Number_2)
}

var list2 = list1.iterate(Do,0)
print(list2)

var list1 = ee.List.sequence(1,100,1)
var list2 = list1.size()
var list3 = list1.length()
print(list2,list3)

五、Dictionary

5.1 创建ee.Dictionary()

var Dictionary = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer"
})

print(Dictionary)

5.2 修改dictionnary.combine()   dictionary.set()

var Dictionary1 = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer",
  tel:"13679548962"
})
var Dictionary2 = ee.Dictionary({
  School:"JXUST",
  Location:"GanZhou",
  Science:"teacher"
})
var Dict_Combine = Dictionary1.combine(Dictionary2,false)
print(Dictionary1,Dictionary2,Dict_Combine)

var Dictionary = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer",
  tel:"13679548962"
})

var Dict_Change = Dictionary.set("School","JXUST")
print(Dictionary,Dict_Change)

5.3 查询dictionary.keys() dictionary.get() dictionary.values()

var Dictionary = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer",
  tel:"13679548962"
})

var Dict_Keys = Dictionary.keys()
print(Dictionary,Dict_Keys)

var Dictionary = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer",
  tel:"13679548962"
})

var Dict_School = Dictionary.get("School")
print(Dictionary,Dict_School)

var Dictionary = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer",
  tel:"13679548962"
})

var Dict_Values = Dictionary.values(["School","Location"])
print(Dictionary,Dict_Values)

5.4 对比dictionary.contains()

var Dictionary = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer",
  tel:"13679548962"
})

var Dict_Contains = Dictionary.contains("School")
print(Dictionary,Dict_Contains)

5.5 尺寸dictionary.size()

var Dictionary = ee.Dictionary({
  School:"GDUT",
  Location:"GuangZhou",
  Science:"Computer",
  tel:"13679548962"
})

var The_Size = Dictionary.size()
print(Dictionary,The_Size)

举报

相关推荐

第四章

第四章总结

第四章:表

第四章、数组

第四章:Hbase

0 条评论