Спецификация атрибута от географической структуры данных
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 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]
Измените спецификацию атрибута к
Отобразите только атрибуты 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>';
Используйте спецификацию атрибута, чтобы экспортировать выбранные атрибуты и исходные местоположения к файлу KML как Описание:
filename = 'tsunami.kml'; kmlwrite(filename, s, 'Description', attribspec, ... 'Name', {s.Location})
Самый легкий способ создать спецификацию атрибута состоит в том, чтобы создать один, с помощью makeattribspec
, и затем изменить вывод, удалив атрибуты или изменив поле Format
для одного или нескольких атрибутов.
Можно использовать спецификацию атрибута с kmlwrite
как значение параметра Description
. kmlwrite
создает HTML-таблицу, которая состоит из метки для атрибута в первом столбце и значении атрибута во втором столбце. Можно изменить спецификацию атрибута, чтобы управлять, какие поля атрибута записаны в HTML-таблицу и их формат.