inpolygons
版本 1.1.0.1 (21.0 KB) 作者:
Kelly Kearney
Finds points inside multiple polygons, holes possible.
inpolygons.m Documentation
This function checks whether a point or points is inside one or more polygons. The polygons can have holes in them. When dealing with a large number of points and/or polygons, this can be faster that inpolygon.m.
Syntax
in = inpolygons(x,y,xv,yv)
[in, index] = inpolygons(x,y,xv,yv)
See function help for description of input and output variables.
Example
We'll start with two polygons: a rectangle with square- and triangle-shaped holes, and a solid diamond:
xv = [1 1 7 7 1 NaN 2 3 3 2 2 NaN 5 6 5 5 NaN 7 8 9 8 7];
yv = [1 4 4 1 1 NaN 2 2 3 3 2 NaN 2 2 3 2 NaN 8 9 8 7 8];
[f, v] = poly2fv(xv, yv);
patch('Faces', f, 'Vertices', v, ...
'FaceColor', [.9 .9 .9], ...
'EdgeColor', 'none');
Now, we scatter a couple hundred random points, and test which polygons they fall into.
x = 10 * rand(200,1);
y = 10 * rand(200,1);
[in, index] = inpolygons(x, y, xv, yv);
index = cell2mat(index); % No overlapping polygons allows this.
plot(x(in), y(in), 'r.', x(~in), y(~in), 'b.');
plot(x(index==1), y(index==1), 'go', x(index==2), y(index==2), 'mo');
引用格式
Kelly Kearney (2024). inpolygons (https://github.com/kakearney/inpolygons-pkg), GitHub. 检索时间: .
MATLAB 版本兼容性
创建方式
R14SP1
兼容任何版本
平台兼容性
Windows macOS Linux类别
- Mathematics and Optimization > Mapping Toolbox > Data Analysis >
- Radar > Mapping Toolbox > Data Analysis >
在 Help Center 和 MATLAB Answers 中查找有关 Data Analysis 的更多信息
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!inpolygons
无法下载基于 GitHub 默认分支的版本
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.1.0.1 | linked GitHub readme |
|
|
1.1.0.0 | Linked to GitHub repository |
|
|
1.0.0.0 |
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库。
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库。