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

Уровень лицензии:BasicStandardAdvanced

Резюме

Трансформирует растр на основании опорных точек, используя метод полиномов. Действует сходно с пространственной привязкой, используя текстовый файл.

Рисунок

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

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

Синтаксис

Warp_management (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

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

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

  • .bil – Esri BIL
  • .bip – Esri BIP
  • .bmp – BMP
  • .bsq – Esri BSQ
  • .dat – ENVI DAT
  • .gif – GIF
  • .img – ERDAS IMAGINE
  • .jpg – JPEG
  • .jp2 – JPEG 2000
  • .png – PNG
  • .tif – TIFF
  • нет расширения для Esri Grid

При сохранении набора растровых данных в базе геоданных расширение файла к имени набора растровых данных добавлять не нужно.

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

Raster Dataset
transformation_type
(дополнительно)

Тип преобразования, который будет использован.

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

Метод изменения разрешения растра. По умолчанию устанавливается метод ближайшего соседа (NEAREST).

  • Ближайший (NEAREST)Присвоение значений по методу Ближайший сосед
  • Билинейный (BILINEAR)Билинейная интерполяция
  • Кубический (CUBIC)Кубическая свертка
  • Большинство (MAJORITY)Пересчет пикселов по методу большинства

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

Для непрерывных данных больше подходят методы Билинейной интерполяции (BILINEAR) и Кубической свертки (CUBIC). Которые в свою очередь не рекомендуется применять к данным категорий, т.к. в результате могут быть добавлены новые значения ячеек, не встречающиеся в исходных значениях ячеек растра.

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}
    
    
try:
    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 = outpnts = "'246207 3820084';'270620 3824967';'302634 3816147'"
    
    arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER2",\
                          "BILINEAR")
    
except:
    print "Warp example failed."
    print arcpy.GetMessages()

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Да
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/10/2013