updategeostruct

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

Синтаксис

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 перестраивает свои элементы, чтобы создать геоstruct, geostruct. Если displaystruct является уже географической структурой данных, она копируется без изменений в geostruct. updategeostruct не обновляет массивы отображаемых структур типа 'text', 'light', 'regular', или 'surface'.

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

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

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

Примеры

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

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)

Совет

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

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

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

  • Поле, задающее тип геометрии функции:

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

    • A Geometry поле для геоstruct (значение: 'Line' или 'Polygon')

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

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

    • Lat для геоstruct

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

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

    • Lon для геоstruct

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

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

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

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

    • A tag поле с именами отдельных функций или объектов

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

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

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

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

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

  • Представление геоstruct (в сочетании с geoshow и makesymbolspec) сохраняет графику отображения свойства отдельно от собственных свойств самих географических функций.

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

Для получения информации о формате структуры отображения смотрите Версию 1 Отображать структуры на странице с описанием для displaym. Для обсуждения характеристик географических структур данных смотрите Географические структуры данных.

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