Переключитесь между проекциями

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

То, когда вы переключаетесь от одной проекции до другого, setm убирает настройки, которые были характерны для более ранней проекции, обновляет кадр карты и координатную сетку, и обычно сохраняет карту, касающуюся той же части мира — переключаясь между азимутальными и неазимутальными проекциями. Но в некоторых случаях, вы можете должны быть далее настроить свойства осей карты достигнуть соответствующего внешнего вида. Настройки, которые подходят для одной проекции, не могут подходить для другого. Чаще всего необходимо будет обновить расположение меридиана и найти что-либо подобное меткам.

Измените меридиан обновления проекции и найдите что-либо подобное меткам

Этот пример показывает, как изменить проекцию карты и обновить меридиан и параллельные метки.

Создайте Меркаторскую проекцию с меридианом и найдите что-либо подобное меткам.

axesm mercator
framem on; gridm on; mlabel on; plabel on
setm(gca,'LabelFormat','signed')
axis off

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

[getm(gca,'MapLatLimit'); getm(gca,'FLatLimit')]
ans = 2×2

   -86    86
   -86    86

Переключите проекцию на ортогональное азимутальное.

setm(gca,'MapProjection','ortho')

Задайте новые местоположения для меридиана и найдите что-либо подобное меткам.

setm(gca,'MLabelParallel',0,'PLabelMeridian',-90, ...
   'PLabelMeridian',-30)

Измените проекцию, сбрасывающую пределы кадра

Этот пример показывает, как переключиться от одной проекции до другого и сбросить источник и пределы кадра, особенно при отображении небольшой части Земли.

Создайте пустую карту оси для области Соединенных Штатов в Ламберте Конформная Коническая проекция (проекция по умолчанию для функции usamap).

latlim = [32 42];
lonlim = [-125 -111];
h = usamap(latlim, lonlim);

Считайте файл форм usastatehi и возвратите подмножество содержимого файла форм, как задано пределами широты и долготы. Функция shaperead возвращает данные в структуре под названием states.

states = shaperead('usastatehi', 'UseGeoCoords', true, ...
   'BoundingBox', [lonlim', latlim']);

Сохраните данные о широте и долготе из структуры в векторах lat и lon.

lat = [states.Lat];
lon = [states.Lon];

Закрашенная фигура проекта возражает на осях карты.

patchm(lat, lon, [0.5 0.5 1])

Измените проекцию на Ламберта Равная Азимутальная область и сбросьте источник и структурируйте пределы.

setm(gca,'MapProjection','eqaazim','Origin',[37 -118], ...
   'FLatLimit',[-Inf 6]) 
setm(gca,'mlinelocation',2,'plinelocation',2)
tightmap