Selecting parts of gridded data- I Need Help. I want to know it's possible or not?
조회 수: 3 (최근 30일)
이전 댓글 표시
Hey all hope you have a good time,
I have a (1 x 1171) cell which includes tables. Each table has a specific latitude and longitude (columns). All 1171 tables latetudes and longitudes together represent gridded precipitation data over the whole country in the 0.5 x 0.5 degree (longitude x latitude).
I also have some points data (in the form of a table with columns of longitude, latitude, and precipitation).
I want to delete each grid in my cell that doesn't have at least one of my points inside it.
For example: If red dots are my points (in the table that I mentioned above), I want to keep each grid that has at least one red dot inside it (I would like to keep grid if more than one point is in it). So from 130 grids in this figure below I want to keep only nine grids that have points. So if my cell was 130x336 now it is just 9x336.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/272011/image.jpeg)
I attach my cell and my points.
Thank you so much for your valuable advice.
댓글 수: 3
채택된 답변
darova
2020년 2월 17일
Here is my achievement
clc,clear
load points.mat
load grid_datamat.mat
p = table2array(Points);
g = table2array(grid_data(:,2:3));
x = floor( (p(:,2)-24.25)/0.5 )*0.5+24.25;
y = floor( (p(:,3)-44.25)/0.5 )*0.5+44.25;
plot(p(:,2),p(:,3),'.r')
hold on
plot([x x+0.5 x+0.5 x x]',[y y y+0.5 y+0.5 y]','.-b','markersize',15)
plot(g(:,2),g(:,1),'.g')
hold off
댓글 수: 7
darova
2020년 3월 18일
I believe it happens because of new mesh (0.025)
>> g(1,:)
ans =
44.0250 24.0250
Little improvement
x0 = g(1,2) + 0.25;
y0 = g(1,1) + 0.25;
x = floor( (p(:,2)-x0)/0.5 )*0.5+x0;
y = floor( (p(:,3)-y0)/0.5 )*0.5+y0;
looks equal
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/277884/image.png)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!