exponenta event banner

makeattribspec

Спецификация атрибутов из структуры географических данных

Синтаксис

attribspec = makeattribspec(S)

Описание

attribspec = makeattribspec(S) создает спецификацию атрибута из S подходит для использования с kmlwrite. S может быть любым из следующих:

  • вектор геопоинт

  • вектор geoshape, с 'point' Геометрия и отсутствие динамических свойств вершин

  • геострукт с 'Lat' и 'Lon' поля координат

Возвращаемое значение, attribspec, - скалярная структура MATLAB ® с двумя уровнями. Верхний уровень состоит из поля для каждого атрибута вS. Каждое из этих полей содержит скалярную структуру с фиксированной парой полей:

AttributeLabelВектор символов, соответствующий имени поля атрибута в S. С kmlwrite, символьный вектор используется для маркировки атрибута в первом столбце HTML-таблицы. Вектор символов может быть изменен перед вызовом kmlwrite. Можно изменить метку атрибута, например, потому, что требуется использовать пробелы в таблице HTML, но имена полей атрибутов в S должны быть допустимыми именами переменных MATLAB и не должны иметь пробелов.
Format sprintf форматировать символьную спецификацию, преобразующую значение атрибута в символьный вектор.

Примеры

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

    s = shaperead('tsunamis', 'UseGeoCoords', true);
    attribspec = makeattribspec(s)
    attribspec = 
    
               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]

  2. Изменение спецификации атрибута на

    • Отображение только атрибутов Max_Height, Cause, Year, Location, и Country

    • Переименование Max_Height поле в Maximum Height

    • Отображение метки каждого атрибута полужирным шрифтом

    • Установите нулевое число десятичных разрядов, используемых для отображения Year

    • Добавить «Счетчики» в Height формат, учитывая независимые знания этих единиц

    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>';

  3. Используйте спецификацию атрибута для экспорта выбранных атрибутов и исходных расположений в KML-файл в качестве описания.

    filename = 'tsunami.kml';
    kmlwrite(filename, s, 'Description', attribspec, ...
       'Name', {s.Location})

См. также

kmlwrite, makedbfspec, shapewrite

Совет

  • Самый простой способ создать спецификацию атрибута - это создать ее, используя makeattribspec, а затем измените выходные данные, удалив атрибуты или изменив Format для одного или нескольких атрибутов.

  • Можно использовать спецификацию атрибута с kmlwrite как значение Description параметр. kmlwrite создает HTML-таблицу, состоящую из метки атрибута в первом столбце и значения атрибута во втором столбце. Можно изменить спецификацию атрибута для управления тем, какие поля атрибута записываются в таблицу HTML, и их форматом.