exponenta event banner

updategeostruct

Преобразование структуры отображения линий или фрагментов в геострукт

Синтаксис

geostruct = updategeostruct(displaystruct)
geostruct = updategeostruct(displaystruct, str)
[geostruct,symbolspec] = updategeostruct(displaystruct, ...)
[geostruct,symbolspec] = updategeostruct(displaystruct, ..., cmap)

Описание

geostruct = updategeostruct(displaystruct) принимает структуру отображения Mapping Toolbox™ displaystruct. Если displaystruct является структурой векторного отображения, для которой 'type' поле имеет значение 'line' или 'patch', updategeostruct реструктуризирует свои элементы для создания геострукта, geostruct. Если displaystruct является уже географической структурой данных, она копируется без изменений в geostruct. updategeostruct не обновляет массивы структуры отображения типа 'text', 'light', 'regular', или 'surface'.

geostruct = updategeostruct(displaystruct, str) выбирает только элементы, tag поле начинается со строкового скалярного или символьного вектора str (и чьи type поле: 'line' или 'patch'). Выбор не учитывает регистр.

[geostruct,symbolspec] = updategeostruct(displaystruct, ...) реструктуризирует структуру отображения и определяет символику на основе графических свойств, указанных в otherproperty поле для каждого элемента displaystruct и, при необходимости, jet colormap.

[geostruct,symbolspec] = updategeostruct(displaystruct, ..., cmap) задает карту цветов, cmap, для определения цветов, используемых в symbolspec.

Примеры

Обновление и отображение структуры отображения Великих озер в виде геострукта:

load greatlakes
cmap = cool(3*numel(greatlakes));
[gtlakes, spec] = updategeostruct(greatlakes, cmap);
lat = extractfield(gtlakes,'Lat');
lon = extractfield(gtlakes,'Lon');
lonlim = [min(lon) max(lon)];
latlim = [min(lat) max(lat)];
figure
usamap(latlim, lonlim);
geoshow(gtlakes, 'SymbolSpec', spec)

Совет

Существует две кодировки панели инструментов сопоставления для векторных элементов, использующих массивы структуры MATLAB ®. В обоих случаях на элемент массива приходится один элемент, и в обоих случаях элементы данного массива имеют один и тот же тип элемента. Версия 1.3.1 и более ранние версии программного обеспечения Mapping Toolbox поддерживают только структуры отображения Mapping Toolbox. Версия 2.0 представила структуру данных для векторных геоданных, которая была менее жестко определена и более открытой. Новые структуры называются геоструктами (если они содержат данные географических координат) и mapstructs (если они содержат данные проекционных координат). Со временем структуры отображения постепенно выключаются из набора инструментов; updategeostruct предоставляется функция, помогающая пользователям перейти от старого формата структуры дисплея к текущему формату geostruct/mapstruct.

Структура отображения панели инструментов сопоставления версии 1 - это структура MATLAB, которая может содержать строки, исправления, текст, обычную сетку данных, геоориентированную сетку данных и светлые объекты. displaym функция не принимает геострукты, созданные в версии 2 программного обеспечения Mapping Toolbox.

Структуры отображения линий и фрагментов, а также геострукты линии и полигона имеют следующие общие черты:

  • Поле, определяющее тип геометрии элемента:

    • A type поле структура отображения (значение: 'line' или 'patch')

    • A Geometry поле для геострукта (значение: 'Line' или 'Polygon')

  • Поле широты:

    • lat для структуры отображения

    • Lat для геострукта

  • Поле долготы:

    • long для структуры отображения

    • Lon для геострукта

С точки зрения их различий,

  • Геострукт имеет BoundingBox поле; для этого нет аналога структуры отображения

  • Геострукт обычно имеет одно или несколько полей «атрибутов», значения которых должны быть либо скалярными двойными, либо символьными векторами с произвольными именами полей. Наличие или отсутствие данного поля атрибута и его значения зависит от конкретного набора данных, который представляет геострукт.

  • Структура отображения (строка или патч) имеет следующие поля:

    • A tag поле с именем отдельного элемента или объекта

    • Один altitude координатный массив, расширяющий координаты до 3-D

    • Один otherproperty поле, в котором графика MATLAB может быть задана явным образом для каждого элемента

Свойства объекта, используемые при отображении, берутся из otherproperty поле структуры. Если строка или объект исправления otherproperty поле пустое, displaym использует цвета по умолчанию. Патчу присваивается индекс в текущей карте цветов на основе данных структуры. tag поле. Линии назначаются цвета из текущего порядка цветов в соответствии с их тегами.

Более новое геоструктовое представление имеет значительные преимущества:

  • Он может представлять гораздо более широкий диапазон атрибутов (структуры отображения по существу могут представлять только имя элемента).

  • Геоструктовое представление (в сочетании с geoshow и makesymbolspec) разделяет графические свойства показа от внутренних свойств самих географических особенностей.

Например, атрибут класса дороги может использоваться для отображения основных магистралей с отличительным цветом и большей шириной линии, чем второстепенные дороги. Одна и та же структура географических данных может отображаться различными способами без изменения ее содержания, и данные файла формы, импортированные из внешних источников, не должны изменяться для управления ее графическим отображением.

Сведения о формате структуры отображения см. в разделе Версия 1 Структуры отображения на справочной странице для displaym. Описание характеристик структур географических данных см. в разделе Структуры географических данных.

Представлен до R2006a