绘制经纬度网格化的数据

时间:2019-05-29 18:04:15

标签: matlab plot datagrid

我目前正在尝试绘制栅格化的经纬度和经纬度数据。附件是我遇到的问题的可复制且简化的版本。当我使用附带的代码时,会收到错误消息:

  Warning: Matrix dimensions must agree, not rendering mesh 

我尝试使用:

 [X Y] = meshgrid(y,yy)

产生错误:

 Error using checkGeolocatedDataGrid>checkMatrixSizes (line 54)
 LAT and LON dimensions do not agree with Z.

我还尝试过将网格与y,yy和yyy网格化,然后使用挤压从每个变量中删除维度。

 clc
 clear all
 close all

 a=.5;
 b=28;
 y = a.*randn(10,1)+b;

 aa = .5;
 bb = -95;
 yy = aa.*randn(10,1)+bb;

 aaa = .3;
 bbb = .6;
 yyy = aaa.*randn(10,1)+bbb;

 figure
 lonlim = [min(yy) max(yy)]
 latlim = [min(y) max(y)]
 usamap(latlim,lonlim)
 geoshow(y,yy,yyy,'DisplayType','Surface')

我希望能够绘制此数据,以便生成一个图形,该图形显示变量3“ yyy”的值,因为它对应于“ y”和“ yy”,即我的“经度和纬度”变量。

谢谢!

1 个答案:

答案 0 :(得分:0)

最终必须对y和yy的网格进行网格划分,然后更改yyy的尺寸!

clc
clear all
close all

a=.5;
b=28;
y = a.*randn(10,1)+b; % 10x10 class double

aa = .5;
bb = -95;
yy = aa.*randn(10,1)+bb; % 10x10 class double

aaa = .3;
bbb = .6;
yyy = aaa.*randn(10,10)+bbb; % 10x10 class double

[y, yy] = meshgrid(y,yy)

figure
lonlim = [min(yy) max(yy)]
latlim = [min(y) max(y)]
%usamap(latlim,lonlim)
geoshow(y,yy,yyy,'DisplayType','texturemap');
shading interp


 contourcbar