Трансформировать (Управление данными)

Краткая информация

Трансформирует набор растровых данных с помощью исходных и целевых опорных точек. Принцип работы инструмента схож с принципом пространственной привязки.

Иллюстрация

Пример двумерного преобразования координат

Использование

  • Необходимо указать исходные и целевые координаты. Выбор типа преобразования (порядка полиномов) зависит от количества введенных контрольных точек.

  • Порядок полиномов по умолчанию выполнит аффинное преобразование.

  • Инструмент Трансформировать применяется, когда растр запрашивает систематическую геометрическую коррекцию, которая может быть смоделирована с полиномом. Пространственное преобразование может инвертировать или удалять искажения с помощью преобразования полиномов в надлежащем порядке. Чем выше порядок, тем более сложные искажения могут быть скорректированы. Более высоким порядкам многочлена будет требоваться все большее время обработки.

  • Чтобы определить минимальное число связей, необходимых для данного порядка многочлена, используйте следующую формулу:

    n = (p + 1) (p + 2) / 2

    , где n – минимальное количество связей, необходимое для преобразования порядка полиномов p. Рекомендуется использование количества связей, превышающее минимальное значение.

  • Этот инструмент определяет экстент трансформируемого растра и устанавливает почти такое же число строк и столбцов, как у входного растра. Из-за изменивших пропорций между размерами растров могут возникнуть небольшие изменения. Используемый размер ячейки по умолчанию будет вычислен путем деления экстента на предварительно указанное число строк и столбцов. Значение размера ячейки будет использоваться алгоритмом пересчета.

  • При определении размера выходной ячейки в Параметрах среды количество строк и столбцов вычисляется следующим образом:

    columns = (xmax - xmin) / cell size rows = (ymax - ymin) / cell size
  • Вы можете сохранить выходные данные в формат BIL, BIP, BMP, BSQ, DAT, Esri Grid, GIF, IMG, JPEG, JPEG 2000, PNG, TIFF, MRF, CRF или набор растровых данных любой базы геоданных.

  • При хранении набора растровых данных в файле JPEG файле JPEG 2000 или базе геоданных, вы можете указать Тип сжатия и Качество сжатия в Параметрах среды.

  • Этот инструмент поддерживает многомерные растровые данные. Чтобы запустить инструмент для обработка каждого среза в многомерном растре и сгенерировать многомерные растровые выходные данные, убедитесь, что выходные данные сохранены в формате CRF.

    К поддерживаемым типам наборов данных многомерных растров относятся: многомерный растровый слой, набор данных мозаики, сервис изображений и CRF.

Параметры

ПодписьОписаниеТип данных
Входной растр

Растр, который будет преобразован.

Mosaic Layer; Raster Layer
Исходные опорные точки

Координаты трансформируемого растра.

Point
Целевые опорные точки

Система координат, в которую будет трансформирован исходный растр.

Point
Выходной набор растровых данных

Имя, местоположение и формат создаваемого набора данных. При сохранении набора растровых данных в базе геоданных расширение файла к имени набора растровых данных добавлять не нужно. При хранении набора растровых данных в файлах JPEG, JPEG 2000, TIFF или в базе геоданных, вы можете указать тип и качество сжатия.

При сохранении набора растровых данных в формате файла, вы должны указать соответствующее расширение:

  • .bilEsri BIL
  • .bipEsri BIP
  • .bmp—BMP
  • .bsqEsri BSQ
  • .dat—ENVI DAT
  • .gif—GIF
  • .img—ERDAS IMAGINE
  • .jpg—JPEG
  • .jp2—JPEG 2000
  • .png—PNG
  • .tif—TIFF
  • .mrf—MRF
  • .crf—CRF
  • Нет расширения для Esri Grid
Raster Dataset
Тип преобразования
(Дополнительный)

