Creating a georeferenced polygon
Show older comments
Hi all,
I'm trying to map out a certain area over southern Africa, which is meant to look like the one in the image. The image was created with the matrix dro_dom_fill containing 1's for the regions of interest and NaN's otherwise. From this matrix, I am trying to create a georeferenced polygon or something similiar, so that I can find gridpoints in another dataset with a different resolution that lie within the domain. However, if I run this code my polygon looks like in droughtdomain_geoshape.jpg attached
[LAT,LON]=meshgrid(lat,lon);
a=dro_dom_fill.*LAT
b=dro_dom_fill.*LON
a(isnan(a))=[]
b(isnan(b))=[]
g=geoshape(a,b,'Geometry','polygon')
worldmap([-35 0],[9 50]), bordersm
geoshow(g)
Answers (2)
Read about inpolygon. As you have the boundary points, you can get all the points lying inside the polygon.
2 Comments
Darragh Kenny
on 13 Nov 2018
Edited: Darragh Kenny
on 13 Nov 2018
KSSV
on 13 Nov 2018
Have a look on boundary. If you are looking for a boundary of country/ state, you can download shape files.
Bruno Luong
on 13 Nov 2018
Edited: Bruno Luong
on 13 Nov 2018
You can get a linear connected contour (polygon) by
C = contourc(lat,lon,double(isfinite(dro_dom_fill)),0.5*[1 1]);
C = C(:,2:C(2,1)+1) % Assuming it returns 1 polygon
Categories
Find more on Create Plots on Maps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!