Georeferensi Batch di ArcMap / ArcPy?

9

Saya memiliki sekitar 50 peta pdf yang ingin saya batch georeference dan / atau georectify. Saya telah menyimpan satu sebagai jpg dan melakukan georeferensi secara manual dan ingin mengotomatiskan sisanya yang berada di lokasi yang sama dan memiliki tingkat yang sama.

masukkan deskripsi gambar di sini

Gradien kepadatan akan berubah di setiap kasus, tetapi peta (disimpan sebagai jpg sekarang) akan memiliki tingkat yang sama untuk semua 50 kasus.

Adakah yang tahu tentang tautan ke tutorial langkah demi langkah yang berhubungan dengan pemrosesan batch di Arcmap 10.2 saja? Saya sedang berpikir untuk menggunakan Warp dari kode File atau mungkin opsi Autoregistration , tetapi saya tidak yakin harus mulai dari mana?

Kode sampel adalah:

import arcpy
arcpy.WarpFromFile_management(
"\\cpu\data\raster.img", "\\cpu\data\warp_out.tif",
"\\cpu\data\gcpfile.txt", "POLYORDER2", "BILINEAR")
Pembuat kode
sumber
Apakah mereka menempati ruang yang sama? Apakah file berdekatan satu sama lain?
Bisakah Anda mengedit pertanyaan Anda untuk menyertakan tautan ke Wrap from File code yang Anda sebutkan?
PolyGeo
File fisik terletak di dalam folder yang sama. Data peta menempati ruang yang sama persis di seluruh 50 contoh.
Codesurfer

Jawaban:

15

Dalam kasus Anda (rpg jpg dan tingkat yang sama persis untuk semua raster) alat Warp From File baik-baik saja.

Jika Anda belum menyimpan file tautan, Anda harus melakukan ini terlebih dahulu: Georeferensi satu raster di ArcMap, klik tombol Lihat Tabel Tautan dan simpan tautan ke file teks menggunakan tombol Simpan:

Lihat Tabel Tautan Lalu ada beberapa pilihan:

  • Batch : Anda dapat menggunakan alat Warp from file dalam mode Batch dengan mengklik kanan di toolbox:

Batch

  • arcpy : Ubah variabel dalam kode berikut dan jalankan sesuka Anda. Saya hanya akan menyalin / menempelkannya di Jendela Python di ArcMap atau 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 : Anda dapat mengulangi raster dengan Raster Iterator (Insert> Iterators> Raster). Gunakan% Name% .png di jalur output untuk membuat output Anda dinamai dengan cara yang sama dengan input (atau% Name% _suffix.png):

masukkan deskripsi gambar di sini

GISGe
sumber
Terima kasih. Saya akan mencobanya malam ini dan akan memperbarui dengan hasilnya.
Codesurfer