matlab inpolygon 判断点在多边形内
如何判断一个点在多边形内部?
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,我目前只应用于一个多边形的外边界,至于多个多边形的地图(好像上海、浙江是这样的吧??),没有试过,不知道效果,大家也可以试一试
matlab inpolygon 判断点在多边形内的更多相关文章
- zoj 1081 判断点在多边形内
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=81Points Within Time Limit: 2 Second ...
- 判断点在多边形内算法的C++实现
目录 1. 算法思路 2. 具体实现 3. 改进空间 1. 算法思路 判断平面内点是否在多边形内有多种算法,其中射线法是其中比较好理解的一种,而且能够支持凹多边形的情况.该算法的思路很简单,就是从目标 ...
- hdu 1756:Cupid's Arrow(计算几何,判断点在多边形内)
Cupid's Arrow Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- php之判断点在多边形内的api
1.判断点在多边形内的数学思想:以那个点为顶点,作任意单向射线,如果它与多边形交点个数为奇数个,那么那个点在多边形内,相关公式: <?php class AreaApi{ //$area是一个多 ...
- POJ 2318 TOYS | 二分+判断点在多边形内
题意: 给一个矩形的区域(左上角为(x1,y1) 右下角为(x2,y2)),给出n对(u,v)表示(u,y1) 和 (v,y2)构成线段将矩形切割 这样构成了n+1个多边形,再给出m个点,问每个多边形 ...
- ZOJ 1081 Points Within | 判断点在多边形内
题目: 给个n个点的多边形,n个点按顺序给出,给个点m,判断m在不在多边形内部 题解: 网上有两种方法,这里写一种:射线法 大体的思想是:以这个点为端点,做一条平行与x轴的射线(代码中射线指向x轴正方 ...
- R树判断点在多边形内-Java版本
1.什么是RTree 待补充 2.RTree java依赖 rtree的java开源版本在GitHub上:https://github.com/davidmoten/rtree 上面有详细的使用说明 ...
- hdu 1756 判断点在多边形内 *
模板题 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> ...
- A Round Peg in a Ground Hole - POJ 1584 (判断凸多边形&判断点在多边形内&判断圆在多边形内)
题目大意:首先给一个圆的半径和圆心,然后给一个多边形的所有点(多边形按照顺时针或者逆时针给的),求,这个多边形是否是凸多边形,如果是凸多边形在判断这个圆是否在这个凸多边形内. 分析:判断凸多边形可 ...
随机推荐
- POJ3260——The Fewest Coins(多重背包+完全背包)
The Fewest Coins DescriptionFarmer John has gone to town to buy some farm supplies. Being a very eff ...
- Android EditText控件行尾为表情时的BUG
今天处理项目上的一个诡异BUG,贴吧Android客户端发贴框是支持表情文字混排的,但是当发贴框的行内容末尾为表情时,尝试在表情后插入文字,就悲剧了:文字其实写进去了,但是不会显示出来.研究了一下,发 ...
- ISE综合后得到的RTL图如何与硬件对应起来,怎么知道每个element的功能
2013-06-23 21:34:03 要知道“我写的这段代码会综合成什么样的电路呢”,就要搞清楚RTL图中每个模块的功能,从而将代码与硬件对应,判断综合后的电路是否与预期的一致.如何做到? 之前查了 ...
- 23.allegro中钻孔[原创]
1.钻孔: NC Parameters,NC Drill, Dill Legend, NC Route ----------------------- ------ ----- ------- --- ...
- openSession()和getCureentSession()的区别
openSession():永远是打开一个新的session getCureentSession():如果当前环境有session,则取得原来已经存在的session,如果没有,则创建一个新的sess ...
- 结构体buf_page_t
/** Buffer page (uncompressed or compressed) */ typedef struct buf_page_struct buf_page_t; struct bu ...
- php简单实现MVC
在PHP中使用MVC越来越流行了,特别是在一些开源的框架当中.MVC足以应对大多数的情况,但还有一些情况是其不太适合的,如比较简单的个人博客,对于只有几百篇文章量级的博客,使用MVC让人觉得有些太复杂 ...
- Ext入门学习系列(四)面板控件
第四章 使用面板 上节学习了Ext复杂对话框,更进一步了解了Ext的运行机制.本章重点来了解Ext所有控件的基础——面板控件. 一.Ext的面板是什么? 同样先来看看几个效果: 基本面板,点击右上角小 ...
- POJ 2481-Cows(BIT)
题意: n个牛,每个牛对应一个区间,对于每个牛求n个区间有几个包含该牛的区间. 分析: 先 区间右边界从大到小排序,相同时左边界小到大,统计第i头牛即左边界在前i-1头左边界的正序数. #includ ...
- LR 常见问题总结
问题1:Error: Two Way Communication Error: Function two_way_comm_post_message/two_way_comm_p ...