makeattribspec

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

Синтаксис

attribspec = makeattribspec(S)

Описание

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

  • геоточка

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

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

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

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

Примеры

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

    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 таблицы и их формат.

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