Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

surface_temperature_tm for Landsat 7 #2

Open
vjjan91 opened this issue Apr 24, 2019 · 8 comments
Open

surface_temperature_tm for Landsat 7 #2

vjjan91 opened this issue Apr 24, 2019 · 8 comments

Comments

@vjjan91
Copy link

vjjan91 commented Apr 24, 2019

Looks like your function works for LST for Landsat 5, but is there a function to calculate LST for Landsat 7?

Please help.

@sacridini
Copy link
Owner

Hi! Actually you can use the L5 function to get the same data from the L7 sensor too. :)

@eringregoire
Copy link

I'm still having an issue with L7 and calculating LST. Here is the code I'm using. I changed the one function to surface_temperature_tm but for whatever reason I still cannot get an accurate measure of the land surface temperature using this code and Landsat 7. Do you know if there is anything else I need to change in my code?

// LST 2002

var LST02 = ee.Image(
clippedCollection7.filterBounds(point)
.filterDate('2002-07-01', '2002-11-30')
.sort('CLOUD_COVER')
.first()
);
var new_toa_radiance = geet.toa_radiance(LST02, 8);
var brightness_temp_img = geet.brightness_temp_l7c(new_toa_radiance, true);
var l7_ndvi = geet.ndvi_l7(brightness_temp_img);
var img_pv = geet.prop_veg(l7_ndvi);
var lse = geet.surface_emissivity(img_pv);
var surfTemp_lse = geet.surface_temperature_tm(lse);
var im = surfTemp_lse.select("LST");
print(im);

@vjjan91
Copy link
Author

vjjan91 commented May 1, 2019

@erin - Could you also provide a screenshot of the output ?

@eringregoire
Copy link

Screen Shot 2019-05-01 at 1 07 23 PM

@eringregoire
Copy link

And the temperature range is 23 to 221 degrees.

@vjjan91
Copy link
Author

vjjan91 commented May 1, 2019

Maybe a link to your code? (if possible) Thanks! Hopefully, @sacridini can figure it out.

@eringregoire
Copy link

https://code.earthengine.google.com/2b3e9f1eb3ce5a3d38882c48a7abfc52
Here is the link to my code. Thank you!!

@sacridini
Copy link
Owner

sacridini commented May 2, 2019

Hi guys, i'm working a lot in another project, so sorry for the delay.
eringregoire, i think this code could help you... that's the way i generate the LST layer:

    var geet = require('users/elacerda/geet:geet');
    var image_col = ee.ImageCollection(l5)
                      .filterBounds(roi)
                      .filterDate('2010-01-01', '2010-12-31')
                      .sort('CLOUD_COVER');
    var image = image_col.first();
    var toa = geet.toa_radiance(image, 6);
    var ndvi = geet.ndvi_l5(toa);
    var bt = geet.brightness_temp_l5c(ndvi, true);
    var propVeg = geet.prop_veg(bt);
    var lse = geet.surface_emissivity(propVeg);
    var lst = geet.surface_temperature_tm(lse);
    var lst_only = lst.select('LST');

The number of the band that you are using to call the toa_radiance function its really 8? As far as i know, the Landsat 7 have the same band numbers as Landsat 5, right? Another point is the order of the things and the variables that you area passing. I think it can be that...

I hope i was helpfull. Try this code that I gave you and then tell me if it worked. :)

Best,
Edu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants