mapresize

Измените размер спроектированного растра

Синтаксис

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

Описание

пример

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

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

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

Примеры

свернуть все

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

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

     1     2
     3     4

R = 
  MapCellsReference with properties:

            XWorldLimits: [200000 300000]
            YWorldLimits: [200000 300000]
              RasterSize: [2 2]
    RasterInterpretation: 'cells'
        ColumnsStartFrom: 'north'
           RowsStartFrom: 'west'
      CellExtentInWorldX: 50000
      CellExtentInWorldY: 50000
    RasterExtentInWorldX: 100000
    RasterExtentInWorldY: 100000
        XIntrinsicLimits: [0.5 2.5]
        YIntrinsicLimits: [0.5 2.5]
      TransformationType: 'rectilinear'
    CoordinateSystemType: 'planar'


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

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

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

R2 = 
  MapCellsReference with properties:

            XWorldLimits: [200000 300000]
            YWorldLimits: [200000 300000]
              RasterSize: [4 4]
    RasterInterpretation: 'cells'
        ColumnsStartFrom: 'north'
           RowsStartFrom: 'west'
      CellExtentInWorldX: 25000
      CellExtentInWorldY: 25000
    RasterExtentInWorldX: 100000
    RasterExtentInWorldY: 100000
        XIntrinsicLimits: [0.5 4.5]
        YIntrinsicLimits: [0.5 4.5]
      TransformationType: 'rectilinear'
    CoordinateSystemType: 'planar'


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

Этот пример показывает, как изменить размер спроектированного растрового набора данных.

Считайте спроектированный растровый набор данных в рабочую область.

[boston, R] = geotiffread('boston.tif');

Отобразите растр с mapshow.

mapshow(boston,R)

Измените размер спроектированного растрового набора данных. В данном примере уменьшайте растр до одной шестнадцатой его первоначальный размер.

[resizedBoston, resizedR] = mapresize(boston,R,1/16);

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

figure
mapshow(resizedBoston, resizedR)

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

свернуть все

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

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

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

Пример: 0.5

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

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

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

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

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

свернуть все

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

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

Советы

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

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

| | |

Введенный в R2019a