How can I use the inpolygon function for 3 dimensions?

I have plotted the chlorophyll monthly climatology of a specific region of a world map. I want to place a polygon on a specific region and plot time series for just that region. The chlorophyll data is in 3 dimensions of longitude, latitude, and dates (109x97x280). I'm confused on how to use the inpolygon function for 3 dimensions. I want to be able to make the polygon, determine which points are within that polygon, then average those points for each date to ultimately plot a time series. Any suggestions are helpful, thank you!

2 件のコメント

DGM
DGM 2021 年 6 月 28 日
編集済み: DGM 2021 年 6 月 28 日
It sounds to me like your constraint region isn't a polygon, but a polygonal prism. To clarify, what is the time range? Is it a single specific time? Is it a range of times? Is it all time? It sounds like it's one of the latter two.
Candice Cooper
Candice Cooper 2021 年 6 月 28 日
Yes, that's correct I believe. It's a range of times (spanning 23 years).

サインインしてコメントする。

 採用された回答

KSSV
KSSV 2021 年 6 月 28 日

0 投票

You need not to use a 3D inpolygon. You are supposed to use inpolygon only once. Get your closed polygon coordinates(xv,yv); let X, Y be your grid coordinates.
idx = inpolygon(X,Y,xv,yv) ;
You got the indices, the same indices can be used for all the time steps.

5 件のコメント

Candice Cooper
Candice Cooper 2021 年 6 月 28 日
I'm confused -- X and Y would be longitude and latitude, what would my closed polygon coordinates be? Where is the chlorophyll data in that syntax?
KSSV
KSSV 2021 年 6 月 28 日
You said you want to to place a polygon on a specific region....so the region also should have lon and lats.
Candice Cooper
Candice Cooper 2021 年 6 月 28 日
I'm getting this error:
Arrays have incompatible sizes for this operation.
Error in inpolygon (line 76)
mask = (x >= min(xv)) & (x <= max(xv)) & (y>=min(yv)) &
(y<=max(yv));
KSSV
KSSV 2021 年 6 月 28 日
Share your data and show us your code.
Walter Roberson
Walter Roberson 2021 年 6 月 28 日
編集済み: Walter Roberson 2021 年 6 月 28 日
Your xv and yv are 2d but do not have the same number of columns.

サインインしてコメントする。

その他の回答 (0 件)

製品

リリース

R2021a

質問済み:

2021 年 6 月 28 日

編集済み:

2021 年 6 月 28 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by