William Belini
William Belini

Reputation: 11

GEE - ui.Label Error, can´t print ee.String text

My code

//Geometrys
var geometry = *Generic Poligon 
var g1 = *Generic Poligon

//Geometrys Area
var garea = ee.Number.parse(ee.Number.parse(   
      geometry.area({'maxError': 1})   
      .divide(10000))   
      .format('%.2f'))

var g1area = ee.Number.parse(ee.Number.parse(   
      g1.area({'maxError': 1})
      .divide(10000))
      .format('%.2f'))

//Panel
var panel = ui.Panel({   
    layout: ui.Panel.Layout.Flow('vertical'),   
    style: {position:'top-left'}  
})

var area_data = [   
ee.String('Area total (ha):').cat(garea.getInfo()),  
ee.String('1: ').cat(g1area.getInfo())]

var area_label = ui.Label(area_data)
panel.add(area_label)
Map.add.(panel)

IT RETURNS

ee.String({ "type": "Invocation", "arguments": { "string1": "Area total (ha): ", "string2": 100 }, "functionName": "String.cat" }),ee.String({ "type": "Invocation", "arguments": { "string1": "1: ", "string2": 10 }

Why it doesn't return just the String value, like the Print function?

Upvotes: 0

Views: 63

Answers (1)

ciranzo
ciranzo

Reputation: 82

You must use the getInfo method on the entire ee.String.

Instead ee.String.cat(garea.getInfo()):

var area_data = [   
ee.String('Area total (ha):').cat(garea.getInfo()),  
ee.String('1: ').cat(g1area.getInfo())]

Use ee.String.cat(garea).getInfo():

var area_data = [   
ee.String('Area total (ha):').cat(garea).getInfo(),  
ee.String('1: ').cat(g1area).getInfo()]

Upvotes: 0

Related Questions