geoshow

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

Синтаксис

geoshow(lat,lon)
geoshow(S)
geoshow(lat,lon,Z)
geoshow(Z,R)
geoshow(lat,lon,I)
geoshow(lat,lon,X,cmap)
geoshow(I,R)
geoshow(X,cmap,R)
geoshow(filename)
geoshow(___,Name,Value)
geoshow(ax,___)
h = geoshow(___)

Описание

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

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

пример

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

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

  • Если S является вектором mappoint, вектором 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.

Примеры

свернуть все

Отобразите карту мира с помощью Пластины по умолчанию проекция Carree.

figure
geoshow('landareas.shp', 'FaceColor', [0.5 1.0 0.5]);

Настройте пустую карту оси с проекцией и пределами, подходящими для отображения всех 50 состояний.

figure
worldmap('na');

Считайте данные о высоком разрешении США.

states = shaperead('usastatehi', 'UseGeoCoords', true);

Создайте symbolspec, который выбирает цвет красных полигонов Аляски и Гавайев.

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

Отобразите все другие состояния, установив свойство FaceColor по умолчанию на синий и свойство EdgeColor по умолчанию к черному цвету.

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

Отобразите карту, с помощью функции geoshow с набором параметра 'DisplayType' к 'TextureMap'.

Загрузите файл MAT, содержащий информацию о карте о корейском полуострове.

load korea

Настройте пустую карту оси с проекцией и пределами для корейского полуострова.

figure;
worldmap(map, refvec)

Отобразите корейскую сетку данных как текстурную карту.

geoshow(gca,map,refvec,'DisplayType','texturemap');
demcmap(map)

Отобразите контур контактной площадки как черную линию.

S = shaperead('landareas','UseGeoCoords',true);
geoshow([S.Lat], [S.Lon],'Color','black');

Отобразите карту, интерпретировав NaNs как прозрачный. Этот пример использует функцию geoshow с набором параметра 'DisplayType' к 'surface'.

Карта распределения памяти при загрузке корейского полуострова.

korea = load('korea');
Z = korea.map;

Введите полосу использования нулевых значений NaNs.

Z(80:100,:) = NaN;

Создайте растровый объект ссылки.

R = georasterref('RasterSize',size(Z),...
    'Latlim',[30 45], 'Lonlim', [115 135]);

Отобразите мировую карту со значениями NaN, отображенными как прозрачную. Обратите внимание на то, что настройки для ZData и CData гарантируют, что получившаяся поверхность падает в плоскости z == 0, вместо того, чтобы быть 3-мерной.

figure; 
worldmap(Z,R)
geoshow(Z,R,'DisplayType','surface','ZData',zeros(size(Z)),'CData',Z)
demcmap(Z)

Загрузите геоид и отображение.

load geoid

Создайте фигуру с проекцией Эккерта.

figure
axesm eckert4; 
framem; gridm;
axis off

Отобразите геоид как текстурную карту.

geoshow(geoid, geoidrefvec, 'DisplayType', 'texturemap');

Создайте шкалу палитры и заголовок.

hcb = colorbar('southoutside');
set(get(hcb,'Xlabel'),'String','EGM96 Geoid Heights in Meters.')

Кашируйте всю землю.

geoshow('landareas.shp', 'FaceColor', 'black');

Создайте фигуру с проекцией Эккерта.

figure
axesm eckert4
axis off

Загрузите геоид и отобразите его как поверхность.

load geoid
h = geoshow(geoid, geoidrefvec, 'DisplayType','surface');

Добавьте свет и материал.

light
material(0.6*[ 1 1 1])

Просмотрите карту как 3-D поверхность.

view(3)
axis normal
tightmap

Загрузите лунное изображение альбедо.

load moonalb

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

figure
geoshow(moonalb,moonalbrefvec)

Проект и отображение лунное изображение альбедо как текстурная карта в ортогональной проекции.

figure
axesm ortho 
geoshow(moonalb,moonalbrefvec,'DisplayType','texturemap')
colormap(gray(256))
axis off

Разархивируйте USGS 24K файл цифровой модели повышения (DEM) во временный файл. Тулбокс включает Юг Сан-Франциско 24K файл DEM.

filenames = gunzip('sanfranciscos.dem.gz',tempdir); 
demFilename = filenames{1}; 

Считайте любую точку 1:24,000 файл DEM.

[lat,lon,Z,header,profile] = usgs24kdem(demFilename,2);

Удалите временный файл.

delete(demFilename);

Поскольку никакие отрицательные повышения не существуют, перемещают все точки на уровне моря к-1, чтобы окрасить их в синий.

Z(Z==0) = -1;

Вычислите пределы широты и долготы для DEM.

latlim = [min(lat(:)) max(lat(:))] 
latlim = 1×2

   37.6249   37.7504

lonlim = [min(lon(:)) max(lon(:))]
lonlim = 1×2

 -122.5008 -122.3740

Отобразите значения DEM как текстурную карту.

figure
usamap(latlim, lonlim)
geoshow(lat, lon, Z, 'DisplayType','texturemap')
demcmap(Z)
daspectm('m',1)

Наложите черные линии контура на текстурную карту.

geoshow(lat,lon,Z,'DisplayType','contour', ...
  'LineColor','black');

Просмотрите значения DEM в 3-D.

figure
usamap(latlim, lonlim)
geoshow(lat,lon,Z,'DisplayType','surface')
demcmap(Z)
daspectm('m',1)
view(3)

Входные параметры

свернуть все

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

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

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

lat и lon могут содержать, встроил NaN s, чтобы разграничить отдельные строки или части полигона.

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

Сетка данных, заданная как 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. Все углы находятся в модулях степеней.

Истинный цвет, шкала полутонов или двухуровневое изображение, заданное как 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'
СЕТКА ASCII ДУГИ'surface' (может быть заменен),
Растр SDTS'surface' (может быть заменен),

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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 или, в случае полигонов, измененного объекта закрашенной фигуры. Если имя геоstruct или файла форм вводится, geoshow возвращает указатель на объект hggroup с одним дочерним элементом на функцию в геоstruct или файле форм, исключая любые функции, которые полностью обрезаются далеко. В случае геоstruct полигона или файла форм, каждый дочерний элемент является измененным объектом закрашенной фигуры; в противном случае это - объект линии.

Советы

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

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

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

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

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

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

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

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

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

    • Расширьте пределы карты.

Смотрите также

Функции

Объекты

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