exponenta event banner

mapshow

Отображение данных карты без проекции

Описание

пример

mapshow(x,y) отображает векторы координат x и y в виде линий. При необходимости можно отобразить векторы координат в виде точек или многоугольников с помощью DisplayType аргумент пары имя-значение.

mapshow(S) отображает векторные географические элементы, хранящиеся в структуре географических данных S как точки, многоточия, отрезки или многоугольники согласно 'Geometry' поле S.

  • Если S содержит 'X' и 'Y' затем эти поля используются непосредственно для печати элементов в координатах карты.

  • Если S содержит 'Lat' и 'Lon' затем координаты проецируются с помощью проекции Plate Carrée и выдается предупреждение.

При необходимости можно указать правила символизации с помощью SymbolSpec аргумент пары имя-значение.

mapshow(x,y,Z) отображает геоориентированную сетку данных, Z. При необходимости можно отобразить данные как поверхность, сетку, карту текстуры или контур с помощью команды DisplayType аргумент пары имя-значение.

пример

mapshow(Z,R) отображает обычную сетку данных, Z, со ссылкой на объект R. При необходимости можно отобразить данные как поверхность, сетку, карту текстуры или контур с помощью команды DisplayType аргумент пары имя-значение. Если DisplayType является 'texturemap', то mapshow отображает изображение в виде текстурной карты на поверхности с нулевой отметкой (путем установки ZData значения 0).

mapshow(x,y,I) и

mapshow(x,y,X,cmap) отображение геоориентированного изображения в виде текстурной карты на поверхности с нулевой отметкой. Геоориентированное изображение может быть триеколором, градациями серого или двоичным, Iили индексированное изображение X с картой цветов cmap. x и y - геолокационные массивы в координатах карты. Примеры геолокационных изображений включают в себя цветовой композит из сателлита или изображение, первоначально связанное с другой системой координат.

пример

mapshow(I,R) и

mapshow(X,cmap,R) отображение изображения с географической привязкой для отображения координат через ссылочный объект R. mapshow функция создает объект изображения, если геометрия отображения позволяет. В противном случае mapshow отображает изображение в виде текстурной карты на поверхности с нулевой отметкой (путем установки ZData значения 0).

mapshow(filename) отображает данные из указанного файла в соответствии с типом формата файла.

пример

mapshow(___,Name,Value) изменяет отображаемую карту, используя аргументы пары имя-значение для установки DisplayType и SymbolSpec параметры. Можно также использовать пары «имя-значение» для установки любых графических свойств MATLAB ®. Имена параметров могут быть сокращены, и регистр не имеет значения.

mapshow(ax,___) задает для родительских осей значение ax.

h = mapshow(___) возвращает маркер к графическому объекту MATLAB.

Примеры

свернуть все

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

Отображение изображения.

figure
mapshow boston.tif
axis image off manual

Figure contains an axes. The axes contains an object of type image.

Преобразовать бостонские дороги в единицы съемочных футов и наложить на ортофото.

S = shaperead('boston_roads.shp');
surveyFeetPerMeter = unitsratio('sf','meter');
x = surveyFeetPerMeter * [S.X];
y = surveyFeetPerMeter * [S.Y];
mapshow(x,y)

Figure contains an axes. The axes contains 2 objects of type image, line.

Считывайте векторные данные и отображайте их с помощью пунктирной линии.

roads = shaperead('boston_roads.shp');
figure
mapshow(roads,'LineStyle',':');

Figure contains an axes. The axes contains 2795 objects of type line.

Создайте спецификацию обозначения для различения различных типов дорог. Например, можно скрыть очень мелкие дороги (КЛАСС = 6), отключив их видимость, и сделать основные дороги (КЛАСС = 1-4) более видимыми, увеличив их ширину. В этой спецификации обозначения также используется цвет для различения типов дорог.

roadspec = makesymbolspec('Line',...
                          {'ADMIN_TYPE',0,'Color','cyan'}, ...
                          {'ADMIN_TYPE',3,'Color','red'},...
                          {'CLASS',6,'Visible','off'},...
                          {'CLASS',[1 4],'LineWidth',2});

Отображение векторных данных с использованием спецификации символа.

figure
mapshow('boston_roads.shp','SymbolSpec',roadspec);

Figure contains an axes. The axes contains 2461 objects of type line.

Создайте спецификацию обозначения и укажите цвет по умолчанию, используемый для линий. Как видно из предыдущего примера, по умолчанию используется синий цвет. В этом примере по умолчанию устанавливается черный цвет.

roadspec = makesymbolspec('Line',...
                              {'Default', 'Color', 'black'}, ...
                              {'ADMIN_TYPE',0,'Color','c'}, ...
                              {'ADMIN_TYPE',3,'Color','r'},...
                              {'CLASS',6,'Visible','off'},...
                              {'CLASS',[1 4],'LineWidth',2});

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

