Этот пример иллюстрирует, как импортировать и отобразить географические данные, которые содержат координаты в спроектированной системе координат.
В частности, этот пример иллюстрирует как к
Импортируйте определенный растр и векторные наборы данных
Создайте отображения карты для визуализации данных
Отобразите несколько наборов данных в отображении карты
Отобразите несколько наборов данных с координатами в географических и спроектированных системах координат в одном отображении карты
Географические растровые данные, которые содержат координаты в спроектированной системе координат, могут храниться во множестве различных форматов, включая стандартные форматы файлов, такие как GeoTIFF, Пространственный стандарт передачи данных (SDTS), NetCDF, HDF4 или HDF5. Этот пример иллюстрирует импортирующие данные из файла GeoTIFF. Данные в файле содержат координаты в спроектированной системе координат Зоны плановой проекции штата Массачусеттс системы координат карты.
Координаты изображения в файле GeoTIFF, boston.tif
, находятся в спроектированной системе координат. Можно определить это при помощи geotiffinfo
функционируйте и исследуйте PCS
и Projection
значения полей.
info = geotiffinfo('boston.tif');
disp(info.PCS)
NAD83 / Massachusetts Mainland
disp(info.Projection)
SPCS83 Massachusetts Mainland zone (meters)
Единица длины координат задана UOMLength
поле в info
структура.
disp(info.UOMLength)
US survey foot
Чтобы импортировать изображение и пространственный объект привязки, используйте geotiffread
.
[boston, R] = geotiffread('boston.tif');
Можно отобразить изображение на обычном MATLAB оси с помощью mapshow
, который отображает изображение и устанавливает пределы осей к пределам, заданным объектом привязки, R
. Координаты, как упомянуто выше, находятся в US survey foot
и относительно источника на юго-запад карты, которая является, почему числа являются большими. Координаты всегда положительны в зоне.
mapshow(boston, R) axis image title('Boston')
Географические векторные данные, которые содержат координаты в спроектированной системе координат, могут храниться в файлах форм. Этот пример иллюстрирует, как импортировать векторные данные в спроектированной системе координат из файла форм, boston_roads.shp
. В общем случае файлы форм содержат информацию о проекции во вспомогательном .prj файле. Этот файл не включен с программным обеспечением Mapping Toolbox™ для boston_roads
. Однако можно определить систему координат из boston_roads.txt
файл, который включен с программным обеспечением Mapping Toolbox™, которое утверждает, "Все данные, распределенные MassGIS, указаны к данной величине NAD83, системе координат Зоны плановой проекции штата Массачусеттс. Модули исчисляются в метрах".
Импортируйте векторные данные о линии от boston_roads.shp
файл включен с программным обеспечением Mapping Toolbox™.
roads = shaperead('boston_roads');
Вектор и растровые данные в этом примере находятся в той же спроектированной системе координат, Зоне плановой проекции штата Массачусеттс. Однако векторные данные находятся в единицах длины метра, в то время как растровые данные находятся в единице длины ноги обзора. Преобразуйте растровые данные в единицы длины метра и отобразите данные по тем же осям.
Преобразуйте координаты растрового изображения от модулей ноги обзора США к метру.
R.XWorldLimits = R.XWorldLimits * unitsratio('m','sf'); R.YWorldLimits = R.YWorldLimits * unitsratio('m','sf');
Отобразите растровое изображение и векторные данные с помощью mapshow
.
figure
mapshow(boston, R)
mapshow(roads)
title('Boston and Roads')
У вас могут быть географические данные, координаты которых находятся в широте и долготе и других данных, координаты которых находятся в спроектированной системе координат. Можно отобразить эти наборы данных в том же отображении карты. Этот пример иллюстрирует, как отобразить данные в географической системе координат (широта и долгота) с данными в спроектированной системе координат карты (система координат Зоны плановой проекции штата Массачусеттс).
Считайте растровое изображение с worldfile, координаты которого находятся в широте и долготе. Используйте imread
считать изображение и worldfileread
считать worldfile и создать пространственный объект привязки.
filename = 'boston_ovr.jpg'; overview = imread(filename); overviewR = worldfileread(getworldfilename(filename), 'geographic', size(overview));
Чтобы отобразить изображение обзора и GeoTIFF отображают в том же отображении карты, необходимо создать отображение карты с помощью структуры проекции Mapping Toolbox™, содержащей информацию о проекции для данных в спроектированной системе координат, системе координат Зоны плановой проекции штата Массачусеттс. Чтобы заставить карту отобразиться в этой системе, можно использовать информацию о проекции, содержавшуюся в файле GeoTIFF. Используйте geotiff2mstruct
функционируйте, чтобы создать структуру проекции Mapping Toolbox™ от содержимого информационной структуры GeoTIFF. geotiff2mstruct
функция возвращает проекцию в модулях метров. Используйте структуру проекции, чтобы задать параметры проекции для отображения карты.
mstruct = geotiff2mstruct(info);
Используйте пределы широты и долготы Бостонского изображения обзора.
latlim = overviewR.LatitudeLimits; lonlim = overviewR.LongitudeLimits;
Создайте отображение карты при помощи информации проекции, хранившей в структуре проекции карты, и установите пределы широты и долготы карты. Отобразите географические данные в осях карты. geoshow
проектирует координаты широты и долготы.
figure('Renderer', 'opengl') ax = axesm(mstruct, 'Grid', 'on',... 'GColor', [.9 .9 .9], ... 'MapLatlimit', latlim, 'MapLonLimit', lonlim, ... 'ParallelLabel', 'on', 'PLabelLocation', .025, 'PlabelMeridian', 'west', ... 'MeridianLabel', 'on', 'MlabelLocation', .05, 'MLabelParallel', 'south', ... 'MLabelRound', -2, 'PLabelRound', -2, ... 'PLineVisible', 'on', 'PLineLocation', .025, ... 'MLineVisible', 'on', 'MlineLocation', .05); geoshow(overview, overviewR) axis off tightmap title({'Boston and Surrounding Region', 'Geographic Coordinates'})
Поскольку координаты изображения GeoTIFF находятся в спроектированной системе координат, используют mapshow
накладывать более подробное Бостонское изображение на отображение. Постройте контуры Бостонского изображения красного цвета.
mapshow(boston, R) plot(R.XWorldLimits([1 1 2 2 1]), R.YWorldLimits([1 2 2 1 1]), 'Color', 'red') title({'Boston and Surrounding Region', 'Geographic and Projected Coordinates'})
Масштабируйте в географическую область изображения GeoTIFF путем установления пределов осей к пределам Бостона, отображают и добавляют маленький буфер. Обратите внимание на то, что buffer size (delta
) выражается в метрах.
delta = 1000; xLimits = R.XWorldLimits + [-delta delta]; yLimits = R.YWorldLimits + [-delta delta]; xlim(ax,xLimits) ylim(ax,yLimits) setm(ax, 'Grid', 'off');
Можно наложить дорожные векторы на отображение карты. Используйте спецификацию символа, чтобы дать каждый класс дороги его собственный цвет.
roadColors = makesymbolspec('Line',... {'CLASS', 2, 'Color', 'k'}, ... {'CLASS', 3, 'Color', 'g'},... {'CLASS', 4, 'Color', 'magenta'}, ... {'CLASS', 5, 'Color', 'cyan'}, ... {'CLASS', 6, 'Color', 'b'},... {'Default', 'Color', 'k'}); mapshow(roads, 'SymbolSpec', roadColors) title({'Boston and Surrounding Region','Including Boston Roads'})
Можно также наложить данные из GPS, сохраненного в файле GPX. Импортируйте точку географические векторные данные из boston_placenames.gpx
файл включен с программным обеспечением Mapping Toolbox™. Файл содержит координаты широты и долготы географических функций точки в части Бостона, Массачусетса, США. Используйте gpxread
считать файл GPX и возвратить geopoint vector
.
placenames = gpxread('boston_placenames')
placenames = 13x1 geopoint vector with properties: Collection properties: Geometry: 'point' Metadata: [1x1 struct] Feature properties: Latitude: [1x13 double] Longitude: [1x13 double] Name: {1x13 cell} Description: {1x13 cell}
Наложите топонимы на карту и увеличьте размер маркера, измените маркеры в круги и установите их ребро и столкнитесь с цветами к желтому.
geoshow(placenames, 'Marker','o', 'MarkerSize', 6, ... 'MarkerEdgeColor', 'y', 'MarkerFaceColor','y') title({'Boston and Surrounding Region','Including Boston Roads and Placenames'})
Файлы boston.tif
и boston_ovr.jpg
включайте материалы, защищенные авторским правом GeoEye, все права защищены. GeoEye был объединен в корпорацию DigitalGlobe 29-го января 2013. Для получения дополнительной информации о наборах данных, используйте команды type boston.txt
и type boston_ovr.txt
.
Файлы boston_roads.shp
и boston_placenames.gpx
из Бюро Географической информации (MassGIS), Массачусетс, Исполнительного Office Технологии и Служб безопасности. Для получения дополнительной информации о наборах данных, используйте команды type boston_roads.txt
и type boston_placenames_gpx.txt
.