How to extract area using inpolygon

9 次查看(过去 30 天)
Hello everyone,
I need to do analysis on just rectangular part of my figure. Therefore, I tried to extract that area using inpolygon. My data is lat = 406x270 and lon = 406x270. I have plotted temperature which is 2030x1354.
Using the code below:
xv= [104.61, 102.98, 109.37, 109.52];
yv = [19.93, 25.03, 25.01, 19.98];
in = inpolygon(lon,lat,xv,yv);
figure
plot(xv,yv) % polygon
axis equal
hold on
plot(lon(in),lat(in),'r+') % points inside
plot(lon(~in),lat(~in),'bo') % points outside
hold off
I just can't figure out what is wrong in my code. Kindly tell me what's wrong here? Thank you.

采纳的回答

KSSV
KSSV 2021-6-23
Check your polygon coordinates. They are not up to the mark as shown in the first figure.
xv= [104.61, 102.98, 109.37, 109.52];
yv = [19.93, 25.03, 25.01, 19.98];
patch(xv,yv,'r')
  2 个评论
IMC
IMC 2021-6-23
Thank you for your reply.
But I have one question here about this statement 'Check your polygon coordinates' . Does this mean I have not selected the coordinates correctly?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Elementary Polygons 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by