Совершите поездку по Бостону с приложением Map Viewer

Приложение Map Viewer является интерактивным инструментом для просмотра данных о карте. С ним вы можете:

  • Соберите слои вектора и растровых геоданных и представьте их в 2D

  • Импортируйте, переупорядочьте, символизируйте, скройте и удалите слои данных

  • Идентифицируйте координатные местоположения

  • Перечислите атрибуты данных

  • Отобразите выбранные атрибуты данных как всплывающие подсказки (указатели, которые идентифицируют значения атрибута, такие как названия места или направляют числа),

Следующий пример иллюстрирует эти возможности.

Откройте приложение Map Viewer

  1. Откройте приложение Map Viewer. На вкладке Apps, в разделе the Image Processing and Computer Vision, нажимают Map Viewer . Можно также запустить Map Viewer с помощью mapview команда. Map Viewer открывается пустым полотном. (Никакие данные не присутствуют.)

    Обратите внимание на то, что Map Viewer спроектирован, в основном, для работы с наборами данных, которые относятся к спроектированной системе координат карты (в противоположность географической, системе долготы широты), таким образом, оси координат называют X и Y.

  2. Импортируйте данные о карте. В Map Viewer выберите меню File и затем выберите Import From File. Перейдите к matlabroot\toolbox\map\mapdata папка, где matlabroot представляет вашу папку установки MATLAB®, и откройте файл GeoTIFF boston.tif.

    Файл открывается в Map Viewer. Изображение является видимым красным, зеленым, и синим составным объектом от панхроматического/многоспектрального продукта IKONOS-2, на который геоссылаются, созданного GeoEye™. Copyright © GeoEye, все права защищены. Для получения дополнительной информации об изображении, отошлите к текстовым файлам boston.txt и boston_metadata.txt. Открыть boston.txt, введите следующее в командной строке:

    open 'boston.txt'
  3. Установите шкалу карты в Map Viewer. Для этого необходимо сначала установить единицы расстояния карты. Щелкните меню Map units в нижней части сосредотачивают и выбирают US Survey Feet.

  4. Установите шкалу карты. Введите 1:25000 в поле Scale, которое является выше модульного меню Карты и нажимает Enter. Map Viewer теперь выглядит так.

  5. Получите координаты карты для местоположения на карте в интерактивном режиме. Установите курсор на местоположение на карте. Пример помещает курсор по мосту, который пробегается через водоем в Бостон-Гарден. Координаты карты для этого местоположения показывают в нижнем левом углу как 772,423.18 движение на восток ног (X), 2,954,372.40 ноги northing (Y), в Координатах на плоскости состояния Массачусетса.

  6. Импортируйте векторный слой данных. В данном примере импортируйте файл форм линии, который содержит данные по улицам и магистралям в центральной Бостонской области.

    boston_roads = shaperead('boston_roads.shp');
    

    shaperead функция возвращает данные как географическую структуру данных.

  7. Преобразуйте 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 функция вычисляет коэффициенты преобразования между множеством единиц длины.

  8. В меню Map Viewer File выберите Import From Workspace> Vector Data> Geographic Data Structure.

    В диалоговом окне Import Vector Data выберите переменную boston_roads как данные, чтобы импортировать из рабочей области и нажать OK.

    Вы могли очистить рабочую область теперь, если бы вы хотели, потому что все данные, что потребности Map Viewer теперь загружаются в него.

  9. После того, как Map Viewer закончил импортировать слой дорог, он выбирает произвольный цвет и представляет все формы с тем цветом как сплошные линии. Представление выглядит так.

    Будучи случайным, цвет, вы видите дорожный слой, может отличаться.

  10. Исследуйте атрибуты векторного слоя. Во-первых, сделайте векторный слой active layer с помощью меню Активного слоя в правом нижнем. Выберите boston_roads. Можно определять любой слой быть active layer; это не должен быть верхний слой. По умолчанию первый импортированный слой активен. Изменение активного слоя не оказывает визуального влияния на карту. Выполнение так позволяет вам запрашивать атрибуты слоя, который вы выбираете. Например, если вы делаете векторный слой активным слоем, Информационная кнопка инструментов около правильного конца панели инструментов становится активированной. Выберите инструмент Info, изменения курсора в форме креста нитей. Кликните по любому местоположению на карте, чтобы просмотреть атрибуты выбранного объекта.

    Выбранной дорогой является Массачусетс-Авеню (Рут-2а). Когда вышеупомянутый рисунок показывает, boston_roads векторы имеют шесть атрибутов, включая неявный INDEX атрибут добавляется Map Viewer. Используйте этот инструмент, чтобы исследовать другие дороги. Отклоните открытые окна Info путем нажатия на их рамки для закрытия.

  11. Используйте всплывающую подсказку, чтобы аннотировать карту другими значениями атрибута. В меню Layers выберите boston_roads> Set Label Attribute.

    Из списка в диалоговом окне Названий атрибута выберите CLASS и нажмите OK.

  12. В меню Tools выберите инструмент Datatip. Диалоговое окно, кажется, напоминает вам, как изменить атрибуты. Нажмите OK, чтобы отклонить поле.

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

  13. Можно измениться, как дороги представляются путем идентификации атрибута, которому можно адресовать символическое обозначение линии. Цветные дороги согласно их CLASS припишите, который берет значения 1:6. Сделайте это путем создания symbolspec в рабочей области. symbolspec является массивом ячеек, который сопоставляет названия атрибута и значения к графическим свойствам для заданного геометрического класса ('Point', 'MultiPoint'строка, 'Polygon', или 'Patch'). Создать symbolspec для объектов линии (в этом случае дороги), которые имеют 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}
  14. Map Viewer распознает и импортирует symbolspecs из рабочей области. Чтобы применить тот, вы только создали в меню Layers, выберите boston_roads> Set Symbol Spec. От диалогового окна Символов Слоя выберите roadcolors symbolspec вы только создали, и нажмите OK.

    После того, как Map Viewer считал и применил symbolspec, карта выглядит так.

  15. Удалите всплывающие подсказки перед продолжением. Чтобы отклонить всплывающие подсказки, щелкните правой кнопкой по одному из них и выберите Delete all data tips из меню, которое появляется.

  16. Добавьте другой слой, набор точек, который идентифицирует 13 Бостонских ориентиров. Когда вы сделали с boston_roads слой, импортируйте его из файла форм:

    boston_placenames = shaperead('boston_placenames.shp');
    
  17. Преобразуйте координаты этих ориентиров к модулям ног обзора прежде, чем импортировать их в Map Viewer. Местоположения для этих ориентиров даны в метрах.

    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
    
  18. В меню File выберите Import From Workspace > Vector Data > Geographic Data Structure. Выберите boston_placenames как данные, чтобы импортировать из рабочей области и нажать OK.

  19. boston_placenames маркеры символизируются как маленький x маркеры, но эти маркеры не обнаруживаются по ортофотографии. Чтобы решить эту задачу, создайте symbolspec для маркеров, чтобы представлять их как красные заполненные круги. В командной строке MATLAB введите:

    places = makesymbolspec('Point',{'Default','Marker','o', ...
    'MarkerEdgeColor','r','MarkerFaceColor','r'})

    Default ключевое слово заставляет заданный символ быть примененным ко всем точечным объектам в данном слое, если в частности не заменено закодированным атрибутом символом в том же самом или различном symbolspec.

  20. Чтобы активировать этот symbolspec, выпадающий меню Layers, выбирают boston_placenames, право понижения, и выбирают Set Symbol Spec. В диалоговом окне Символов Слоя, которое появляется, подсветка places и нажмите OK. Map Viewer читает переменную places рабочей области; перекрестные метки превращаются в красные круги. Обратите внимание на то, что слой не должен быть активным для вас, чтобы применить symbolspec к нему.

  21. Чтобы видеть имя Бостонского названия места, сделайте boston_placenames в настоящее время активный слой (использующий меню Активного слоя, и затем выбирают Datatip из меню Tools. Курсор превращается в форму перекрестия. Кликните по любому красному кругу, и инструмент помещает аннотацию всплывающей подсказки на карту с именем местоположения.

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

  23. В меню Tools выберите Select Annotations, чтобы измениться от инструмента Datatip назад к исходному курсору. Щелкните правой кнопкой по любой из всплывающих подсказок и выберите Delete все всплывающие подсказки из раскрывающегося контекстного меню. Это очищает названия места, которые вы добавили в карту.

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

    Примечание

    Инструмент Select area не поддержан в MATLAB Online™. Чтобы просмотреть конкретную область на карте, используйте Zoom in, Zoom out и инструменты Pan вместо этого.

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

  26. Сохраните свой выбор как файл изображения. В меню File выберите Save As Raster Map> Selected Area, чтобы открыть Экспорт в диалоговое окно Файла.

    В Экспорте в диалоговое окно Файла перейдите к папке, где вы хотите сохранить образ карты и сохранить образ выбранной области как .tif файл, вызывая его central_boston.tif. (PNG и форматы JPG также доступны.) Файл привязки, central_boston.tfw, создается наряду с TIF.

    Каждый раз, когда вы сохраняете растровую карту этим способом, два файла создаются:

    • Файл изображения (file.tif, file.png, или file.jpg)

    • Сопроводительный world file, который геоссылается на изображение (file.tfw, file.pgw, или file.jgw)

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

  27. Считайте в сохраненном образе и его палитре с функцией MATLAB imread, создайте матрицу привязки для него путем чтения в central_boston.tfw с worldfileread, и отобразите карту с mapshow:

    [X cmap] = imread('central_boston.tif');
    R = worldfileread('central_boston.tfw');
    figure
    mapshow(X, cmap, R);

    См. документацию для mapshow для другого примера отображения изображения, на которое геоссылаются.

  28. Экспериментируйте с другими инструментами и пунктами меню. Например, можно аннотировать карту линиями, стрелки и текст; соответствуйте карте к окну; чертите ограничительную рамку для любого слоя; и распечатайте текущее представление. Можно также породить новый Map Viewer с помощью New View в меню File. Новое представление может скопировать текущее представление, покрыть степень активного слоя, покрыть все степени слоя или включать только выбранную область, если таковые имеются.

    Когда вы заканчиваете с сеансом просмотра, закрываете Map Viewer с помощью рамки для закрытия окна или выбираете Close из меню File. Для получения дополнительной информации о Map Viewer, смотрите mapview страница с описанием.