exponenta event banner

Проецирование и отображение растровых данных

Для проецирования или отмены проецирования регулярно разнесенных растровых данных, связанных с географическим объектом или объектом привязки карты, необходимо сначала создать координатную сетку, соответствующую размеру растра. Используйте различные функции создания сетки в зависимости от способа проецирования. При проецировании координат широты-долготы на координаты x-y создайте сетку с помощью geographicGrid функция. При распрое координат x-y до координат широты-долготы создайте сетку с помощью worldGrid функция.

После преобразования растровых данных их можно отобразить на карте с помощью функций визуализации, таких как mapshow и geoshow. Использовать mapshow для спроецированных координат x-y и geoshow для невыпущенных координат широты-долготы.

Растровые данные проекта

Для проецирования данных, связанных с объектом географической привязки растра, сначала создайте сетку координат широты-долготы для каждой точки растра. Затем спроецируйте географические координаты на координаты карты x-y.

Например, импорт растровых данных отметок в виде массива и объекта ссылки на географические ячейки. Получение координат широты-долготы для каждой точки растра с помощью geographicGrid функция.

[Z,R] = readgeoraster('n39_w106_3arc_v2.dt1');
[lat,lon] = geographicGrid(R);

Теперь, когда сетка имеется, выберите проекцию карты для использования при проецировании координат. Для этого примера создайте projcrs объект для зоны 13 УТМ в северном полушарии. Затем спроецируйте координаты широты-долготы на координаты x-y.

p = projcrs(32613);
[x,y] = projfwd(p,lat,lon);

Отображение проецируемого растра как поверхности путем вызова mapshow и задание координат x-y и массива отметок. Добавьте метки осей и примените карту цветов, соответствующую данным отметки.

figure
mapshow(x,y,Z,'DisplayType','surface')
xlabel('x (meters)')
ylabel('y (meters)')
demcmap(Z)

Figure contains an axes. The axes contains an object of type surface.

Если географическая CRS координат широты-долготы не соответствует географической CRS спроецированной CRS, то спроецированные координаты могут быть неточными. Вы можете найти географический CRS projcrs объект или объект географической растровой ссылки путем запроса их GeographicCRS свойства.

p.GeographicCRS.Name
ans = 
"WGS 84"
R.GeographicCRS.Name
ans = 
"WGS 84"

Файл DTED, используемый в этом примере, предоставлен Геологической службой США.

Распроект растровых данных

Чтобы отменить проецирование данных, связанных с объектом привязки растра карты, сначала создайте сетку координат x-y для каждой точки растра. Затем отмените проецирование координат карты x-y на географические координаты.

Например, импортируйте изображение Бостона в виде массива и ссылочного объекта ячеек карты. Получение информации о проекции карты в виде projcrs путем запроса ProjectedCRS свойства ссылочного объекта.

[Z,R] = readgeoraster('boston.tif');
p = R.ProjectedCRS;

Получение координат x-y для каждой точки растра с помощью worldGrid функция.

[x,y] = worldGrid(R);

Отмените проецирование координат x-y на координаты широты-долготы с помощью команды projinv и определение projcrs объект и координатная сетка.

[lat,lon] = projinv(p,x,y);

Отображение незапроектированного изображения путем вызова geoshow и задают координаты широты-долготы и массив изображений. По умолчанию geoshow отображает координаты с помощью проекции Карре (Plate Carre). Затем добавьте метки осей.

figure
geoshow(lat,lon,Z)
xlabel('Longitude (degrees)')
ylabel('Latitude (degrees)')

См. также

Функции

Объекты