makeattribspec

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

Синтаксис

attribspec = makeattribspec(S)

Описание

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

  • вектор геоточки

  • геосформируйте вектор с Геометрией 'point' и никакими динамическими свойствами вершины

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

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

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

Примеры

  1. Импортируйте файл форм, представляющий цунами (приливная волна) события, о которых сообщают между 1 950 и 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-таблицу и их формат.