Существует много наборов картографических данных, которые содержат данные с координатами в широте и долготой в модулях степеней. Этот пример иллюстрирует, как импортировать географические данные с координатами в широте и долготе, отобразить географические данные в отображении карты и настроить отображение.
В частности, этот пример иллюстрирует как к
Импортируйте определенный географический вектор и растровые наборы данных
Создайте отображения карты и визуализируйте данные
Отобразите несколько наборов данных в одном отображении карты
Настройте отображение карты с линейкой шкалы и северной стрелкой
Настройте отображение карты с картой вставки
Географические векторные данные могут храниться во множестве различных форматов включая стандартные форматы файлов, такие как файлы форм, Exchange GPS (GPX), NetCDF, HDF4, или HDF5 и определенные векторные результаты обработки данных, такие как Векторный Умный Уровень 0 (VMAP0) Карты и Глобальная Последовательная Иерархическая География С высоким разрешением (GSHHG). Этот пример импортирует полигон географические векторные данные из файла форм. Вершины в файле форм могут быть любой в географических координатах (широта и долгота) или в спроектированной координатной ссылочной системе.
Считайте государственные границы США из файла usasatehi.shp
, включенного с программным обеспечением Mapping Toolbox™. Государственные границы находятся в широте и долготе. Преобразуйте геомассив структур в geoshape vector
и сохраните результаты в states
.
states = geoshape(shaperead('usastatehi', 'UseGeoCoords', true));
Отобразите полигон географические векторные данные на карту оси. Поскольку географическая степень находится в Соединенных Штатах, можно использовать usamap
, чтобы установить карту оси. Используйте geoshow
, чтобы спроектировать и отобразить географические данные на оси карты. Отобразите океанский цвет в фоновом режиме путем выбирания цвета поверхности кадра.
figure ax = usamap('conus'); oceanColor = [.5 .7 .9]; setm(ax, 'FFaceColor', oceanColor) geoshow(states) title({ ... 'Conterminous USA State Boundaries', ... 'Polygon Geographic Vector Data'})
Импортируйте точку географические векторные данные из файла boston_placenames.gpx
, включенного с программным обеспечением Mapping Toolbox™. Файл содержит координаты широты и долготы географических функций точки в части Бостона, Массачусетса, США. Используйте gpxread
, чтобы считать файл GPX и возвратить geopoint vector
.
placenames = gpxread('boston_placenames');
Импортируйте данные о векторе строки из файла sample_route.gpx
, включенного с программным обеспечением Mapping Toolbox™. Файл содержит координаты широты и долготы для маршрута GPS от Бостонского международного аэропорта Логан до MathWorks, Inc в Натике Массачусетс, США. Используйте gpxread
, чтобы считать файл GPX и возвратить geopoint vector
.
route = gpxread('sample_route.gpx');
Отобразите географические векторные данные в карте оси, сосредоточенные вокруг Массачусетса, с помощью данных из государственных границ и файлов GPX. Координаты для всех этих наборов данных находятся в широте и долготе.
Найдите государственную границу для Массачусетса.
stateName = 'Massachusetts';
ma = states(strcmp(states.Name, stateName));
Используйте usamap
, чтобы установить карту оси для области, окружающей Массачусетс. Окрасьте океан путем выбирания цвета поверхности кадра. Отобразите государственные границы и подсветите Массачусетс при помощи geoshow
, чтобы отобразить географические данные на оси карты. Поскольку маршрут GPX является набором точек, сохраненных в geopoint vector
, предоставьте координаты широты и долготы к geoshow
, чтобы отобразить маршрут как строку.
figure ax = usamap('ma'); setm(ax, 'FFaceColor', oceanColor) geoshow(states) geoshow(ma, 'LineWidth', 1.5, 'FaceColor', [.5 .8 .6]) geoshow(placenames); geoshow(route.Latitude, route.Longitude); title({'Massachusetts and Surrounding Region', 'Placenames and Route'})
Масштабируйте в карту путем вычисления новых пределов широты и долготы для карты с помощью степени топонимов и направьте данные. Расширьте пределы.05 градусами.
lat = [route.Latitude placenames.Latitude]; lon = [route.Longitude placenames.Longitude]; latlim = [min(lat) max(lat)]; lonlim = [min(lon) max(lon)]; [latlim, lonlim] = bufgeoquad(latlim, lonlim, .05, .05);
Создайте карту оси с новыми пределами и отобразите географические данные.
figure ax = usamap(latlim, lonlim); setm(ax, 'FFaceColor', oceanColor) geoshow(states) geoshow(placenames) geoshow(route.Latitude, route.Longitude) title('Closeup of Placenames and Route')
Географические растровые данные могут храниться во множестве различных форматов включая стандартные форматы файлов, такие как GeoTIFF, Пространственный стандарт передачи данных (SDTS), NetCDF, HDF4, или HDF5 и определенные растровые результаты обработки данных, такие как DTED, GTOPO30, ETOPO и 1 степень USGS (3 образуют дугу вторые), форматы DEM. Этот пример импортирует растровый файл данных и worldfile области, окружающей Бостон, Массачусетс. Координаты изображения находятся в широте и долготе. Используйте imread
, чтобы считать изображение и worldfileread
, чтобы считать worldfile и создать пространственный ссылочный объект.
filename = 'boston_ovr.jpg'; RGB = imread(filename); R = worldfileread(getworldfilename(filename), 'geographic', size(RGB));
Отобразите изображение RGB на карту оси. Пределы карты устанавливаются к пределам, заданным пространственным ссылочным объектом, R
. Координаты данных находятся в широте и долготе.
figure ax = usamap(RGB, R); setm(ax, ... 'MLabelLocation',.05, 'PLabelLocation',.05, ... 'MLabelRound',-2, 'PLabelRound',-2) geoshow(RGB, R) title('Boston Overview')
Можно отобразить растр и векторные данные в одном отображении карты. Поскольку координаты для всех этих наборов данных находятся в широте и долготе, используют geoshow
, чтобы отобразить их в одном отображении карты. Setup новые пределы на основе пределов маршрута, топонимов и изображения обзора.
lat = [route.Latitude placenames.Latitude R.LatitudeLimits]; lon = [route.Longitude placenames.Longitude R.LongitudeLimits]; latlim = [min(lat) max(lat)]; lonlim = [min(lon) max(lon)];
figure ax = usamap(latlim, lonlim); setm(ax, 'GColor','k', ... 'PLabelLocation',.05, 'PLineLocation',.05) geoshow(RGB, R) geoshow(states.Latitude, states.Longitude, 'LineWidth', 2, 'Color', 'y') geoshow(placenames) geoshow(route.Latitude, route.Longitude) title('Boston Overview and Geographic Vector Data')
Настройте отображение карты включением линейки шкалы. Линейка шкалы является графическим объектом, который показывает расстояния на земле в правильном размере для проекции. Этот пример иллюстрирует, как создать линейку шкалы, которая отображает горизонтальные расстояния в международных милях.
Вычислите пределы широты и долготы Массачусетса и расширьте пределы.05 градусами при помощи функции bufgeoquad
.
latlim = [min(ma.Latitude), max(ma.Latitude)]; lonlim = [min(ma.Longitude), max(ma.Longitude)]; [latlim, lonlim] = bufgeoquad(latlim, lonlim, .05, .05);
Отобразите государственную границу, топонимы, маршрут и изображение обзора на карту.
figure ax = usamap(latlim, lonlim); setm(ax, 'FFaceColor', oceanColor) geoshow(states) geoshow(ma, 'LineWidth', 1.5, 'FaceColor', [.5 .8 .6]) geoshow(RGB, R) geoshow(placenames) geoshow(route.Latitude, route.Longitude) titleText = 'Massachusetts and Surrounding Region'; title(titleText)
Введите линейку шкалы. Можно определить местоположение для линейки шкалы при помощи функции ginput
как показано ниже:
[xLoc, yLoc] = ginput (1);
Местоположение, ранее выбранное, установлено ниже.
xLoc = -127800; yLoc = 5014700; scaleruler('Units', 'mi', 'RulerStyle', 'patches', ... 'XLoc', xLoc, 'YLoc', yLoc); title({titleText, 'with Scale Ruler'})
Настройте карту путем добавления северной стрелки. Северная стрелка является графическим элементом, указывающим на географический Северный полюс.
Используйте значения широты и долготы, чтобы расположить северную стрелку.
northArrowLat = 42.5; northArrowLon = -70.25; northarrow('Latitude', northArrowLat, 'Longitude', northArrowLon); title({titleText, 'with Scale Ruler and North Arrow'})
Настройте карту путем добавления карты вставки. Карта вставки является маленькой картой в рамках увеличенной карты, которая позволяет вам визуализировать более крупную географическую область своей основной карты. Создайте карту для окружающей области как карта вставки. Используйте функцию axes
, чтобы содержать и расположить карту вставки. В карте вставки:
Отобразите государственные границы для окружающей области
Постройте красное поле, чтобы показать степень основной карты
h2 = axes('Position', [.15 .6 .2 .2], 'Visible', 'off'); usamap({'PA','ME'}) plabel off; mlabel off setm(h2, 'FFaceColor', 'w'); geoshow(states, 'FaceColor', [.9 .6 .7], 'Parent', h2) plotm(latlim([1 2 2 1 1]), lonlim([2 2 1 1 2]), ... 'Color', 'red', 'LineWidth', 2) title(ax, {titleText, 'with Scale Ruler, North Arrow, and Inset Map'})
boston_placenames.gpx:
Office of Geographic and Environmental Information (MassGIS),
Commonwealth of Massachusetts Executive Office of Environmental Affairs
http://www.state.ma.us/mgis
For more information, run:
>> type boston_placenames_gpx.txt
boston_ovr.jpg:
Copyright GeoEye
Includes material copyrighted by GeoEye, all rights reserved. For more
information, please call 1.703.480.7539 or visit http://www.geoeye.com
Copyright GeoEye
Includes material copyrighted by GeoEye, all rights reserved.
(GeoEye was merged into the DigitalGlobe corporation January 29,
2013.)
For more information, run:
>> type boston_ovr.txt
geoshow
| gpxread
| northarrow
| scaleruler
| setm
| shaperead
| usamap