Графические шкалы

В этом примере показов, как добавить графические шкалы к картам и как изменить отображение свойства графических шкал.

Графические элементы шкалы используются для обеспечения показаний размера даже чаще, чем вставки. Это линейчатые объекты, которые показывают расстояния на земле в номинальной шкале проекции. Можно использовать scaleruler функция для добавления графической шкалы к текущей карте. Можно проверить и изменить scaleruler настройки с использованием getm и setm. Можно также переместить графическую шкалу в новое положение путем перетаскивания его базовой линии.

Использование usamap построить карту Техаса и окружающих состояний как заполненные многоугольники.

states = shaperead('usastatehi.shp', 'UseGeoCoords', true);
figure
usamap('Texas')
faceColors = makesymbolspec('Polygon',...
    {'INDEX', [1 numel(states)], ...
    'FaceColor', polcmap(numel(states))});
geoshow(states,'DisplayType', 'polygon', ...
    'SymbolSpec', faceColors)

Потому что polcmap рандомизирует закрашенную фигуру цвета, ваши отображения могут выглядеть по-другому.

Добавьте графическую шкалу по умолчанию и переместите его в новое место.

scaleruler on
setm(handlem('scaleruler1'), ...
    'XLoc',-6.2e5,'YLoc',3.1e6, ...
    'MajorTick',0:200:600)

Область модулей scaleruler по умолчанию это километры. Обратите внимание, что handlem принимает ключевое слово 'scaleruler' или 'scaleruler1' для первого scaleruler, 'scaleruler2' для второго, и т.д. Если существует несколько scaleruler на текущей системе координат, задавая ключевое слово 'scaleruler' возвращает вектор указателей.

Верните scaleruler как Group объект с использованием handlem выполнять функцию и просматривать ее свойства с помощью getm.

s = handlem('scaleruler');
getm(s)
ans = struct with fields:
            Azimuth: 0
           Children: []
              Color: [0 0 0]
          FontAngle: 'normal'
           FontName: 'Helvetica'
           FontSize: 9
          FontUnits: 'points'
         FontWeight: 'normal'
              Label: ''
                Lat: 29.6479
               Long: -101.7263
          LineWidth: 0.5000
          MajorTick: [0 200 400 600]
     MajorTickLabel: {4x1 cell}
    MajorTickLength: 20
          MinorTick: [0 25 50 75 100]
     MinorTickLabel: '100'
    MinorTickLength: 12.5000
             Radius: 'earth'
         RulerStyle: 'ruler'
            TickDir: 'up'
           TickMode: 'manual'
              Units: 'km'
               XLoc: -620000
               YLoc: 3100000
               ZLoc: []

Измените размер шрифта scaleruler до 8 точек.

setm(s,'fontsize',8)

Поместите вторую графическую шкалу, этот в единицах морских миль.

scaleruler('units','nm')

Измените свойства такта второй графической шкалы.

setm(handlem('scaleruler2'), 'YLoc', 3.0e6, ...
    'MajorTick', 0:100:300,...
    'MinorTick', 0:25:50, 'TickDir', 'down', ...
    'MajorTickLength', km2nm(25),...
    'MinorTickLength', km2nm(12.5))

Экспериментируйте с двумя другими доступными стилями линейки.

setm(handlem('scaleruler1'), 'RulerStyle', 'lines')
setm(handlem('scaleruler2'), 'RulerStyle', 'patches')