如何在matlab

时间:2016-07-04 14:05:37

标签: matlab mapping shapefile

我试图从我拥有的shapefile中只读取一部分多边形。 我正在使用'shaperead'来读取shapefile,但我似乎无法只提取出我想要的多边形。我知道我应该使用'selector'对值参数,但在线示例对我没有意义:

S = shaperead('concord_roads.shp','Selector',...
       {@(v1,v2) (v1 >= 4) && (v2 >= 200),'CLASS','LENGTH'})

我的shapefile中有一个'station number'属性,用于标识我的每个多边形。我想要做的是能够指定要映射的多边形(基于先前的聚类分析)。

1 个答案:

答案 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向量的在定义时被合并到函数中。