exponenta event banner

геопоказать

Отображение данных широты и долготы карты

Описание

geoshow(lat,lon) проецирует и отображает векторы широты и долготы lat и lon используя проекцию, сохраненную в текущем наборе осей карты. Если текущие оси карты отсутствуют, то lat и lon проецируются с использованием проекции Carrée по умолчанию на набор правильных осей.

Примечание

Чтобы отобразить данные на наборе осей карты, создайте карту с помощью axesm, worldmap, или usamap функции перед вызовом geoshow.

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

пример

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

  • Если S является geopoint вектор, a geoshape вектор или геострукт (с 'Lat' и 'Lon' поля координат), то geoshow проецирует вершины для отображения координат.

  • Если S является mappoint вектор, a mapshape вектор или mapstruct (с 'X' и 'Y' поля), то geoshow отображает вершины как (предварительно спроецированные) координаты карты и выдает предупреждение.

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

geoshow(lat,lon,Z) проекты и отображает геоориентированную сетку данных, Z. В этом синтаксисе lat и lon - массивы M-by-N широты-долготы. Z является массивом класса M-by-N double. При необходимости можно отобразить данные как поверхность, сетку, карту текстуры или контур с помощью команды DisplayType аргумент пары имя-значение.

пример

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

geoshow(lat,lon,I) и

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

geoshow(I,R) и

geoshow(X,cmap,R) проецировать и отобразить изображение, привязанное к широте-долготе через ссылочный объект R. Изображение отображается в виде текстурной карты на поверхности с нулевой отметкой.

пример

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

geoshow(___,Name,Value) определяет параметры и соответствующие значения, изменяющие тип отображения или задающие графические свойства MATLAB ®. Для установки можно использовать пары имен и значений:

  • Name,Value аргументы

  • Любые свойства линий, сегментов и поверхностей графики MATLAB

  • Любое сопоставление Toolbox™ свойств горизонталей

Имена параметров могут быть сокращены, и регистр не имеет значения.

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

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

Примеры

свернуть все

Загрузить данные о высоте и географические ячейки опорного объекта для Корейского полуострова. Создание набора осей карт для Корейского полуострова с помощью worldmap.

load korea5c
worldmap(korea5c,korea5cR)

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

geoshow(korea5c,korea5cR,'DisplayType','texturemap')
demcmap(korea5c)

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

coast = shaperead('landareas.shp','UseGeoCoords',true,'RecordNumbers',2);
coast.Geometry
ans = 
'Polygon'

Отображение многоугольника на карте мира. NaN значения в coast отделить внешнюю границу континента от внутренних границ пруда и озера.

worldmap([-45 80],[-25 195]);
geoshow(coast)

Загрузить данные выборки, представляющие США. Задайте пустые оси карты с проекцией и пределами, подходящими для отображения всех 50 состояний.

states = shaperead('usastatehi','UseGeoCoords',true);
figure
worldmap('na')

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

symspec = makesymbolspec('Polygon', ...
   {'Name','Alaska','FaceColor','red'}, ...
   {'Name','Hawaii','FaceColor','red'});

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

geoshow(states, 'SymbolSpec',symspec, ...
   'DefaultFaceColor','blue', ...
   'DefaultEdgeColor','black');

Загрузить данные о высоте и географические ячейки опорного объекта для Корейского полуострова. Вставьте полосу нулевых значений в данные фасада.

load korea5c
korea5c(80:100,:) = NaN;

Создание набора осей карт для Корейского полуострова с помощью worldmap. Затем отобразите данные фасада как поверхность с прозрачными нулевыми значениями.

worldmap(korea5c,korea5cR)
geoshow(korea5c,korea5cR,'DisplayType','surface')
demcmap(korea5c)

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

[N,R] = egm96geoid;
axesm eckert4
Z = zeros(R.RasterSize);
geoshow(N,R,'DisplayType','surface','CData',N,'ZData',Z)
framem
gridm

Создайте панель цветов и добавьте текстовое описание. Тогда замаскируйте всю землю.

cb = colorbar('southoutside');
cb.Label.String = 'EGM96 Geoid Height in Meters';
geoshow('landareas.shp','FaceColor','black')