Задает метод смещения набора растровых данных.

  • Только сдвигВ этом методе для смещения данных используется полином нулевого порядка. Это часто используется в ситуации, когда ваши данные уже имеют пространственную привязку, но небольшой сдвиг лучше выровняет ваши данные. Для выполнения смещения ваших данных методом полинома нулевого порядка необходима только одна связь.
  • Аффинное преобразованиеПолином первого порядка (аффиный) вписывает плоскость во входные точки.
  • Трансформирование с использованием многочлена второй степениПолином второго порядка вписывает несколько более сложную поверхность во входные точки.
  • Трансформирование с использованием многочлена третьей степениПолином третьего порядка вписывает более сложную поверхность во входные точки.
  • Оптимизация глобальной и локальной точностиЭтот метод совмещает методы полиномиальной трансформации с методами интерполяции TIN (нерегулярной триангуляционной сети), оптимизируя глобальную и локальную точности.
  • Трансформация методом СплайнаЭтот метод трансформирует исходные опорные точки в целевые опорные точки. В выходных данных опорные точки будут точно поставлены на место, а пикселы растра между ними нет.
  • Проективное преобразованиеЭтот метод искажают линии так, что они остаются прямыми. При этом линии, которые были параллельными, могут оказаться непараллельными. Проективное преобразование особенно полезно для снимков с перспективой, сканированных карт и для некоторых продуктов изображений.
  • Преобразование подобияЭто трансформация первого порядка, при которой делаются попытки сохранить форму исходного растра. Среднеквадратичная ошибка имеет тенденцию к возрастанию, по сравнению с другими полиномными трансформациями, поскольку сохранение формы является более приоритетным, чем точная подгонка.
String
Методы изменения разрешения
(Дополнительный)

Будет применен алгоритм изменения разрешения растра. По умолчанию Nearest.

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

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

  • Ближайшего соседаБлижайший сосед – самый быстрый метод пересчета, минимизирующий изменения значений пикселов, так как не создаётся никаких значений. Он подходит для дискретных данных, например, почвенно-растительного покрова.
  • Билинейная интерполяцияБилинейная интерполяция вычисляет значение каждого пиксела как среднее (взвешенное в зависимости от расстояния) значение 4 соседних пикселов. Подходит для непрерывных данных.
  • Кубическая сверткаКубическая свертка вычисляет значение каждого пиксела как аппроксимацию по сглаженной кривой на основе окружающих 16 пикселов. Создает сглаженное изображение, но могут быть созданы значения, не входящие во множество значений исходных данных. Подходит для непрерывных данных.
  • Пересчет пикселов по методу большинстваПересчет по методу большинства определяет значение каждого пиксела на основе наиболее распространенного значения в пределах окна 3 на 3. Подходит для дискретных данных.
String

arcpy.management.Warp(in_raster, source_control_points, target_control_points, out_raster, {transformation_type}, {resampling_type})
ИмяОписаниеТип данных
in_raster

Растр, который будет преобразован.

Mosaic Layer; Raster Layer
source_control_points
[source_control_point,...]

Координаты трансформируемого растра.

Point
target_control_points
[target_control_point,...]

Система координат, в которую будет трансформирован исходный растр.

Point
out_raster

Имя, местоположение и формат создаваемого набора данных. При сохранении набора растровых данных в базе геоданных расширение файла к имени набора растровых данных добавлять не нужно. При хранении набора растровых данных в файлах JPEG, JPEG 2000, TIFF или в базе геоданных, вы можете указать тип и качество сжатия.

При сохранении набора растровых данных в формате файла, вы должны указать соответствующее расширение:

  • .bilEsri BIL
  • .bipEsri BIP
  • .bmp—BMP
  • .bsqEsri BSQ
  • .dat—ENVI DAT
  • .gif—GIF
  • .img—ERDAS IMAGINE
  • .jpg—JPEG
  • .jp2—JPEG 2000
  • .png—PNG
  • .tif—TIFF
  • .mrf—MRF
  • .crf—CRF
  • Нет расширения для Esri Grid
