Creating a georeferenced polygon

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)

KSSV
KSSV on 13 Nov 2018
Edited: KSSV on 13 Nov 2018
Read about inpolygon. As you have the boundary points, you can get all the points lying inside the polygon.
Or, you can arrange your boundary points..in a order using this link and plot the boundary.

2 Comments

Darragh Kenny
Darragh Kenny on 13 Nov 2018
Edited: Darragh Kenny on 13 Nov 2018
I have problems creating the polygon itself as a first step...
meaning how do I create a polygon on a map, given the longitudes and latitudes of all the gridpoints that are meant to be in the polygon?
Have a look on boundary. If you are looking for a boundary of country/ state, you can download shape files.

Sign in to comment.

Bruno Luong
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

Products

Release

R2018b

Asked:

on 13 Nov 2018

Edited:

on 13 Nov 2018

Community Treasure Hunt

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

Start Hunting!