Приложение Map Viewer - это интерактивный инструмент для просмотра данных карты. С его помощью можно:
Собрать слои векторных и растровых геоданных и визуализировать их в 2-D
Импорт, изменение порядка, обозначение, скрытие и удаление слоев данных
Определение местоположений координат
Перечислить атрибуты данных
Отображение выбранных атрибутов данных в виде подсказок по данным (указатели, определяющие значения атрибутов, такие как топонимы или номера маршрутов)
Следующие примеры иллюстрируют эти возможности.
Откройте приложение «Просмотр карт». На вкладке «Приложения» в разделе «Обработка изображений и компьютерное зрение» нажмите кнопку «Просмотр карт».
Также можно запустить
средство просмотра карт с помощью mapview команда. Откроется средство просмотра карт с пустым холстом. (Данные отсутствуют.)
Обратите внимание, что программа просмотра карт предназначена главным образом для работы с наборами данных, которые относятся к проектируемой картографической системе координат (в отличие от географической системы широты и долготы), поэтому оси координат называются X и Y.
Импорт данных карты. В программе просмотра карт выберите меню «Файл», а затем «Импортировать из файла». Перейдите к папка, где matlabroot/examples/map/datamatlabroot представляет папку установки MATLAB ® и открывает файл GeoTIFFboston.tif.
Файл откроется в программе просмотра карт. Изображение представляет собой видимый красный, зеленый и синий композит из географического IKONOS-2 панхроматического/многоспектрального продукта, созданного GeoEye™. © GeoEye, все права защищены. Для получения дополнительной информации об изображении см. текстовые файлы. boston.txt и boston_metadata.txt. Открыться boston.txtвведите в командной строке следующее:
open 'boston.txt'
Задайте масштаб карты в программе просмотра карт. Для этого сначала необходимо задать единицы измерения расстояния карты. Щелкните меню «Единицы карты» в нижнем центре и выберите US Survey Feet.

Задайте масштаб карты. Напечатать 1:25000 в поле Масштаб (Scale), которое находится над меню Единицы карты (Map units), и нажмите Enter. Программа просмотра карт теперь выглядит следующим образом.

Получение координат карты для местоположения на карте в интерактивном режиме. Наведите курсор на местоположение на карте. Пример ставит курсор на мост, который проходит через пруд в Бостон Гарден. Координаты карты для этого местоположения показаны в левом нижнем углу как 772,423.18 восточное положение ног (X), 2,954,372.40 northing футов (Y), в координатах плоскости штата Массачусетс.
Импорт слоя векторных данных. Для этого примера импортируйте файл формы линии, содержащий данные о улицах и автомагистралях в центральной части Бостона.
boston_roads = shaperead('boston_roads.shp');
shaperead функция возвращает данные в виде географической структуры данных.
Преобразовать X и Y поля координат boston_roads.shp от метров до съемочных футов США. Как часто бывает при наложении геоданных, система координат, используемая boston_roads.shp (в единицах метра) не полностью согласуется с тем, что для спутникового изображения, boston.tif (в единицах футов). Если бы вы проигнорировали это, два набора данных не были бы зарегистрированы на большом расстоянии.
surveyFeetPerMeter = unitsratio('survey feet','meter');
for k = 1:numel(boston_roads)
boston_roads(k).X = surveyFeetPerMeter * boston_roads(k).X;
boston_roads(k).Y = surveyFeetPerMeter * boston_roads(k).Y;
end
unitsratio функция вычисляет коэффициенты преобразования между различными единицами измерения длины.В меню «Файл средства просмотра карт» выберите «Импорт из рабочего пространства» > «Векторные данные» > «Географическая структура данных».

В диалоговом окне «Импорт векторных данных» выберите переменную boston_roads в качестве данных для импорта из рабочей области и нажмите кнопку ОК.

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

Случайный цвет слоя дороги может отличаться.
Изучите атрибуты векторного слоя. Сначала сделайте векторный слой активным с помощью меню «Активный слой» в правом нижнем углу. Выбрать boston_roads. Активным слоем можно назначить любой слой; он не обязательно должен быть самым верхним слоем. По умолчанию первый импортированный слой активен. Изменение активного слоя не оказывает визуального влияния на карту. Это позволяет запрашивать атрибуты выбранного слоя. Например, когда векторный слой становится активным, кнопка инструмента «Информация» в правом конце панели инструментов становится доступной. Выберите инструмент «Информация», курсор изменится на форму перекрестия. Щелкните любое расположение на карте, чтобы просмотреть атрибуты выбранного объекта.

