Существует много наборов картографических данных, которые содержат данные с координатами в широте и долготой в модулях степеней. Этот пример иллюстрирует, как импортировать географические данные с координатами в широте и долготе, отобразить географические данные в отображении карты и настроить отображение.
В частности, этот пример иллюстрирует как к
Импортируйте определенный географический вектор и растровые наборы данных
Создайте отображения карты и визуализируйте данные
Отобразите несколько наборов данных в одном отображении карты
Настройте отображение карты с линейкой шкалы и северной стрелой
Настройте отображение карты с картой вставки
Географические векторные данные могут храниться во множестве различных форматов, например, файл форм и Exchange GPS (GPX) форматы. Этот пример импортирует многоугольник географические векторные данные из файла форм. Вершины в файле форм могут быть любой в географических координатах (широта и долгота) или в спроектированной системе координат.
Считайте государственные границы США из usastatehi.shp
файл включен с программным обеспечением Mapping Toolbox™. Государственные границы находятся в широте и долготе.
states = shaperead('usastatehi.shp', 'UseGeoCoords', true);
Отобразите многоугольник географические векторные данные на карту оси. Поскольку географическая степень находится в Соединенных Штатах, можно использовать usamap
устанавливать карту оси. Используйте geoshow
спроектировать и отобразить географические данные на оси карты. Отобразите океанский цвет в фоновом режиме путем выбирания цвета поверхности системы координат.
figure ax = usamap('conus'); oceanColor = [0.3010 0.7450 0.9330]; landColor = [0.9290 0.6940 0.1250]; setm(ax, 'FFaceColor', oceanColor) geoshow(states,'FaceColor',landColor) title({ ... 'Conterminous USA State Boundaries', ... 'Polygon Geographic Vector Data'})
Импортируйте точку географические векторные данные из boston_placenames.gpx
файл включен с программным обеспечением Mapping Toolbox™. Файл содержит координаты широты и долготы географических функций точки в части Бостона, Массачусетса, США. Используйте gpxread
считать файл GPX и возвратить geopoint
вектор.
placenames = gpxread('boston_placenames.gpx');
Импортируйте данные о векторе линии от sample_route.gpx
файл включен с программным обеспечением Mapping Toolbox™. Файл содержит координаты широты и долготы для маршрута GPS от Бостонского международного аэропорта Логан до MathWorks, Inc в Натике Массачусетс, США. Используйте gpxread
считать файл GPX и возвратить geopoint
вектор.
route = gpxread('sample_route.gpx');
Отобразите географические векторные данные в карте оси, сосредоточенные вокруг Массачусетса, с помощью данных из государственных границ и файлов GPX. Координаты для всех этих наборов данных находятся в широте и долготе.
Найдите государственную границу для Массачусетса.
stateName = 'Massachusetts';
ma = states(strcmp({states.Name},stateName));
Используйте usamap
устанавливать карту оси для области, окружающей Массачусетс. Окрасьте океан путем выбирания цвета поверхности системы координат. Отобразите государственные границы и подсветите Массачусетс при помощи geoshow
отобразить географические данные на оси карты. Поскольку маршрут GPX является набором точек, сохраненных в geopoint
вектор, предоставьте координаты широты и долготы к geoshow
отобразить маршрут как линию.
figure ax = usamap('ma'); maColor = [0.4660 0.6740 0.1880]; setm(ax, 'FFaceColor', oceanColor) geoshow(states,'FaceColor',landColor) geoshow(ma, 'FaceColor', maColor) 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(ma,'FaceColor',maColor) geoshow(placenames) geoshow(route.Latitude, route.Longitude) title('Closeup of Placenames and Route')
Географические растровые данные могут храниться во множестве различных форматов, например, GeoTIFF, Сетка Esri, DTED и форматы ENVI. Чтобы считать данные в этих форматах, используйте readgeoraster
функция.
Чтобы считать изображение, сопоставленное с worldfile, используйте imread
и worldfileread
функции вместо этого. Используйте 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(ma.Lat, ma.Lon, ... 'LineWidth', 2, 'Color', 'y') geoshow(placenames) geoshow(route.Latitude, route.Longitude) title('Boston Overview and Geographic Vector Data')
Настройте отображение карты включением линейки шкалы. Линейка шкалы является графическим объектом, который показывает расстояния на земле в правильном размере для проекции. Этот пример иллюстрирует, как создать линейку шкалы, которая отображает горизонтальные расстояния в международных милях.
Вычислите пределы широты и долготы Массачусетса и расширьте пределы.05 градусами при помощи bufgeoquad
функция.
latlim = [min(ma.Lat), max(ma.Lat)]; lonlim = [min(ma.Lon), max(ma.Lon)]; [latlim, lonlim] = bufgeoquad(latlim, lonlim, .05, .05);
Отобразите государственную границу, топонимы, маршрут и изображение обзора на карту.
figure ax = usamap(latlim, lonlim); setm(ax, 'FFaceColor', oceanColor) geoshow(states,'FaceColor', landColor) geoshow(ma, 'LineWidth', 1.5, 'FaceColor', maColor) 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', [0.9 0.9 0.9], '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
из Бюро Географической информации (MassGIS), Массачусетс, Исполнительного Office Технологии и Служб безопасности. Для получения дополнительной информации о наборах данных, используйте команду type boston_placenames_gpx.txt
.
Файл boston_ovr.jpg
включает материалы, защищенные авторским правом GeoEye, все права защищены. GeoEye был объединен в корпорацию DigitalGlobe 29-го января 2013. Для получения дополнительной информации о наборе данных, используйте команду type boston_ovr.txt
.
geoplot
| geoscatter
| geoshow
| northarrow
| scaleruler
| usamap