0

I'm downloading daytime satellite imagery from Landsat 8 and am slightly concerned that I'm doing something wrong because the imagery is so dark.

This was a composite image of Indonesia I made:

enter image description here

In terms of pre-processing steps, I used pansharpening & the GEE composite function:


landsat_mission = 'LANDSAT/LC08/C01/T1'
LS_day_sat = 'LS8'
  
filtered_shp = ee.ImageCollection(landsat_mission).filterDate(start_date, end_date)\
  .filterBounds(bounding_box)

#Use inbuilt EE function to create big composite image from Landsat tiles
composite = ee.Algorithms.Landsat.simpleComposite(filtered_shp).float();

#Pansharpening

#Select RGB bands
rgb = composite.select('B4', 'B3', 'B2').unitScale(0,255)
  
#Select panchromatic band
gray = composite.select('B8').unitScale(0,155)

#Convert RGB image to Hue Saturation Value & select only hue & saturation bands
huesat = rgb.rgbToHsv().select('hue','saturation')
#Combine hue, saturation & panchromatic bands, then convert back to RGB for upscaled image
satellite_imagery = ee.Image.cat(huesat, gray).hsvToRgb()

I'm downloading the images now and I'm getting a lot of black squares - Is this normal for daytime imagery?

#get centroid coordinates of bounding box for map view centering
cen_x = bbox_poly.centroid.x[0]
cen_y = bbox_poly.centroid.y[0]

#create folium object
map = folium.Map(location = [cen_y,cen_x], 
                 zoom_start = 6, #defines zoom level of map
                 width = 1280, #define size of map
                 height = 766,
                 attr=day_sat) #display name of satellite

#get mapID of sat_imagery from GEE
ee_image_map_id = ee.Image(satellite_imagery).getMapId()

#add sat_imagery to map 
folium.raster_layers.TileLayer(
    tiles = ee_image_map_id['tile_fetcher'].url_format, #map data source; uses mapID to get URL link of filtered satellite imagery
    attr = 'Google Earth Engine', 
    name = 'Daytime Imagery', 
    overlay = True, #imagery will be placed over Folium default base map
    control = True, #layer will be included in Layer Control 
   ).add_to(map)

display(map)''''

1 Answer 1

1

How dark the image look on the map depends on how it's been stretched. You left that code out of your question. I transferred your script to the EE Code Editor and added the pan-sharpened image to the map, stretching it like I'd normally do. It looks good.

Map.addLayer(satellite_imagery, {
  bands: 'red,green,blue',
  min: [.02, .04, .06],
  max: [.24, .22, .24],
  gamma: 1.2
})

https://code.earthengine.google.com/4101b82b34939d4d9d15b8075c088eb4

1
  • thank you so much! this really helped. sorry, still new to this but i wasn't sure how to insert these visualisation parameters into my current code - using folium to display it. could you help me? have added the additional code to my original question Commented Dec 7, 2021 at 10:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.