使用不同的颜色映射覆盖透明的geotiff

10次浏览(过去30天)
如果我有一个geotiff绘制(使用geoshow)的颜色,我如何覆盖另一个geotiff在黑色和白色,使它部分透明?

接受的答案

乍得格林
乍得格林 2014年10月23日
编辑:乍得格林 2014年10月23日
我经常这样,当我 在冰川的卫星图像上覆盖半透明的冰速 .该图像是通过以下步骤创建的:
  1. 用灰度绘制卫星图像。
  2. 使用freezeColors允许第二个彩色地图。
  3. 使用冰速图pcolorm(纬度、经度、速度、“facealpha”。3)
  4. 设置第二个颜色映射为飞机(256)
同样的方法也可以用在 geoshow 而不是 pcolorm 正如布鲁诺指出的那样。但是,如果你用的是Matlab pre-2014b,有 一个错误 这会让Matlab在配对时崩溃 geoshow 纹理映射与标记数据。 pcolorm 这并不理想,因为它会丢弃一行和一列数据,并以半像素的偏移量绘制数据,但如果您的数据足够密集,这应该不是问题,而且它比冒完全崩溃的风险要好。
3评论
乍得格林
乍得格林 2014年10月27日
这可能是渲染器的问题。只有opengl渲染器支持透明性,所以请尝试输入万博1manbetx
集(gcf,渲染器的opengl的
然后保存。如果没用,那就用 export_fig opengl 标签。

登录评论。

更多答案(1)

布鲁诺Pop-Stefanov
布鲁诺Pop-Stefanov 2014年10月23日
编辑:布鲁诺Pop-Stefanov 2014年10月23日
调用 geoshow 第二次将覆盖之前被剥离的东西。使用 “FaceAlpha” 属性。 geoshow 第二次设置透明度。
例如,使用 显示EGM96大地水准面高度掩蔽出土地区域 文档页中的示例 geoshow
加载大地水准面并显示
负载大地水准面
用Eckert投影创建一个图形
数字
axesmeckert4
framem;gridm;
将大地水准面显示为纹理图
geoidrefvec geoshow(大地水准面,“DisplayType”“texturemap”);
创建一个颜色条和标题
HCB = colorbar(“southoutside”);
集(get (hcb,“包含”),“字符串”“EGM96大地水准面高度,单位:米。”
添加30%透明度的黑色土地
geoshow (“landareas.shp”“FaceAlpha”, 0.3,“FaceColor”“黑”);

标签

s manbetx 845

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!