如何将数组绘制到带有纬度和经度的地图上?

How to plot array on to map with lat and long?

我有一个 360×180 的数组以及要绘制到地理底图上的内容。

360×180 阵列基本上是地球,单元格是给定经纬度的 属性。 当我第一次使用 contour(X) 绘制它时,轴是从 0-360 和 0-180。 然后我用了

R = georasterref('RasterSize', [180 360], ... 'RasterInterpretation'、'cells'、'ColumnsStartFrom'、'south'、'RowsStartFrom'、'west'、... 'LatitudeLimits', [-89.5 89.5], 'LongitudeLimits', [-179.5 179.5]); 等高线 (x,R)

创建了坐标轴为 -90 ~ +90 和 -180 ~ +180 的绘图

然后,当我尝试在地理底图上绘制时,它会覆盖我调出的地图,因为这些地图的度数坐标为 -90 度 ~ +90 度和 -180 度 ~ +180 度。 好像 MATLAB 没有让这些数字坐标系和度数坐标系相互绘制。

有没有办法把360*180的数组绘制到地图上,坐标为-90°~+90°和-180°~+180°?

0.03    0   0   0   0   0   0   0.03
0   0   0   0   0   0   0   0
NaN NaN 0   0   0   0   0   0
0.01    0.05    0.05    NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN
0   0   0   NaN NaN NaN NaN NaN
NaN NaN 0.02    0   0   NaN NaN NaN
NaN NaN NaN NaN NaN 0   0   0
NaN NaN NaN NaN NaN NaN NaN 0.01
NaN NaN NaN NaN NaN 0   0   0
NaN NaN NaN 0.04    0   0   NaN NaN
NaN NaN 0.03    0   NaN NaN NaN NaN
0   0.02    0.03    NaN NaN NaN NaN NaN
0.01    NaN NaN NaN NaN NaN NaN NaN

以上是我的数组的一小部分,因为放完整的180×360数组太长而且不可能,所以我只能放这一部分。 但完整的 180 x 360 数组只是此示例的更多部分。

我能够在地图上绘制 360 x 180 的卫星轨迹。

R = georasterref('RasterSize', [180 360], ...
'RasterInterpretation', 'cells', 'ColumnsStartFrom', 'south','RowsStartFrom', 'west', ...
'LatitudeLimits', [-89.5 89.5], 'LongitudeLimits', [-179.5 179.5]);

axesm('miller');
% geoshow('landareas.shp')
load coastlines
plot(coastlon,coastlat) % load coastlines

contourm(X,R,'LineWidth',3)

至于 X 是 360×180 array/matrix