Пакетна геореференція в ArcMap / ArcPy?


9

У мене є близько 50 файлів у форматі PDF, які я б хотів зібрати геореференцію та / або георектифікувати. Я зберег один як jpg і геореференгував його вручну, і хотів би автоматизувати решту, які знаходяться в одному місці та мають однаковий ступінь.

введіть тут опис зображення

Градієнт щільності змінюватиметься у кожному випадку, але карта (збережена як jpg зараз) матиме однаковий обсяг для всіх 50 випадків.

Хтось знає про посилання на покроковий підручник, який стосується лише пакетної обробки тільки в Arcmap 10.2? Я думаю використовувати код Warp from File або, можливо, параметр Autoregistration , але не знаю, з чого почати?

Зразок коду:

import arcpy
arcpy.WarpFromFile_management(
"\\cpu\data\raster.img", "\\cpu\data\warp_out.tif",
"\\cpu\data\gcpfile.txt", "POLYORDER2", "BILINEAR")

Вони займають однаковий простір? Чи суміжні файли один до одного?

Чи можете ви відредагувати своє запитання, включивши, будь ласка, посилання на Wrap from File file, який ви згадуєте?
PolyGeo

Фізичні файли розташовані в одній папці. Дані карти займають абсолютно однаковий простір для всіх 50 прикладів.
Codesurfer

Відповіді:


15

У вашому випадку (jpg растри та точно однакова міра для всіх растрових) інструмент Warp From File просто чудовий.

Якщо файл посилання ще не збережено, слід зробити це спочатку: Геореференція один растр у ArcMap, натисніть кнопку Переглянути таблицю посилань та збережіть посилання на текстовий файл за допомогою кнопки Зберегти:

Переглянути таблицю посилань Тоді є різні варіанти:

  • Пакетна : Ви можете використовувати інструмент Warp from file у пакетному режимі, клацнувши правою кнопкою миші на панелі інструментів:

Пакетна

  • arcpy : Змініть змінні у наведеному нижче коді та запустіть його так, як вам подобається. Я би просто скопіював / вставив його у вікно Python у ArcMap або ArcCatalog.
import arcpy, os

# Variables
arcpy.env.workspace = r"C:\InFolder"    # Folder with rasters to be georeferenced"
OutF = r"C:\OutFolder"                  # Output folder
Suf = "_georef"                         # Suffix added to the output (if necessary)
Ext = ".jpg"                            # Format of the output rasters
LinkFile = r"C:\linkfile.txt"           # Your link file
Transf = "POLYORDER0"                   # Transformation type - to choose from:
                                        #"POLYORDER0", "POLYORDER1", "POLYORDER2", "POLYORDER3", "ADJUST SPLINE" or "PROJECTIVE"
Resampl = "NEAREST"                     # Resampling type - to choose from:
                                        # "NEAREST", "BILINEAR", "CUBIC" or "MAJORITY"

# Process
ListRas = arcpy.ListRasters()
for ras in ListRas:
    basename = arcpy.Describe(ras).baseName
    outpath = os.path.join(OutF, basename + Suf + Ext)
    arcpy.WarpFromFile_management(ras, outpath, LinkFile, Transf, Resampl)
    print "Georeferenced {} successfully".format(basename)
  • ModelBuilder : ви можете перебирати растри за допомогою ітератора Rasters (Insert> Iterators> Rasters). Використовуйте% Name% .png у шляху виводу, щоб отримати свої вихідні дані так само, як входи (або% Name% _suffix.png):

введіть тут опис зображення


Дякую. Я спробую спробувати сьогодні ввечері, і оновлю результати.
Codesurfer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.