inpolygons

버전 1.1.0.1 (21 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 리포지토리로 가십시오.