我试图从我拥有的shapefile中只读取一部分多边形。 我正在使用'shaperead'来读取shapefile,但我似乎无法只提取出我想要的多边形。我知道我应该使用'selector'对值参数,但在线示例对我没有意义:
S = shaperead('concord_roads.shp','Selector',...
{@(v1,v2) (v1 >= 4) && (v2 >= 200),'CLASS','LENGTH'})
我的shapefile中有一个'station number'属性,用于标识我的每个多边形。我想要做的是能够指定要映射的多边形(基于先前的聚类分析)。
答案 0 :(得分:1)
wanted_stations = [...]; % as previously defined
[S,C] = shaperead(filename,'selector',{@(v1) any(ismember(wanted_stations,v1)) ,'station_number'}); % assuming the attribute name is 'station_number'
基本上,对于每个多边形,shaperead分配属性' station_number'到v1,然后评估匿名函数。 want_stations向量的值在定义时被合并到函数中。