我正在用 Matlab 制作我自己的 Shakemap(到目前为止,Shamemap)。Shakemap 是地图中地面震动强度的表示(谷歌搜索更多信息)。我希望它与 USGS 的相似,他们使用喷射颜色图绘制强度,并控制阴影以表示测高数据。到目前为止,我还没有弄清楚他们是如何做到这一点的。
我有一组坐标与位置的高程(来自 NASA 的 SRTM),在同一组坐标中我有一些地面震动的参数。
[经纬度 SRTM]
[lat long GroundShaking]
我可以分别对它们进行轮廓化,但是如果我将它们放在同一个图中,就像一个覆盖另一个一样。
我怎样才能把它们放在同一个图中?我曾考虑为每个位置分配一个新值,以便新值同时考虑这两种度量;具有相同 GroundShaking 参数的位置应该是相同的颜色,但如果一个更高,那么那个应该更暗。不幸的是,我不知道如何实现这一点。我也考虑过手动设置 alpha 功能,但我不能让它仅适用于 Ground Shaking 数据。有什么建议么 ?
MWE:
x=0:0.01:1;
y=0:0.01:1;
[xx,yy]=meshgrid(x,y);
asd1=zeros(length(x),length(y));
ads2=asd1;
for i=1:length(x)
for j=1:length(y)
asd1(i,j)=x(i)*y(j);
asd2(i,j)=x(i)*x(i)+y(j)*y(j);
end
end
c1=griddata(x,y,asd1,xx,yy, 'linear');
c2=griddata(x,y,asd2,xx,yy, 'linear');
contourf(asd1)
contourf(asd2)
alpha(0.5)
(MWE与地图无关,因为数据量很大)