Спецификация атрибута от географической структуры данных
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
год
местоположение
, и 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-таблицу и их формат.