makeattribspec

Создайте спецификацию атрибута

Описание

пример

attribspec = makeattribspec(S) создает спецификацию атрибута для использования с kmlwrite, wmmarker, wmline, и wmpolygon функции на основе векторных географических особенностей сохранены в S.

kmlwrite функция создает HTML-таблицу из полей атрибута. Первый столбец таблицы включает метки атрибута, и второй столбец включает значения атрибута как текст. Используйте спецификацию атрибута с kmlwrite функция и Description аргумент значения имени, чтобы задать, который поля атрибута включать в HTML-таблицу и формат значений атрибута.

Когда вы строите использование функций wmmarker, wmline, или wmpolygon, можно просмотреть воздушные шары функции с информационными признаками путем нажатия на функции. Используйте спецификацию атрибута с wmmarker, wmline, или wmpolygon и Description аргумент значения имени, чтобы задать, который поля атрибута включать в воздушные шары функции и формат значений атрибута.

Примеры

свернуть все

Импортируйте файл форм, представляющий цунами (приливная волна) события, о которых сообщают за несколько десятилетий, помеченных географически исходным местоположением, как геопространственная таблица. Создайте спецификацию атрибута из таблицы.

GT = readgeotable("tsunamis.shp","CoordinateSystemType","geographic");
attribspec = makeattribspec(GT)
attribspec = struct with fields:
           Year: [1x1 struct]
          Month: [1x1 struct]
            Day: [1x1 struct]
           Hour: [1x1 struct]
         Minute: [1x1 struct]
         Second: [1x1 struct]
       Val_Code: [1x1 struct]
       Validity: [1x1 struct]
     Cause_Code: [1x1 struct]
          Cause: [1x1 struct]
         Eq_Mag: [1x1 struct]
        Country: [1x1 struct]
       Location: [1x1 struct]
     Max_Height: [1x1 struct]
       Iida_Mag: [1x1 struct]
      Intensity: [1x1 struct]
     Num_Deaths: [1x1 struct]
    Desc_Deaths: [1x1 struct]

Удалите все атрибуты из спецификации, за исключением атрибутов, описывающих максимальную высоту, причину, год, местоположение и страна.

desiredAttributes = {'Max_Height','Cause','Year','Location','Country'};
allAttributes = fieldnames(attribspec);
attributes = setdiff(allAttributes,desiredAttributes);
attribspec = rmfield(attribspec,attributes)
attribspec = struct with fields:
          Year: [1x1 struct]
         Cause: [1x1 struct]
       Country: [1x1 struct]
      Location: [1x1 struct]
    Max_Height: [1x1 struct]

Переименуйте Max_Height припишите Maximum Height и подсветите каждую метку атрибута полужирным шрифт.

attribspec.Max_Height.AttributeLabel = "<b>Maximum Height</b>";
attribspec.Cause.AttributeLabel = "<b>Cause</b>";
attribspec.Year.AttributeLabel = "<b>Year</b>";
attribspec.Location.AttributeLabel = "<b>Location</b>";
attribspec.Country.AttributeLabel = "<b>Country</b>";

Добавьте Meters к формату максимального атрибута высоты. Установите формат атрибута года не включать десятичные разряды.

attribspec.Max_Height.Format = "%.1f Meters";
attribspec.Year.Format = "%.0f";

Экспортируйте выбранные атрибуты и исходные местоположения цунами к файлу KML.

kmlwrite("tsunamis.kml",GT,"Description",attribspec,"Name",GT.Location)

Импортируйте файл форм, представляющий цунами (приливная волна) события, о которых сообщают за несколько десятилетий, помеченных географически исходным местоположением.

GT = readgeotable("tsunamis.shp","CoordinateSystemType","geographic");

Создайте спецификацию атрибута для использования в воздушных шарах функции. Измените спецификацию так, чтобы она задала таблицу значений, включая год, причину, страну, местоположение и максимальную высоту. Спецификация атрибута задает формат ожидаемого значения для каждого поля.

attribspec = makeattribspec(GT);

desiredAttributes = ...
       {'Max_Height','Cause','Year','Location','Country'};
allAttributes = fieldnames(attribspec);
attributes = setdiff(allAttributes,desiredAttributes);
attribspec = rmfield(attribspec,attributes);
attribspec.Max_Height.AttributeLabel = "<b>Maximum Height</b>";
attribspec.Max_Height.Format = "%.1f Meters";
attribspec.Cause.AttributeLabel = "<b>Cause</b>";
attribspec.Year.AttributeLabel = "<b>Year</b>";
attribspec.Year.Format = "%.0f";
attribspec.Location.AttributeLabel = "<b>Location</b>";
attribspec.Country.AttributeLabel = "<b>Country</b>";

Создайте веб-карту с базовым слоем, содержащим океанские детали. Добавьте наложение маркера. Отобразите табличные данные, которые вы задали в спецификации атрибута путем выбора маркера.

webmap("ocean basemap");
wmmarker(GT,"Description",attribspec,... 
	     "OverlayName","Tsunami Events")
wmzoom(2)

Входные параметры

свернуть все

Векторные географические особенности в виде одного из них:

  • Геопространственная таблица, содержащая geopointshape, geolineshape, или geopolyshape объекты. makeattribspec функция не поддерживает геопространственные таблицы, содержащие больше чем один тип объекта фигуры. Для получения дополнительной информации о геопространственных таблицах, смотрите, Составляют Геопространственные Таблицы.

  • geopoint вектор.

  • geoshape вектор без динамических свойств вершины.

  • Географический массив структур (geostruct) с Lat и Lon поля .

Выходные аргументы

свернуть все

Спецификация атрибута, возвращенная как массив структур с двумя уровнями. Верхний уровень содержит поле для каждого атрибута в S. Каждое поле в верхнем уровне содержит скалярную структуру с двумя полями.

Поле

Описание

AttributeLabel

Припишите метку для kmlwrite функционируйте, чтобы использовать в первом столбце HTML-таблицы, возвращенной как вектор символов. По умолчанию метка идентична имени соответствующего поля атрибута.

Format

Формат для kmlwrite функционируйте, чтобы использовать при преобразовании значения атрибута в текст, возвращенный как вектор символов. Для получения дополнительной информации о форматировании данных, смотрите sprintf функция.

Можно изменить массив структур перед использованием его с kmlwrite функция. Например, можно удалить атрибуты из структуры или изменить AttributeLabel поле, чтобы включать пробелы.

Смотрите также

Функции

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте