usamap

Создайте карты осей для Соединенные Штаты Америки

Описание

пример

usamap state и

usamap(state) создать пустые оси карты с проекцией Lambert Conformal Conic и пределами карты, охватывающими состояние США или группу состояний, заданных state. Оси карты создаются в текущих системах координат, и пределы по осям устанавливаются плотно вокруг системы координат карты.

usamap 'conus' и

usamap('conus') создать пустые оси карты для контерминированных 48 состояний (то есть всех штатов, исключая Аляску и Гавайи).

пример

usamap без аргументов представляет меню, из которого можно выбрать одно состояние, округ Колумбия, контерминированные 48 состояния или все состояния.

usamap(latlim,lonlim) создает пустые оси карты Lambert Conformal для области США, заданной ее широтой и пределами долготы в степени.

usamap(Z,R) определяет пределы карты из объема регулярной сетки данных, Z, географически определяемый R.

h = usamap(___) возвращает указатель на оси карты.

пример

h = usamap('all') Конструкции трех пустых осей карты, вставленных в одну фигуру, для контерминальных состояний, Аляски и Гавайев, со сферической моделью Земли и другими параметрами проекции, предложенными Геологической службой США. Карты в трех осях показаны примерно в одной шкале. Указатели для трех осей карты возвращаются в h.

usamap('allequal') то же, что и usamap('all'), но использование 'allequal' будет удалено в следующем релизе.

Примеры

свернуть все

Составьте карту только состояния Алабамы.

figure
usamap('Alabama')
alabamahi = shaperead('usastatehi', 'UseGeoCoords', true,...
            'Selector',{@(name) strcmpi(name,'Alabama'), 'Name'});
geoshow(alabamahi, 'FaceColor', [0.3 1.0, 0.675])

Добавьте текст, чтобы пометить состояние.

textm(alabamahi.LabelLat, alabamahi.LabelLon, alabamahi.Name,...
  'HorizontalAlignment', 'center')

Составьте карту смежного ландмасса, который содержит Калифорнию и Монтану.

figure
ax = usamap({'CA','MT'});
set(ax, 'Visible', 'off')
latlim = getm(ax, 'MapLatLimit');
lonlim = getm(ax, 'MapLonLimit');
states = shaperead('usastatehi',...
        'UseGeoCoords', true, 'BoundingBox', [lonlim', latlim']);
geoshow(ax, states, 'FaceColor', [0.5 0.5 1])

Добавьте метки к каждому состоянию.

lat = [states.LabelLat];
lon = [states.LabelLon];
tf = ingeoquad(lat, lon, latlim, lonlim);
textm(lat(tf), lon(tf), {states(tf).Name}, ...
   'HorizontalAlignment', 'center')

Сопоставьте контерминированные США с другим цветом заливки для каждого состояния.

figure
ax = usamap('conus');
states = shaperead('usastatelo', 'UseGeoCoords', true,...
  'Selector',...
  {@(name) ~any(strcmp(name,{'Alaska','Hawaii'})), 'Name'});
faceColors = makesymbolspec('Polygon',...
    {'INDEX', [1 numel(states)], 'FaceColor', ... 
    polcmap(numel(states))}); %NOTE - colors are random
geoshow(ax, states, 'DisplayType', 'polygon', ...
   'SymbolSpec', faceColors)

Установите дополнительные параметры отображения.

framem off; gridm off; mlabel off; plabel off;

Карта США с отдельными осями для Аляски и Гавайев.

figure
ax = usamap('all');
set(ax, 'Visible', 'off')
states = shaperead('usastatelo', 'UseGeoCoords', true);
names = {states.Name};
indexHawaii = strcmp('Hawaii',names);
indexAlaska = strcmp('Alaska',names);
indexConus = 1:numel(states);
indexConus(indexHawaii|indexAlaska) = []; 
stateColor = [0.5 1 0.5];

Отобразите три области.

geoshow(ax(1), states(indexConus),  'FaceColor', stateColor)
geoshow(ax(2), states(indexAlaska), 'FaceColor', stateColor)
geoshow(ax(3), states(indexHawaii), 'FaceColor', stateColor)

Скрыть систему координат.

for k = 1:3
    setm(ax(k), 'Frame', 'off', 'Grid', 'off',...
      'ParallelLabel', 'off', 'MeridianLabel', 'off')
end

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

свернуть все

Состояние для отображения, заданное как строковый скаляр, строковые массивы, вектор символов или массив ячеек из векторов символов. Допустимые значения включают имена состояний, стандартные двухбуквенные сокращения Почтовой службы США для состояний и 'District of Columbia'.

Пример: usamap({'Maine','Florida'}) устанавливает пределы карты, чтобы охватить области, охватывающие от штата Мэн до Флориды.

Пределы широты, заданные как двухэлементный вектор вида [southern_limit northern_limit].

Пределы долготы, заданные как двухэлементный вектор вида [western_limit eastern_limit].

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

Географическая ссылка, заданная как одно из следующего.

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

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

Вектор

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

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

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

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

R задает (не вращательное, не искривленное) соотношение, в котором каждый столбец сетки данных падает вдоль меридиана, и каждая строка падает вдоль параллели.

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

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

свернуть все

Указатель на оси карты, возвращенный как объект.

Если вы используете синтаксис h = usamap ('all'), затем h - массив указателя объектов. h(1) для контерминозных состояний, h(2) для Аляски, и h(3) для Гавайев.

Совет

  • Все оси, созданные с usamap инициализируются сферической моделью Земли, имеющей радиус 6 371 000 метров.

  • В некоторых случаях, usamap использует tightmap чтобы настроить пределы по осям плотно вокруг карты. Если вы меняете проекцию или просто хотите больше белого пространства вокруг системы координат карты, используйте tightmap снова или axis auto.

  • axes(h(n)), где n = 1, 2, или 3, создает требуемый ток осей.

  • set(h,'Visible','on') делает оси видимыми.

  • axesscale(h(1)) изменяет размер осей, содержащих Аляску и Гавайи, до такой же шкалы, как и у контерминозных состояний.

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