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

Сводка

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

Иллюстрация

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

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

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

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

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

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

    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.

Синтаксис

arcpy.management.Warp(in_raster, source_control_points, target_control_points, out_raster, {transformation_type}, {resampling_type})
ParameterОбъяснениеТип данных
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 Ближайший сосед – самый быстрый метод пересчета, минимизирующий изменения значений пикселов, так как не создаётся никаких значений. Он подходит для дискретных данных, например, почвенно-растительного покрова.
  • 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: Да

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