如何将数组绘制到带有纬度和经度的地图上?
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
我有一个 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