В этом примере показов, как добавить графические шкалы к картам и как изменить отображение свойства графических шкал.
Графические элементы шкалы используются для обеспечения показаний размера даже чаще, чем вставки. Это линейчатые объекты, которые показывают расстояния на земле в номинальной шкале проекции. Можно использовать 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')