Raster Dataset
transformation_type
(Дополнительный)

Задает метод смещения набора растровых данных.

  • POLYORDER0В этом методе для смещения данных используется полином нулевого порядка. Это часто используется в ситуации, когда ваши данные уже имеют пространственную привязку, но небольшой сдвиг лучше выровняет ваши данные. Для выполнения смещения ваших данных методом полинома нулевого порядка необходима только одна связь.
  • POLYSIMILARITYЭто трансформация первого порядка, при которой делаются попытки сохранить форму исходного растра. Среднеквадратичная ошибка имеет тенденцию к возрастанию, по сравнению с другими полиномными трансформациями, поскольку сохранение формы является более приоритетным, чем точная подгонка.
  • POLYORDER1Полином первого порядка (аффиный) вписывает плоскость во входные точки.
  • POLYORDER2Полином второго порядка вписывает несколько более сложную поверхность во входные точки.
  • POLYORDER3Полином третьего порядка вписывает более сложную поверхность во входные точки.
  • ADJUSTЭтот метод совмещает методы полиномиальной трансформации с методами интерполяции TIN (нерегулярной триангуляционной сети), оптимизируя глобальную и локальную точности.
  • SPLINEЭтот метод трансформирует исходные опорные точки в целевые опорные точки. В выходных данных опорные точки будут точно поставлены на место, а пикселы растра между ними нет.
  • PROJECTIVEЭтот метод искажают линии так, что они остаются прямыми. При этом линии, которые были параллельными, могут оказаться непараллельными. Проективное преобразование особенно полезно для снимков с перспективой, сканированных карт и для некоторых продуктов изображений.
String
resampling_type
(Дополнительный)

Будет применен алгоритм изменения разрешения растра. По умолчанию Nearest.

  • NEARESTБлижайший сосед – самый быстрый метод пересчета, минимизирующий изменения значений пикселов, так как не создаётся никаких значений. Он подходит для дискретных данных, например, почвенно-растительного покрова.
  • BILINEARБилинейная интерполяция вычисляет значение каждого пиксела как среднее (взвешенное в зависимости от расстояния) значение 4 соседних пикселов. Подходит для непрерывных данных.
  • CUBICКубическая свертка вычисляет значение каждого пиксела как аппроксимацию по сглаженной кривой на основе окружающих 16 пикселов. Создает сглаженное изображение, но могут быть созданы значения, не входящие во множество значений исходных данных. Подходит для непрерывных данных.
  • MAJORITYПересчет по методу большинства определяет значение каждого пиксела на основе наиболее распространенного значения в пределах окна 3 на 3. Подходит для дискретных данных.

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

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

String

Пример кода

Warp, пример 1 (окно Python)

Пример скрипта Python для инструмента Warp.

import arcpy
from arcpy import env
env.workspace = "c:/data"
source_pnt = "'234718 3804287';'241037 3804297';'244193 3801275'"
target_pnt = "'246207 3820084';'270620 3824967';'302634 3816147'"
arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER1",\
                          "BILINEAR")
Warp, пример 2 (автономный скрипт)

Это пример скрипта Python для инструмента Warp.

##====================================
##Warp
##Usage: Warp_management in_raster source_control_points;source_control_points... 
##                       target_control_points;target_control_points... out_raster
##                       {POLYORDER_ZERO | POLYORDER1 | POLYORDER2 | POLYORDER3 | 
##                       ADJUST | SPLINE | PROJECTIVE} {NEAREST | BILINEAR | 
##                       CUBIC | MAJORITY}
    

import arcpy

arcpy.env.workspace = r"C:/Workspace"

##Warp a TIFF raster dataset with control points
##Define source control points
source_pnt = "'234718 3804287';'241037 3804297';'244193 3801275'"

##Define target control points
target_pnt = "'246207 3820084';'270620 3824967';'302634 3816147'"

arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER2",\
                      "BILINEAR")

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы