爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: 斥鷃

[程序设计] matlab中地图边界与掩膜(去掉边界外区域)的实现(基于shape文件)

  [复制链接]
发表于 2016-1-11 20:12:34 | 显示全部楼层
楼主,我现在已有处理好的BLN底图,想要添加到全球范围的工作文档里当作掩膜,即想要提取BLN底图为单位的分省区域的变量文件,并出图。不知道这个程序要如何写好呀
密码修改失败请联系微信:mofangbao
发表于 2016-1-12 21:14:21 | 显示全部楼层
这个方法是针对一个多边形的,如果是中国地图呢,有很多多边形,请问有人知道怎么掩膜吗?
密码修改失败请联系微信:mofangbao
发表于 2016-1-14 13:55:31 | 显示全部楼层
非常给力哇,谢谢楼主啦
密码修改失败请联系微信:mofangbao
发表于 2016-2-28 20:27:02 | 显示全部楼层
楼主好棒,图漂亮
密码修改失败请联系微信:mofangbao
发表于 2016-2-28 20:31:00 | 显示全部楼层
想跟楼主再请教下问题,能不能加扣扣601534897
密码修改失败请联系微信:mofangbao
发表于 2016-2-28 20:36:04 | 显示全部楼层
求关于matlab三维图画法
密码修改失败请联系微信:mofangbao
发表于 2016-2-28 20:36:28 | 显示全部楼层
想画江苏地区降水等值线图
密码修改失败请联系微信:mofangbao
发表于 2016-2-28 23:53:29 | 显示全部楼层
楼主有无试试regionpatch
代码如下(x和y为边界数据):

function hc=regionpatch(varargin)
% patch the region outside the define region
% Usage: hc=regionpatch(|h,x,y,|color)
% h is axes handle. gca by default.
% color is the facecolor of out of region, white by default.

mv=0;temp=varargin{1};
if length(temp)==1&&ishandle(temp),  h=temp;mv=mv+1;end
x=varargin{mv+1};y=varargin{mv+2};
if nargin>mv+2, c=varargin{mv+3};end
if ~exist('h','var'), h=gca;end
if ~exist('c','var'), c='w';end

axes(h);hold on;
range=axis;

x=x(:);y=y(:);
[xi,i]=max(x);
x=[x(1:i);range([2 2 1 1 2 2])';x(i:end)];
y=[y(1:i);y(i);range([4 4 3 3])';y(i);y(i:end)];
hc=patch(x,y,c);
set(hc,'linestyle','none','edgecolor','none');
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

发表于 2016-2-29 08:51:20 来自手机 | 显示全部楼层
赞一个啊,最近使用shape文件
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-3-2 12:05:43 | 显示全部楼层
zeroes 发表于 2016-2-28 23:53
楼主有无试试regionpatch
代码如下(x和y为边界数据):

这个函数不是自带的吧,我help了一下没找到
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表