Выбранная дорога - Массачусетс-авеню (Маршрут 2А). Как показано на приведенном выше рисунке, boston_roads векторы имеют шесть атрибутов, включая неявный INDEX атрибут, добавленный средством просмотра карт. Этот инструмент используется для изучения других дорог. Закройте открытые окна сведений, щелкнув их поля закрытия.
Используйте подсказку данных для аннотирования карты с другими значениями атрибутов. В меню «Слои» выберите «boston_roads» > «Задать атрибут метки».

В списке в диалоговом окне «Имена атрибутов» выберите CLASS и нажмите кнопку ОК.

В меню «Сервис» выберите инструмент «Дататип». Появится диалоговое окно, напоминающее об изменении атрибутов. Нажмите кнопку ОК, чтобы закрыть окно.

Курсор принимает перекрестие (+) форма. Щелкните сегмент дороги на карте, и инструмент подсказки данных поместит на дороге небольшой маркер, содержащий числовой идентификатор, указывающий административный класс. Класс дороги, пересекающей реку Чарльз, который мы исследовали ранее, относится к классу 3.

Можно изменить способ визуализации дорог, определив атрибут, к которому относится символика ключевых линий. Цветные дороги в соответствии с их CLASS , который принимает значения 1:6. Это можно сделать, создав в рабочем пространстве символ. Symbolspec - это массив ячеек, который связывает имена и значения атрибутов с графическими свойствами для указанного геометрического класса ('Point', 'MultiPoint', 'Line', 'Polygon', или 'Patch'). Создание обозначения для линейных объектов (в данном случае дорог), имеющих CLASS атрибут, тип:
roadcolors = makesymbolspec('Line', ...
{'CLASS',1,'Color',[1 1 1]}, {'CLASS',2,'Color',[1 1 0]}, ...
{'CLASS',3,'Color',[0 1 0]}, {'CLASS',4,'Color',[0 1 1]}, ...
{'CLASS',5,'Color',[1 0 1]}, {'CLASS',6,'Color',[0 0 1]})
Появятся следующие выходные данные:
roadcolors =
ShapeType: 'Line'
Color: {6x3 cell}Средство просмотра карт распознает и импортирует символы из рабочей области. Чтобы применить только что созданный объект, в меню «Слои» выберите «boston_roads» > «Задать спецификацию обозначения». В диалоговом окне «Обозначения слоев» выберите roadcolors только что созданный symbolspec и нажмите кнопку ОК.

После того, как средство просмотра карт прочитало и применило символ, карта выглядит следующим образом.