Figure contains an axes. The axes contains 541 objects of type patch, surface, line.

Получение высоты геоида и объекта привязки географических проводок из модели геоида EGM96. Затем отобразите высоту геоида как поверхность с помощью проекции Эккерта.

[N,R] = egm96geoid;
axesm eckert4
geoshow(N,R,'DisplayType','surface')

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

Добавьте свет и материал. Затем просмотрите карту как 3-D поверхность.

light
material(0.6*[1 1 1])
axis normal
view(3)

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

Загрузить данные о альбедо Луны и объект ссылки на географические ячейки.

load moonalb20c

Затем просмотрите данные. Для этого создайте объект оси карты и укажите его проекцию как ортогональную. Отображение данных в осях карты в виде текстуры с помощью geoshow функция. Затем измените цветовую карту на градации серого и удалите линии оси.

axesm ortho
geoshow(moonalb20c,moonalb20cR,'DisplayType','texturemap')
colormap gray
axis off

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

свернуть все

Данные широты или долготы, заданные как числовой вектор или числовая матрица M-by-N.

  • lat и lon являются векторами при использовании с синтаксисом geoshow(lat,lon).

  • lat и lon являются 2-D массивами при использовании с geoshow(lat,lon,Z) синтаксис, geoshow(lat,lon,I) синтаксис или geoshow(lat,lon,X,cmap) синтаксис. Если lat и lon - матрицы, они представляют собой массивы координат или массив геолокации в географических координатах и должны быть того же размера, что и Z, I, или X. Если I - образ RGB, lat и lon должны быть матрицами, соответствующими первым двум измерениям изображения.

lat и lon может содержать внедренные NaNs для разделения отдельных линий или многоугольников.

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

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

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

НапечататьОписание
Объект географической привязки растра

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

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

Вектор

Числовой вектор 1 на 3 с элементами:

[cells/degree northern_latitude_limit western_longitude_limit]
Матрица

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

[lon lat] = [row col 1] * R

R определяет (не вращательное, не скошенное) соотношение, в котором каждый столбец сетки данных падает вдоль меридиана, а каждая строка - вдоль параллели. По умолчанию используется интерполяция ближайшего соседа. NaN возвращается для точек за пределами сетки или для которых lat или lon содержать NaN. Все углы в единицах градусов.

Truecolor, градации серого или бинарное изображение, указанное как массив M-by-N-by-3 для цветных изображений или массив M-by-N для градаций серого или бинарных изображений. lat и lon должны быть массивами M-by-N. Если указано, 'DisplayType' необходимо установить значение 'image'.

Индексированное изображение с цветовой картой, определенной cmap, указанный как массив M-by-N. lat и lon должны быть массивами M-by-N. Если указано, 'DisplayType' необходимо установить значение 'image'.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Совет

  • При звонке shaperead для чтения файлов, содержащих координаты в широте и долготе, обязательно укажите shaperead пара аргументов 'UseGeoCoords',true. Если этот аргумент не включен, shaperead создаст mapstruct с полями координат с метками X и Y вместо Lon и Lat. В таких случаях geoshow предполагает, что геострукт фактически является макросом, содержащим спроецированные координаты, предупреждения и вызовы mapshow отображение данных геострукта без его проецирования.

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

  • При отображении векторных данных в осях карты с помощью geoshow, впоследствии не следует изменять проекцию карты с помощью setm. Однако можно изменить проекцию с помощью setm для растровых данных. Дополнительные сведения см. в разделе Изменение проекций карты с помощью геошоу.

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

  • При проецировании данных на оси карты geoshow использует проекцию, сохраненную с осями карты. При отображении на обычных осях он создает стандартную проекцию Plate Carrée с масштабным коэффициентом 180/piобеспечение возможности прямого считывания координат в градусах.

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

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

  • При отображении растровых данных на карте с помощью geoshowколонны у восточного или западного края могут не отображаться. Это редко заметно, за исключением случаев, когда растр является очень грубым относительно отображаемой области. Включение дополнительных столбцов на экран может помочь:

    • Измените размер сетки на более тонкую сетку.

    • Убедитесь, что границы ячеек и границы карты выровнены.

    • Разверните границы карты.

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