geoshow

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

Описание

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

Примечание

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

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

пример

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

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

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

Вы можете опционально задать правила символизации, используя SymbolSpec аргумент пары "имя-значение".

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

пример

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

geoshow(lat,lon,I) и

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

geoshow(I,R) и

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

пример

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

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

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

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

  • Любой Mapping Toolbox™ свойства контура

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

geoshow(ax,___) устанавливает родительские оси равной ax.

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

Примеры

свернуть все

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

load korea5c
worldmap(korea5c,korea5cR)

Отображение данных о повышении в виде текстуры. Применить палитру, подходящую для данных о повышении, используя demcmap.

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

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

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

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.

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

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

GeographicCellsReference или GeographicPostingsReference географический объект растровой привязки, который связывает нижние индексы Z к географическим координатам. The 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. Все углы указаны в единицах степеней.

Труколор, полутоновое или бинарное изображение, заданное как M -by- N -by-3 массив для truecolor изображений или 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'
АРК 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 или, в случае многоугольников, измененный закрашенной фигуре объект. Если введено имя geostruct или shapefile, geoshow возвращает указатель на hggroup объект с одним дочерним элементом для каждой функции в геоstruct или shapefile, исключая все функции, которые полностью отсечены. В случае многоугольника геоstruct или shapefile каждый дочерний элемент является изменённой закрашенной фигурой объекта; в противном случае это объект линии.

Совет

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

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

  • Когда вы отображаете векторные данные в осях карты, используя geoshow, вы не должны впоследствии изменять проекцию карты используя setm. Однако можно изменить проекцию с setm для растровых данных. Для получения дополнительной информации см. Раздел «Изменение проекций карты» «Использование геопоказа».

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

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

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

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

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

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

    • Убедитесь, что контуры камер и пределы карты выровнены.

    • Разверните пределы карты.

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