exponenta event banner

Выбор расположений в интерактивном режиме

Функции Mapping Toolbox™ и GUI можно использовать для взаимодействия с картами в mapview и в фигурах, созданных с помощью axesm. В этом разделе описываются две полезные функции графического ввода: inputm и gcpmap. inputm функция (аналогичная функции MATLAB ®ginput функция) позволяет получить положение широты-долготы щелчка мыши. gcpmap функция (аналогичная функции MATLAB) get(gca,'CurrentPoint')) возвращает текущее положение мыши, также в широте и долготе.

Исследовать inputm с помощью следующих команд, которые отображают оси карты с ее сеткой, а затем запрашивают три щелчка мыши, местоположения которых сохраняются в переменной как географические координаты points. Затем plotm функция отображает точки, выбранные в качестве красных маркеров. Отображаемое изображение зависит от выбранных точек:

axesm sinusoid
framem on; gridm on
points=inputm(3)
points =
  -41.7177 -145.0293
    7.9211   -0.5332
   38.5492  149.2237
plotm(points,'r*')

Примечание

Если щелкнуть за пределами рамки карты, inputm возвращает допустимую, но неправильную широту и долготу, даже если указанная вами точка находится вне карты.

Одной из причин, по которой можно вручную определить точки на карте, является интерактивное изучение степени искажения проекции карты в заданных местоположениях. Например, можно включить данные, полученные с помощью inputm в distortcalc функция, которая вычисляет площадь и угловые искажения в любом месте на отображаемых осях карты. Если вы делаете это с помощью points , результаты предыдущих трех щелчков мыши следующие:

[areascale,angledef] = distortcalc(points(1,1),points(1,2))
areascale =
    1.0000
angledef =
    85.9284
[areascale,angledef] = distortcalc(points(2,1),points(2,2))
areascale =
    1.0000
angledef =
    3.1143
[areascale,angledef] = distortcalc(points(3,1),points(3,2))
areascale =
    1.0000
angledef =
    76.0623

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

См. также

|

Связанные темы