Совершите поездку по Бостону с приложением 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 возвращает данные как geographic data structure.

  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, чтобы отклонить поле.

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

  13. Можно измениться, как дороги представляются путем идентификации атрибута, которому можно адресовать символическое обозначение строки. Цветные дороги согласно их атрибуту CLASS, который берет значения 1:6. Сделайте это путем создания symbolspec в рабочей области. symbolspec является массивом ячеек, который сопоставляет названия атрибута и значения к графическим свойствам для заданного геометрического класса ('Point', 'MultiPoint', 'Line', '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 datatips из меню, которое появляется.

  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, и затем удержите кнопку мыши вниз, когда вы чертите прямоугольник выбора. Если вам не нравится выбор, повторите операцию, пока вы не удовлетворены. Если вы знаете, какие наземные координаты вы хотите, можно использовать координатные считывания, чтобы сделать точный выбор. Выбранная область появляется как красный прямоугольник.

  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.