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