爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7390|回复: 12

[程序设计] 如何将中国区域外面的值去掉

[复制链接]

新浪微博达人勋

发表于 2013-10-21 20:13:55 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我利用matlab将中国区域的年气温平均图画出来,但是由于插值的原因,在中国以外区域也出现值,不知如何去掉,菜鸟求帮忙 untitled.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-21 20:34:44 | 显示全部楼层
下载中国的basemap
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-21 20:35:05 | 显示全部楼层
貌似家园有个帖子说了,你去查查
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-21 21:25:23 | 显示全部楼层
楼上说的是,楼主搜一下帖子
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-22 00:25:32 | 显示全部楼层
有了shapefile,然后有个inpolygon函数可以干这个。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-22 08:12:41 | 显示全部楼层
做一个cookie文件,就是0,1的那种,1代表中国。
然后Data(cookie==0)= nan 就ok了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-22 16:18:14 | 显示全部楼层
看来matlab还是很强大的,还是需要好好学习!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-25 10:26:33 | 显示全部楼层

你好我想问下这个inpolygon怎么用呢
  1. %中国地图附加南海地图
  2. clc;clear

  3. s='F:\studyData\MODIS\Terra\L3MonthyAerosol\2004\001\MOD08_M3.A2004001.051.2010284170915.hdf';
  4. l333=hdfread(s,'Optical_Depth_Land_And_Ocean_Mean_Mean');
  5.             [alon,alat]=meshgrid(72:1:137,16:1:55);
  6. guojie=shaperead('bou1_4l.shp');%读取国界shp文件的内容
  7. bou1_4lx=[guojie(:).X];%提取经度信息
  8. bou1_4ly=[guojie(:).Y];%提取纬度信息
  9. l1=double(l333(72:137,16:55))';
  10. %%
  11. m_proj('miller','lon',[72,137],'lat',[16,55])%选择投影方式
  12. m_pcolor(alon,alat,l1);
  13. hold on;
  14. m_plot(bou1_4lx,bou1_4ly)%绘国界

  15. inpolygon 这个地方要怎么加 在哪里加?

  16. m_grid('linestyle','none','box','fancy','tickdir','out','fontsize',16)%添加坐标
  17. h1=axes('Position',[0.14 0.155 0.09 0.2]);%创建坐标系时返回它的句柄
  18. axes(h1);%将坐标系h1置为当前坐标系
  19. %set(gcf,'PaperPositionMode','auto')
  20. %m_proj('miller','lon',[106,122],'lat',[2,26]) %设置南海区域
  21. m_plot(bou1_4lx,bou1_4ly)%绘国界
  22. m_grid('XTick',[],'YTick',[])%添加坐标
复制代码
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-26 00:54:49 | 显示全部楼层
小寶 发表于 2013-10-25 10:26
你好我想问下这个inpolygon怎么用呢

你找个中国国境线的shapefile,就是不要有省区划的。然后用shaperead函数读进去。再
map_path = shaperead('')   %引号中间写shapefile的路径。
map_X = [map_path(:).X];  
map_Y = [map_path(:).Y];  
IN(:,:)=inpolygon(lon(:,:),lat(:,:),map_X,map_Y);
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-10-26 16:13:27 | 显示全部楼层
金陵蔡肉包 发表于 2013-10-26 00:54
你找个中国国境线的shapefile,就是不要有省区划的。然后用shaperead函数读进去。再
map_path = shapere ...

谢谢你在论坛其他帖子下到中国的shp文件了,我试试看看能不能弄明白,不会在问你哦好心人谢啦
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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