figure
mapshow('boston_roads.shp','SymbolSpec',roadspec);

Figure contains an axes. The axes contains 2461 objects of type line.

Создайте спецификацию обозначения, задав различные свойства.

roadspec = makesymbolspec('Line',...
                              {'Default', 'Color', 'yellow'}, ...
                              {'ADMIN_TYPE',0,'Color','c'}, ...
                              {'ADMIN_TYPE',3,'Color','r'},...
                              {'CLASS',6,'Visible','off'},...
                              {'CLASS',[1 4],'LineWidth',2});

Отображение векторных данных с указанием цвета в командной строке.

figure
mapshow('boston_roads.shp', 'Color', 'black', 'SymbolSpec', roadspec);

Figure contains an axes. The axes contains 2461 objects of type line.

Импортируйте ортофото Concord, MA, вместе с объектом ссылки на ячейки карты и картой цветов. Отображение ортофото с помощью mapshow функция.

[ortho,R,cmap] = readgeoraster('concord_ortho_w.tif');
mapshow(ortho,cmap,R) 

Figure contains an axes. The axes contains an object of type image.

Импортируйте файл формы, содержащий координаты береговой линии пруда в середине ортофото. Проверьте, что данные представляют многоугольник, запросив его Geometry поле.

pond = shaperead('concord_hydro_area.shp','RecordNumbers',14);
pond.Geometry
ans = 
'Polygon'

Отображение многоугольника над ортофото. Внешняя граница обводит пруд, а внутренние границы - острова.

mapshow(pond,'FaceColor','c')

Figure contains an axes. The axes contains 2 objects of type patch, image.

Прочитайте данные о местности SDTS для горы Вашингтон. Получение такой информации, как отсутствующие индикаторы данных с помощью georasterinfo. Замените отсутствующие данные на NaN значения с использованием standardizeMissing.

[Z,R] = readgeoraster('sdts/9129CATD.DDF','OutputType','double');
info = georasterinfo('sdts/9129CATD.DDF');
Z = standardizeMissing(Z,info.MissingDataIndicator);

Просмотр данных рельефа в виде сетки. Применение карты цветов, соответствующей данным рельефа местности, с помощью demcmap.

figure
mapshow(Z,R,'DisplayType','mesh');
demcmap(Z)

Figure contains an axes. The axes contains an object of type surface.

Просмотр данных рельефа в виде поверхности.

figure
mapshow(Z,R,'DisplayType','surface');
demcmap(Z)

Figure contains an axes. The axes contains an object of type surface.

Просмотр данных рельефа в виде 3-D поверхности.

view(3);
axis normal

Figure contains an axes. The axes contains an object of type surface.

Прочитайте файлы данных местности для горы Вашингтон и горы Дартмут. Печать данных как поверхности с помощью mapshow, растр должен иметь тип single или double. Укажите тип данных для растра с помощью 'OutputType' пара имя-значение.

[ZWash,RWash] = readgeoraster('MtWashington-ft.grd','OutputType','double');
[ZDart,RDart] = readgeoraster('MountDartmouth-ft.grd','OutputType','double');

Поиск отсутствующих данных с помощью georasterinfo функция. Функция возвращает объект с MissingDataIndicator свойство, указывающее, какое значение представляет отсутствующие данные. Замените отсутствующие данные на NaN значения с использованием standardizeMissing функция.

infoWash = georasterinfo('MtWashington-ft.grd');
ZWash = standardizeMissing(ZWash,infoWash.MissingDataIndicator);

infoDart = georasterinfo('MountDartmouth-ft.grd');
ZDart = standardizeMissing(ZDart,infoDart.MissingDataIndicator);

Отображение данных рельефа под горизонталями и метками путем указания 'ZData' пара имя-значение как матрица нулей. Применение карты цветов, соответствующей данным рельефа местности, с помощью demcmap.

hold on
mapshow(ZWash,RWash,'DisplayType','surface','ZData',zeros(RWash.RasterSize))
mapshow(ZDart,RDart,'DisplayType','surface','ZData',zeros(RDart.RasterSize))
axis equal
demcmap(ZWash)

Figure contains an axes. The axes contains 2 objects of type surface.

Наложение черных контурных линий и меток.

mapshow(ZWash,RWash,'DisplayType','contour',...
    'LineColor','k','ShowText','on');
mapshow(ZDart,RDart,'DisplayType','contour',...
    'LineColor','k','ShowText','on');

Figure contains an axes. The axes contains 4 objects of type surface, contour.

Входные аргументы

свернуть все

координаты x или y, заданные как числовой вектор или числовая матрица M-by-N. x и y должен быть одинакового размера. Если x и y - матрицы, они представляют собой массивы координат или массив геолокации в координатах карты. x и y может содержать внедренные NaNs для разделения отдельных линий или многоугольников.

Географические особенности, определенные как структура географических данных или динамический вектор.

Сетка данных, заданная как массив M-by-N, который может содержать NaN значения. Z является либо географической сеткой данных, либо обычной сеткой данных, связанной с географической привязкой R. Размер x и y должен соответствовать размеру Z.

Типы данных: double

Ссылка на карту, указанная как одна из следующих. Дополнительные сведения о ссылках на матрицы см. в разделе Географические данные растра.

НапечататьОписание
Сопоставить объект ссылки растра

MapCellsReference или MapPostingsReference или GeographicPostingsReference сопоставить объект ссылки растра, который связывает подстрочные значения Z для отображения координат. RasterSize свойство должно соответствовать размеру сетки данных, size(Z).

Если R является MapPostingsReference объект, затем 'image' и 'texturemap' значения DisplayType не принимаются.

Матрица

Числовая матрица 3 на 2, преобразующая индексы растровых строк и столбцов в координаты карты или из них в соответствии с:

[x y] = [row col 1] * R

Truecolor, градации серого или бинарное изображение, указанное как массив M-by-N-by-3 для цветных изображений или массив M-by-N для градаций серого или бинарных изображений. x и y должны быть массивами M-by-N.

Индексированное изображение с цветовой картой, определенной cmap, указанный как массив M-by-N. x и y должны быть массивами M-by-N.

Цветовая карта индексированного изображения X, задается в виде цифровой матрицы c-by-3. На карте цветов имеются цвета c, каждый из которых представлен значением красного, зеленого и синего пикселов.

Имя файла, указанное как строковый скалярный или символьный вектор. mapshow автоматически устанавливает DisplayType в соответствии с форматом данных.

ФорматDisplayType
Файл фигуры'point', 'multipoint', 'line', или 'polygon'
GeoTIFF'image'
TIFF/JPEG/PNG с мировым файлом 'image'
СЕТКА ARC ASCII'surface' (может быть переопределен)
Растр SDTS'surface' (может быть переопределен)

Типы данных: char | scalar

Родительские оси, заданные как объект оси.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'DisplayType','point'

Тип графического отображения данных, указанный как разделенная запятыми пара, состоящая из 'DisplayType' и одно из следующих значений.

Формат данныхТип отображенияТип свойства
Вектор'point'маркер линии
'multipoint'маркер линии
'line'линия
'polygon'участок
Изображение'image'поверхность
Сетка'surface'поверхность
'mesh'поверхность
'texturemap'поверхность
'contour'контур

Допустимые значения DisplayType зависит от формата данных карты. Например, если данные карты представляют собой геоориентированное изображение или изображение с географической привязкой, то единственное допустимое значение: DisplayType является 'image'.

Различные типы отображения поддерживают различные типы классов данных карты:

Тип отображенияПоддерживаемые типы классов
Изображение 
Поверхностьsingle и double
Текстурная картаВсе числовые типы и logical

Правила символизации, используемые для отображения векторных данных, указанных как symbolSpec структура, возвращенная makesymbolspec. Когда оба SymbolSpec и указаны одно или несколько графических свойств, графические свойства переопределят любые настройки в symbolSpec структура.

Изменение правила обозначения по умолчанию для Name,Value пара в symbolSpec структура, префикс слова 'Default' к имени графического свойства.

Выходные аргументы

свернуть все

Родительские оси, возвращаемые в виде дескриптора графическому объекту MATLAB или, в случае многоугольников, измененному объекту сегмента. Если введено имя mapstruct или shapefile, mapshow возвращает дескриптор в hggroup с одним потомком на элемент в файле mapstruct или shapefile. В случае многоугольника mapstruct или shapefile каждый нижестоящий элемент является измененным объектом исправления; в противном случае это объект линии.

Совет

  • Если вы не хотите mapshow чтобы нарисовать поверх существующей карты, создайте новую фигуру или вложенный график перед ее вызовом.

  • Вы можете использовать mapshow для отображения векторных данных в axesm фигуру. Однако впоследствии не следует изменять проекцию карты с помощью setm.

  • При отображении многоугольника не задавать 'EdgeColor' к также 'flat' или 'interp'. Эта комбинация может привести к появлению предупреждения.

  • Если S является геоструктом (имеет 'Lat' и 'Lon' поля), может быть более уместно использовать geoshow для их отображения. Можно проецировать значения координат широты и долготы для отображения координат, отображая с помощью geoshow на карте осей.

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