I have three matrices: 1) [m n] latitude 2) [m n] longitude 3) [m n] simulated values
I need to extract the simulated values by a given bounding box of latitude and longitude and create a new matrix [a b] for several time steps.
I have tried find, ind2sub, sub2ind, intersect, though none of those functions are quite what I need.
Please help!

 採用された回答

Chad Greene
Chad Greene 2015 年 11 月 10 日

0 投票

I think you want inpolygon. To get the indices of all data inside the polygon 30 to 40 degrees north and 20 to 10 degrees west, you'd do
ind = inpolygon(lon,lat,[-20 -10],[30 40]);
Then your data measurements in that polygon are: vals(ind)
There's a Mapping Toolbox function called ingeoquad that does the same thing, but inpolygon does it just as well and doesn't require the Mapping Toolbox.

2 件のコメント

Angela Bowman
Angela Bowman 2015 年 11 月 10 日
Thank you! This works perfectly for my needs.
Belinda Finlay
Belinda Finlay 2020 年 2 月 21 日
Is there something similar for a circle, where I can values from a specific grid point, and all data within radius of 500km?

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Geographic Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by