inpolygons

版本 1.1.0.1 (21.0 KB) 作者: Kelly Kearney
Finds points inside multiple polygons, holes possible.
3.6K 次下载
更新时间 2021/9/23

inpolygons.m Documentation

Author: Kelly Kearney View inpolygons on File Exchange

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');

inpolygons1

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');

inpolygons2

引用格式

Kelly Kearney (2024). inpolygons (https://github.com/kakearney/inpolygons-pkg), GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R14SP1
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB 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 仓库