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

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

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

Иллюстрация

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

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

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

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

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

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

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

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