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