Перед продолжением удалите подсказки по данным. Чтобы отклонить подсказки по данным, щелкните правой кнопкой мыши одну из них и выберите Удалить все подсказки по данным в появившемся меню.
Добавьте еще один слой, набор точек, который идентифицирует 13 ориентиров Бостона. Как вы сделали с boston_roads слой, импортировать его из файла формы:
boston_placenames = shaperead('boston_placenames.shp');
Преобразуйте координаты этих ориентиров в единицы съемочных футов перед их импортом в программу «Просмотр карт». Места расположения этих ориентиров приведены в метрах.
surveyFeetPerMeter = unitsratio('survey feet','meter');
for k = 1:numel(boston_placenames)
boston_placenames(k).X = ...
surveyFeetPerMeter * boston_placenames(k).X;
boston_placenames(k).Y = ...
surveyFeetPerMeter * boston_placenames(k).Y;
end
В меню «Файл» выберите «Импорт из рабочего пространства» > «Векторные данные» > «Географическая структура данных». Выбирать boston_placenames в качестве данных для импорта из рабочей области и нажмите кнопку ОК.
boston_placenames маркеры символизируются как маленькие x маркеры, но эти маркеры не появляются над ортофото. Чтобы решить эту проблему, создайте для маркеров обозначение, представляющее их в виде красных закрашенных кругов. В командной строке MATLAB введите:
places = makesymbolspec('Point',{'Default','Marker','o', ...
'MarkerEdgeColor','r','MarkerFaceColor','r'}) Default ключевое слово вызывает применение указанного символа ко всем точечным объектам в данном слое, если специально не переопределено символом, кодированным атрибутом, в том же самом или другом символьном списке.
Чтобы активировать этот символ, в раскрывающемся меню «Слои» выберите «boston_placenames», щелкните правой кнопкой мыши и выберите «Задать спецификацию символа». В открывшемся диалоговом окне «Символы слоев» выделите places и нажмите кнопку ОК. Программа просмотра карт считывает переменную рабочего пространства. places; крестовины превращаются в красные круги. Обратите внимание, что слой не обязательно должен быть активным, чтобы к нему можно было применить символику.
Чтобы увидеть название места в Бостоне, сделайте boston_placenames текущий активный слой (с помощью меню «Активный слой» и затем выберите «Datatip» в меню «Сервис». Курсор принимает форму перекрестия. Щелкните любую красную окружность, и инструмент поместит аннотацию подсказки данных на карту с именем расположения.

Увеличьте изображение на Beacon Hill, чтобы посмотреть на дом штата Массачусетс и Бостон Коммон. Выберите инструмент «Увеличить»; перемещайте курсор (лупу) до тех пор, пока показания X не будут приблизительно 774,011 и показания Y примерно 2,955,615; и щелкните один раз, чтобы увеличить вид. Масштаб изменяется на около 1:12,500 и карта появится, как показано ниже.

В меню Сервис (Tools) выберите пункт Выбрать аннотации (Select Annotations), чтобы вернуться от инструмента «Дататип» (Datatip) к исходному курсору. Щелкните правой кнопкой мыши любую из подсказок по данным и выберите «Удалить все таблицы данных» во всплывающем контекстном меню. При этом удаляются имена мест, добавленные на карту.
Выберите интересующую область для сохранения в виде файла изображения. Щелкните инструмент «Выделение области», а затем удерживайте нажатой кнопку мыши при рисовании прямоугольника выделения. Если выбор не нравится, повторите операцию до тех пор, пока вы не будете удовлетворены. Если вы знаете, какие координаты земли вы хотите, вы можете использовать показания координат, чтобы сделать точный выбор. Выбранная область отображается красным прямоугольником.
Примечание
Инструмент выбора области
не поддерживается в MATLAB Online™. Для просмотра определенной области на карте используйте инструменты «Увеличить», «Уменьшить» и «Панорамирование».

Чтобы сохранить файл на следующем шаге, измените рабочую папку на доступную для записи.
Сохраните выделенный фрагмент в виде файла изображения. В меню «Файл» выберите «Сохранить как растровую карту» > «Выбранная область», чтобы открыть диалоговое окно «Экспорт в файл».
В диалоговом окне «Экспорт в файл» перейдите в папку, в которой требуется сохранить изображение карты, и сохраните изображение выбранной области в виде .tif файл, вызывающий его central_boston.tif. (Также доступны форматы PNG и JPG.) Мировой файл, central_boston.tfw, создается вместе с TIF.
При сохранении растровой карты таким образом создаются два файла:
Файл изображения (file.tif, file.png, или file.jpg)
Файл сопровождающего мира, который привязывает изображение (file.tfw, file.pgw, или file.jgw)
Следующие шаги показывают, как читать мировые файлы и отображать изображение с географической привязкой вне mapview.
Чтение сохраненного изображения и его карты цветов с помощью функции MATLAB imread, создайте для него ссылочный объект, прочитав в central_boston.tfw с worldfilereadи отобразить карту с помощью mapshow:
[X,cmap] = imread('central_boston.tif');
R = worldfileread('central_boston.tfw','planar',size(X));
figure
mapshow(X,cmap,R);
См. документацию для mapshow для другого примера отображения изображения с географической привязкой.
Экспериментируйте с другими инструментами и пунктами меню. Например, можно аннотировать карту линиями, стрелками и текстом; поместите карту в окно; нарисуйте ограничивающую рамку для любого слоя; и распечатайте текущее представление. Можно также создать новое средство просмотра карт с помощью команды «Создать представление» в меню «Файл». Новый вид может дублировать текущий вид, охватывать протяженность активного слоя, охватывать все границы слоя или включать только выбранную область, если она имеется.
По завершении сеанса просмотра закройте средство просмотра карт с помощью окна закрытия или выберите пункт Закрыть (Close) в меню Файл (File). Дополнительные сведения о программе просмотра карт см. в разделе mapview справочная страница.