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

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

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

Иллюстрация

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

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

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

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

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

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

    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.

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

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

  • Ближайший соседБудет использоваться метод Ближайшего соседа. Метод минимизирует изменения значений пикселов, пока не создаётся никаких новых значений, а также это самый быстрый метод пересчета. Он подходит для дискретных данных, например, почвенно-растительного покрова.
  • Билинейная интерполяцияБудет использоваться метод Билинейная интерполяция. Вычисляет значение каждого пиксела как среднее (взвешенное в зависимости от расстояния) значение четырех соседних пикселов. Подходит для непрерывных данных.
  • Кубическая сверткаБудет использоваться метод Кубическая свертка. Вычисляет значение каждого пиксела как аппроксимацию по сглаженной кривой на основе окружающих 16 пикселов. Создает сглаженное изображение, но могут быть созданы значения, не входящие во множество значений исходных данных. Подходит для непрерывных данных.
  • Пересчет по методу большинстваБудет использоваться пересчет по методу большинства. Он определяет значение каждого пиксела на основе наиболее распространенного значения в пределах окна 4 на 4. Подходит для дискретных данных.
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Будет использоваться метод Билинейная интерполяция. Вычисляет значение каждого пиксела как среднее (взвешенное в зависимости от расстояния) значение четырех соседних пикселов. Подходит для непрерывных данных.
  • CUBICБудет использоваться метод Кубическая свертка. Вычисляет значение каждого пиксела как аппроксимацию по сглаженной кривой на основе окружающих 16 пикселов. Создает сглаженное изображение, но могут быть созданы значения, не входящие во множество значений исходных данных. Подходит для непрерывных данных.
  • MAJORITYБудет использоваться пересчет по методу большинства. Он определяет значение каждого пиксела на основе наиболее распространенного значения в пределах окна 4 на 4. Подходит для дискретных данных.

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

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

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: Да

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