【发布时间】:2021-07-13 22:03:42
【问题描述】:
我有一个 360×180 数组以及要在地理底图中绘制的内容。
360×180 阵列基本上是地球,而单元格是给定经纬度的属性。 当我第一次使用轮廓(X)绘制它时,轴是从 0-360 和 0-180。 然后我用了
R = georasterref('RasterSize', [180 360], ... 'RasterInterpretation', 'cells', 'ColumnsStartFrom', 'south', 'RowsStartFrom', 'west', ... '纬度限制',[-89.5 89.5],'经度限制',[-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×360 数组只是这个示例的更多部分。
【问题讨论】:
-
您是否考虑过重新映射坐标?
-
你能澄清一下重新映射坐标是什么意思吗?
-
359->-1, 358->-2 等。使用 fftshift 之类的方法来修复数据
-
我不认为我们可以将列和行改为负数,数组是 360×180 所以第一个单元格是 X(1,1);我想知道是否有任何东西可以使第一个单元格成为 X(90,-180) 这就是为什么我使用 georasterref 将纬度、经度置于地图中心的 (0,0) 中心(在初始数组中将在 X(180,90))
-
请发帖minimal reproducible example。随机生成的数据就OK了
标签: matlab matlab-figure