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