Пакетна геореференція в 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.