如何判断一个点在多边形内部?

xv= [0 3 3 0 0]; %x坐标

yv= [0 0 3 3 0];%y坐标

x=1.5;

y=1.5;

in=inpolygon(x,y,xv,yv)

plot(xv,yv,x(in),y(in),'.r',x(~in),y(~in),'.b')

in=1;

xv= [0 3 3 0 0]; %x坐标

yv= [0 0 3 3 0];%y坐标

x=4;

y=4;

in=inpolygon(x,y,xv,yv)

plot(xv,yv,x(in),y(in),'.r',x(~in),y(~in),'.b')

in=0;

===================from 气象家园

http://bbs.06climate.com/forum.php?mod=viewthread&tid=12340

[lon lat]=meshgrid([97:0.1:107],[21:0.1:30]);
% Z=griddata(gy_locat(:,2),gy_locat(:,3),EOF_used(:,1),lon,lat,'v4');
yunnan=shaperead('yunnan.shp');

isin=inpolygon(lon,lat,yunnan.Lon,yunnan.Lat);
Z(~isin)=NaN;

contourf(lon,lat,Z,30);
shading flat
colorbar

hold on
plot(yunnan.X,yunnan.Y,'-k','linewidth',3)
hold off

=============

http://bbs.06climate.com/forum.php?mod=viewthread&tid=13304

来论坛有段时间了,学了不少东西,今天也分享一个自己的经验。
今天看到一个帖子matlab中地图边界与掩膜(去掉边界外区域)的实现(基于shape文件)
我也来分享一个画图去外边界的方法,不知道以前的帖子没有介绍此方法的。
之前发的有个小错,修改了一下
具体程序如下:

lon_c=69.75:0.5:140.25;
lat_c=14.75:0.5:55.25;
lon_c=ones(82,1)*lon_c;
lat_c=ones(142,1)*lat_c;
lat_c=lat_c';

basemap = shaperead('D:\map\beijing.shp');
for ii=1:size(lat_c,1)%修改这里来个循环,貌似inpolygon变量只能是向量,不能是矩阵
for jj=1:size(lat_c,2)
IN(ii,jj)= inpolygon(lon_c(ii,jj),lat_c(ii,jj),basemap.X,basemap.Y);%进行‘白化’的关键函数,具体可参见帮助
end
end
v(IN==0)=nan;
........
[ac ah]=contourfm(lat_c,lon_c,v);
........

对于白化用的函数inpolygon,我目前只应用于一个多边形的外边界,至于多个多边形的地图(好像上海、浙江是这样的吧??),没有试过,不知道效果,大家也可以试一试

最新文章

  1. Android 第一http请求访问慢,以后就快了的问题
  2. uva 10934(dp)
  3. qt如何实现一个渐隐窗口呢(开启的时候他是从上往下渐渐显示)
  4. #define的一些
  5. CentOS7下配置Openvpn 2.3.12
  6. asp.net web编程开发将model键值对化
  7. linux删除、移动、拷贝时,加-f仍然会提示的解决办法
  8. MVC3+EF4.1学习系列(三)-----排序 刷选 以及分页
  9. Linux 虚拟机安装后的配置和一些命令符笔记
  10. AJAX的原理
  11. 3D Slicer中文教程(一)—下载及安装方法
  12. 动态规划——Split Array Largest Sum
  13. java分布式电子商务云平台b2b b2c o2o需要准备哪些技术??
  14. pandas数据清洗策略2
  15. vue中computed和watch
  16. Element Select 回显
  17. 请求神器 postman安装
  18. Eclipse设置智能提示
  19. UVA-10689 Yet another Number Sequence (矩阵二分幂模板)
  20. 【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符

热门文章

  1. 201. Bitwise AND of Numbers Range
  2. 排查Java线上服务故障的方法和实例分析
  3. android系统平台显示驱动开发简要:Samsung LCD接口篇『三』
  4. allegro添加多个过孔
  5. JavaScript DOM高级程序设计1.3-常见陷阱--我要坚持到底!
  6. Android-xUtils框架介绍(一)
  7. 8.20 usaco
  8. PHP内置的Web Server的使用
  9. jQuery.Validate验证库
  10. 【译】 AWK教程指南 附录C-AWK的内建函数