georesize

Измените размер географического растра

Описание

пример

[B,RB] = georesize(A,RA,scale) возвращает растр B это - scale времена размер растра A. RA географический объект растровой привязки, который задает местоположение и степень данных в A. georesize возвращает объект растровой привязки RB это сопоставлено с возвращенным растром B. По умолчанию, georesize кубичная интерполяция использования.

georesize сохраняет пределы растра. Если заданная шкала делится равномерно на количества ячеек в каждой размерности или количество выборок в каждой размерности минус 1, пределы выхода совпадают с входом. В противном случае, georesize настраивает выходные пределы частью степеней ячейки или демонстрационных значений интервала.

[B,RB] = georesize(A,RA,latscale,lonscale) возвращает растр B это - latscale времена размер A в столбце (между севером и югом) направление и lonscale времена размер A в строке направление (восток - запад).

[B,RB] = georesize(___,method) возвращает измененный растр где method задает метод интерполяции.

[B,RB] = georesize(___,'Antialiasing',TF) задает, выполнить ли сглаживание при уменьшении растра. Значение по умолчанию зависит от типа интерполяции. Для интерполяции ближайшего соседа значением по умолчанию является false. Для всех других методов интерполяции значением по умолчанию является true.

Примеры

свернуть все

В этом примере показано, как изменить размер маленького географического растра с помощью georesize функция. Пример также изменяет размер растра, задающего различные шкалы для каждой размерности.

Считайте растр в рабочую область

Считайте простой растр в рабочую область с ее связанным объектом растровой привязки.

[Z,R] = geotiffread('raster_sample2.tif')
Z = 2×2

     1     2
     3     4

R = 
  GeographicCellsReference with properties:

             LatitudeLimits: [-90 90]
            LongitudeLimits: [-180 180]
                 RasterSize: [2 2]
       RasterInterpretation: 'cells'
           ColumnsStartFrom: 'north'
              RowsStartFrom: 'west'
       CellExtentInLatitude: 90
      CellExtentInLongitude: 180
     RasterExtentInLatitude: 180
    RasterExtentInLongitude: 360
           XIntrinsicLimits: [0.5 2.5]
           YIntrinsicLimits: [0.5 2.5]
       CoordinateSystemType: 'geographic'
                  AngleUnit: 'degree'


Измените размер входного растра

Измените размер растра с помощью georesize функция. Как входные параметры, задайте входной растр и растровый объект привязки, сопоставленный с входным растром: Z и R. Кроме того, задайте желаемое значение шкалы. georesize умножает количество строк и столбцов входного растра значением шкалы. Наконец, пример также задает самый близкий соседний метод интерполяции. Функция возвращает измененный растр, Z2, и географический объект растровой привязки, R2, сопоставленный с выходным растром.

[Z2,R2] = georesize(Z,R,2,'nearest')
Z2 = 4×4

     1     1     2     2
     1     1     2     2
     3     3     4     4
     3     3     4     4

R2 = 
  GeographicCellsReference with properties:

             LatitudeLimits: [-90 90]
            LongitudeLimits: [-180 180]
                 RasterSize: [4 4]
       RasterInterpretation: 'cells'
           ColumnsStartFrom: 'north'
              RowsStartFrom: 'west'
       CellExtentInLatitude: 45
      CellExtentInLongitude: 90
     RasterExtentInLatitude: 180
    RasterExtentInLongitude: 360
           XIntrinsicLimits: [0.5 4.5]
           YIntrinsicLimits: [0.5 4.5]
       CoordinateSystemType: 'geographic'
                  AngleUnit: 'degree'


В объекте растровой привязки, сопоставленном с выходным растром, RasterSize поле обновляется, чтобы показать новый размер, 4 на 4. Кроме того, CellExtentInLatitude и CellExtentInLongitude поля обновили значения также. LatitudeLimits и LongitudeLimits поля остаются неизменными.

Задайте различную шкалу для каждого направления

Измените размер входного растра, задающего различные шкалы в между севером и югом направление (latscale) и направление восток - запад (lonscale).

[Z3,R3] = georesize(Z,R,3,2,'nearest')
Z3 = 6×4

     1     1     2     2
     1     1     2     2
     1     1     2     2
     3     3     4     4
     3     3     4     4
     3     3     4     4

R3 = 
  GeographicCellsReference with properties:

             LatitudeLimits: [-90 90]
            LongitudeLimits: [-180 180]
                 RasterSize: [6 4]
       RasterInterpretation: 'cells'
           ColumnsStartFrom: 'north'
              RowsStartFrom: 'west'
       CellExtentInLatitude: 30
      CellExtentInLongitude: 90
     RasterExtentInLatitude: 180
    RasterExtentInLongitude: 360
           XIntrinsicLimits: [0.5 4.5]
           YIntrinsicLimits: [0.5 6.5]
       CoordinateSystemType: 'geographic'
                  AngleUnit: 'degree'


В объекте растровой привязки, сопоставленном с выходным растром, RasterSize поле отражает новый размер.

Загрузите растровый набор данных, показывающий вертикальные изменения земли и батиметрию для области вокруг корейского полуострова в разрешении 12 ячеек на степень. Данные включают растровое изображение, korea5c, и связанный географический объект растровой привязки, korea5cR.

load korea5c

Просмотрите растровый набор данных, с помощью geoshow, определение связанного объекта растровой привязки.

geoshow(korea5c,korea5cR,'DisplayType','texturemap')

Измените размер растра, чтобы быть четвертью его первоначального размера.

[resizedKorea,resizedKoreaR] = georesize(korea5c,korea5cR,0.25);

Просмотрите измененный растр. Обратите внимание на то, что geoshow сохраняет исходные пределы карты в отображении так, чтобы на первый взгляд измененный растр, казалось, был одного размера с оригиналом. Более внимательное рассмотрение показывает, что размер пикселей в измененном растре больше, чем пиксели в оригинале.

figure
geoshow(resizedKorea,resizedKoreaR,'DisplayType','texturemap')

Входные параметры

свернуть все

Растр, который будет изменен, заданный как числовой или логический массив. Если A имеет больше чем две размерности, такой как с цветным растром в формате RGB, georesize только изменяет размер первых двух размерностей.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Информация о местоположении и степени растра, заданного как объект растровой привязки. Чтобы преобразовать вектор ссылки или матрицу привязки в объект растровой привязки, используйте refvecToGeoRasterReference или refmatToGeoRasterReference.

Объем изменения размеров, заданного в виде числа. Если scale находится в области значений [0 1]B меньше, чем A. Если scale больше 1, B больше, чем A.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Объем изменения размеров в между севером и югом направлении, заданном в виде числа. Если latscale находится в области значений [0 1]B меньше, чем A. Если latscale больше 1, B больше, чем A.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Объем изменения размеров в направлении восток - запад, заданном в виде числа. Если lonscale находится в области значений [0 1]B меньше, чем A. Если lonscale больше 1, B больше, чем A.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Метод интерполяции, заданный как одно из следующих значений:

ЗначениеОписание
'nearest'Самая близкая соседняя интерполяция
'bilinear'Билинейная интерполяция
'cubic'Кубичная интерполяция

Типы данных: char | string

Выходные аргументы

свернуть все

Измененный растр, возвращенный как числовой или логический массив.

Информация о местоположении и степени растра, возвращенного как географический объект растровой привязки.

Советы

  • Используйте georesize с растровыми данными в координатах широты и долготы. Работать со спроектированными растровыми данными, в x - и y - координаты, mapresize использования.

Смотрите также

| | |

Введенный в R2019a