Спецификация обозначения векторного слоя
symbolspec = makesymbolspec(geometry,rule1,rule2,...ruleN)
symbolspec = makesymbolspec(geometry,rule1,rule2,...ruleN) создает структуру спецификации символа (symbolspec) для обозначения (векторного) слоя формы в программе просмотра карт или при использовании mapshow. geometry является одним из 'Point', 'Line', 'PolyLine', 'Polygon', или 'Patch'. Правила, подробно определенные ниже, определяют графические свойства для каждого элемента слоя. Правило может быть правилом по умолчанию, применяемым ко всем элементам слоя, или оно может ограничивать символизацию только теми элементами, которые имеют определенное значение для указанного атрибута. Элементы, не соответствующие правилам, отображаются с использованием графических свойств по умолчанию.
Чтобы создать правило, применимое ко всем элементам, правило по умолчанию, используйте следующий синтаксис:
{'Default',Property1,Value1,Property2,Value2,...
PropertyN,ValueN}Чтобы создать правило, применяемое только к элементам, имеющим определенное значение или диапазон значений для указанного атрибута, используйте следующий синтаксис:
{AttributeName,AttributeValue,
Property1,Value1,Property2,Value2,...,PropertyN,ValueN}AttributeValue и ValueN каждый может быть двухэлементным вектором, [low high], указывая диапазон. Если AttributeValue - диапазон, ValueN может быть или не быть диапазоном.
Ниже приведен список допустимых значений для PropertyN.
Точки или многоточечные соединения: 'Marker', 'Color', 'MarkerEdgeColor', 'MarkerFaceColor', 'MarkerSize', и 'Visible'
Линии или полилинии: 'Color', 'LineStyle', 'LineWidth', и 'Visible'
Многоугольники: 'FaceColor', 'FaceAlpha', 'LineStyle', 'LineWidth', 'EdgeColor', 'EdgeAlpha', и 'Visible'
Следующие примеры импортируют файл формы, содержащий дорожные данные, и символизируют его несколькими способами, используя спецификации обозначений.
roads = shaperead('concord_roads.shp');
blueRoads = makesymbolspec('Line',{'Default','Color',[0 0 1]});
mapshow(roads,'SymbolSpec',blueRoads);
roads = shaperead('concord_roads.shp');
roadColors = ...
makesymbolspec('Line',{'CLASS',2,'Color','r'},...
{'CLASS',3,'Color','g'},...
{'CLASS',6,'Color','b'},...
{'Default','Color','k'});
mapshow(roads,'SymbolSpec',roadColors);
roads = shaperead('concord_roads.shp');
lineStyle = makesymbolspec('Line',...
{'CLASS',[1 3], 'LineStyle',':'},...
{'CLASS',[4 6],'LineStyle','-.'});
mapshow(roads,'SymbolSpec',lineStyle);
roads = shaperead('concord_roads.shp');
colorRange = makesymbolspec('Line',...
{'CLASS',[1 6],'Color',summer(10)});
mapshow(roads,'SymbolSpec',colorRange);