如何使用多要素属性形状文件遮罩三维光栅?

1视图(过去30天)
阿披舍克脉轮
阿披舍克脉轮 2021年4月30日
回答: 查德·格林 2021年5月2日
我想使用包含多个要素属性的shapefile来屏蔽光栅文件。对于仅包含一个要素属性的shapefile,可以这样做:
A=geotiffread(“A.tif”);%这是尺寸为720x360x1320的三维光栅,其中1320为时间尺寸,720和320分别为lon和lat
info=地理信息(“A.tif”);
[x,y]=像素中心(信息);%x是Lon,y是Lat
[X,Y]=网格网格(X,Y);
roi=成形头(“shapefile.shp”);%这是仅包含1个要素属性的shapefile
%从shapefile中删除尾部nan
rx=roi.X(1:end-1);
ry=roi.Y(1:end-1);
掩模=多边形(X,Y,rx,ry);
掩模=双(掩模);%将逻辑转换为双精度
但是,当我尝试对包含多个特征属性的shapefile执行相同操作时,会出现以下错误:
A=geotiffread(“A.tif”);%这是尺寸为720x360x1320的三维光栅,其中1320为时间尺寸,720和320分别为lon和lat
info=地理信息(“A.tif”);
[x,y]=像素中心(信息);%x是Lon,y是Lat
[X,Y]=网格网格(X,Y);
roi=成形头(“shapefile.shp”);%这是包含多个要素属性的shapefile
%从shapefile中删除尾部nan
rx=roi.X(1:end-1);
ry=roi.Y(1:end-1);
掩模=多边形(X,Y,rx,ry);
预期大括号或点索引表达式的一个输出但是共有36个结果。
第二个shapefile中实际上有36个不同的特征属性。让我们假设我想提取shapefile中字段号(feature属性)为10的光栅区域,那么如何提取呢?

答复(1)

查德·格林
查德·格林 2021年5月2日
试试这个:
mask=inpolygon(X,Y,[roi.X],[roi.Y]);
您甚至不需要删除尾部的NAN:)

下载188bet金宝搏


释放

R2020b

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!