mask area outside a shapefile
8 次查看(过去 30 天)
显示 更早的评论
I am trying to mask data (lon,lat,data) outside a shape file, 'shp1'. I used top use arcgis for masking data but would prefer matlab for these actions.
the code below is non responsive
dx=d(:,:,1); %%%%d is a 80x80 data lat=(0:0.5:39.5)'; %%%%lat of the data lon=(60:0.5:99.5); %%%%lon of the data % lony=lony'; laty=repmat(lat,1,80); lony=repmat(lon,80,1); %%%%80x80 lon of the data laty=flipud(laty); %%%%80x80 lat of the data
%%%read shapefile shp1=shaperead('C:\shpfiles\IND_adm0.shp'); lon1 = [shp1.X]'; lat1 = [shp1.Y]'; %%%mask try rx = shp1.X(1:end-1); ry = shp1.Y(1:end-1); mask=inpolygon(lon1,lat1,rx,ry); contourf(lon1,lat1,dx);
1 个评论
Vijay Sagar
2023-3-24
编辑:Vijay Sagar
2023-3-24
Your code is correct. Just replace in the last line lon1 and lat1 with lony and laty respectevely. Or you can use insidepoly or maskregion function.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Author Block Masks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!