геоизменить размер

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

Синтаксис

[B,RB] = georesize(A,RA,scale)
[B,RB] = georesize(A,RA,latscale,lonscale)
[B,RB] = georesize(___,method)
[B,RB] = georesize(___,'Antialiasing',TF)

Описание

пример

[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 | логический

Информация о местоположении и степени растра, заданного как растровый объект ссылки. Чтобы преобразовать вектор ссылки или ссылку на матрицу в растровый объект ссылки, используйте 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