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