1、在获取数据过程中,一般得到的数据是XYZ格式(或经纬度+属性),或者说是txt格式的,但是我们展示的时候一般是用平面图或者三维图的形式,这样看着方便。
2、给出三列数据,经纬度+属性。首先要了解数据的范围,根据数据范围制定需要作图的区域。还要根据自己需要的精度和属性数据的点位数来确定网格大小。这里也可以使用linspace命令来确定网格的多少。多数情况下,是根据自己的需求计算经纬度的网格大小。
3、这里我们作为范例,选择了100.lon = linspace(max(xyz1(:,1)),min(xyz1(:,1)),100);lat = li荏鱿胫协nspace(max(xyz1(:,2)),min(xyz1(:,2)),100);然后将经纬度进行网格化。我使用了比较笨的方法:for j = 1:100lon(j,:) = lon(1,:);lat(:,j) = lat(:,1);end
4、接着就可以使用原先的XYZ数据进行网格化。z所鼙艘疯z = griddata(xyz1(:,1),xyz1(:,2),xyz1(:,3),lon,lat);这里大家看图可知,在所做的网格内,如果超出了原始数据的范畴,最终得到的属性数据就会缺失。也就是说网格内的数据为空,作图的时候也不会有显示。
5、下面我们做一张平面图看看效果。contourf(lon,lat,zz,5);
6、这里给出的效果不是太好,主要与我在网上下载的数据有关,大家有兴趣可以找一些质量较好的数据进行成图,观察最终的效果。另外,还可以使用geoshow命令加入shp文件。