- Plot the satellite image in grayscale.
- Use freezeColors to allow a second color map.
- Plot ice speed using pcolorm(lat,lon,speed,'facealpha',.3).
- Set the second color map to jet(256).
overlay geotiffs with transparency using different colormaps
14 views (last 30 days)
Chad Greene on 23 Oct 2014
Edited: Chad Greene on 23 Oct 2014
I do this often when I overlay semitransparent ice speed over satellite images of glaciers. That image was created with these steps:
The same can be done with geoshow instead of pcolorm as Bruno pointed out. However, if you're using Matlab pre-2014b, there's a bug that might make Matlab crash when pairing geoshow texture maps with marker data. pcolorm is not ideal because it discards a row and a column of data, and plots data offset by half a pixel, but if your data is dense enough it should not be a problem, and it's better than risking a total crash.
More Answers (1)
Bruno Pop-Stefanov on 23 Oct 2014
Edited: Bruno Pop-Stefanov on 23 Oct 2014
Calling geoshow a second time will overlay over what was previously displated. Use the 'FaceAlpha' property when calling geoshow for the second time to set the transparency.
For example, using the Display EGM96 Geoid Heights Masking Out Land Areas example in the doc page for geoshow:
% Load geoid and display
% Create a figure with an Eckert projection
% Display the geoid as a texture map
geoshow(geoid, geoidrefvec, 'DisplayType', 'texturemap');
% Create a colorbar and title
hcb = colorbar('southoutside');
set(get(hcb,'Xlabel'),'String','EGM96 Geoid Heights in Meters.')
% Add the land in black with 30% transparency
geoshow('landareas.shp', 'FaceAlpha', 0.3, 'FaceColor','black');