exponenta event banner

Создать первую карту мира

В этом примере показано, как использовать панель инструментов сопоставления для создания карты мира. Геопространственные данные могут быть объемными, сложными и трудно обрабатываемыми. Функции Mapping Toolbox обрабатывают многие детали загрузки и отображения геопространственных данных и используют встроенные структуры данных, облегчающие хранение данных. Пространственные данные относятся к данным, описывающим местоположение, форму и пространственные отношения. Геопространственные данные - это пространственные данные, которые каким-либо образом привязаны или привязаны к конкретным местоположениям на, под или над поверхностью планеты.

Создайте пустую карту осей, готовую для хранения выбранных данных. Функция worldmap автоматически выбирает приемлемый выбор для проекции карты и пределов координат. Для отображения карты мира функция выбрала проекцию Робинсона с центром на простом меридиане и экваторе (0 ° широты, 0 ° долготы).

worldmap world

Импорт данных мирового побережья с низким разрешением. Данные береговой линии представляют собой набор дискретных вершин, которые при соединении в заданном порядке аппроксимируют береговые линии континентов, крупных островов и внутренних морей. Вершинные широты и долготы сохраняются как векторы в MAT-файле. Загрузите MAT-файл и просмотрите переменные в рабочей области.

load coastlines
whos
  Name             Size            Bytes  Class     Attributes

  coastlat      9865x1             78920  double              
  coastlon      9865x1             78920  double              

Определите количество отдельных элементов в векторах данных береговой линии. Несмотря на то, что существует только один вектор широт, coastlatи один вектор долгот, coastlonкаждый из этих векторов содержит множество различных многоугольников, образующих береговые линии миров. Эти векторы используют сепараторы NaN и терминаторы NaN для разделения каждого вектора на несколько частей.

[latcells, loncells] = polysplit(coastlat, coastlon);
numel(latcells)
ans = 241

Постройте график данных береговой линии на осях карты с помощью plotm функция. plotm - географический эквивалент MATLAB plot функция. Он принимает координаты в широте и долготе, преобразует их в x и y через указанную проекцию карты и отображает их в осях фигуры. В этом примере: worldmap использует проекцию Робинсона.

plotm(coastlat, coastlon)

Создайте новую карту осей для печати данных по Европе. На этот раз укажите возвращаемый аргумент для worldmap функция, чтобы получить ручку к осям фигуры. Объект осей, на котором отображаются данные карты, называется осями карты. Помимо графических свойств, общих для любого объекта оси MATLAB, объект оси карты содержит дополнительные свойства, охватывающие тип проекции карты, параметры проекции, границы карты и т.д. getm и setm и другие функции позволяют получать доступ к этим свойствам и изменять их.

h = worldmap('Europe');

Определение проекции карты worldmap использует.

getm(h,'MapProjection')
ans = 
'eqdconic'

Добавление данных на карту Европы с помощью geoshow для импорта и отображения нескольких образцов файлов формы. Обратите внимание, как geoshow функция может выводить данные непосредственно из файлов на оси карты, не импортируя их в рабочее пространство. Чтобы изменить цвет маркера, используйте MarkerEdgeColor свойство и, для некоторых маркеров, MarkerFaceColor собственность.

geoshow('landareas.shp', 'FaceColor', [0.15 0.5 0.15])
geoshow('worldlakes.shp', 'FaceColor', 'cyan')
geoshow('worldrivers.shp', 'Color', 'blue')
geoshow('worldcities.shp', 'Marker', '.',...
                           'MarkerEdgeColor', 'magenta')

Поместите этикетку на карту, чтобы идентифицировать Средиземное море.

labelLat = 35;
labelLon = 14;
textm(labelLat, labelLon, 'Mediterranean Sea')