类似全球范围或一定范围内的地图:
包含海洋的效果举例:
去掉海洋的效果举例:
数据准备:
1.所画地图经纬度范围
2.每个站点的数据参数值,如果是规则的,与经纬度相对应,则可以直接使用;如果是不规则的,需要进行栅格化处理,与经纬度相匹配。
总结几种画地图的方法,以便日后查看:
1.mask方法
mask方法可以用在matlab自带的map工具箱中或是m_map工具箱中。其原理是将海洋陆地分布区分开,去掉海洋部分的数据,进而成图。
其中,mask成图如图所示:
2. 提取m_gshhs数据→创建海域范围数据→mapshow填充颜色方法
该方法是基于m_map工具箱,并与mapshow相结合的画图方法,可选择高分辨率的海岸线数据,缺点是高分辨率的数据画图速度慢。
m_gshhs数据:
mapshow画图:
可填充其他颜色:
3.matlab自带判断区域内外法
该方法类似于方法1,也是建立mask,不过该法精度与离散网格精度相关,网格间距大边界处可能填充不满,网格间距越小效果越好,耗时也越长,总体上也是比较推荐的方法。
总结:
方法1的优点是简单方便,mask制作过程与画图相独立,画图更加灵活,满足一般制图需求,推荐!
方法2优点是能填充其他颜色,但需结合m_map和map工具箱,画图细节需自己代码设置。
推荐顺序:方法1>方法3>方法2
拓展:先利用方法2获得海岸线数据,然后利用方法1创建mask,有望获得更高分辨率的白化地图。另外,m_map画图后横纵坐标发生变化,该坐标与经纬度之间的转换还需要进一步研究,知道的博友可与我进一步交流。
更多精彩内容扫一扫关注微信公众号: