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. Можно опционально отобразить данные как поверхность, mesh, текстуру или контур при помощи DisplayType аргумент пары "имя-значение".

пример

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

mapshow(x,y,I) и

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

пример

mapshow(I,R) и

mapshow(X,cmap,R) отобразить изображение, привязанное к координатам для отображения через объект привязки R. The 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.

Создайте спецификацию символов, чтобы различать различные типы дорог. Например, можно скрыть очень незначительные дороги (CLASS = 6), отключив их видимость и сделав основные дороги (CLASS = 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.

Импортируйте файл shapefile, содержащий координаты береговой линии пруда в середине ортофото. Проверьте, что данные представляют многоугольник, запросив их 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);

Просмотрите данные местности как mesh. Применить палитру, подходящую для данных местности, используя 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 map объект растровой привязки, который связывает нижние индексы Z для сопоставления координат. The RasterSize свойство должно соответствовать размеру сетки данных, size(Z).

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

Матрица

3 на 2 числовая матрица, которая преобразует индексы растровой строки и столбца в или из координат карты согласно:

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

Труколор, полутоновое или бинарное изображение, заданное как M -by- N -by-3 массив для truecolor изображений или 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'
АРК 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