ArcMap / ArcPy'de Toplu Georeferencing?


9

Coğrafi referansı toplu olarak ve / veya coğrafi olarak düzeltmek istediğim yaklaşık 50 pdf haritam var. Bir jpg olarak kaydetti ve manuel olarak georeferenced ve aynı yerde ve aynı ölçüde olan gerisini otomatikleştirmek istiyorum.

resim açıklamasını buraya girin

Yoğunluk gradyanı her durumda değişecektir, ancak harita (şimdi jpg olarak kaydedilmiştir) 50 vakanın tümü için aynı ölçüde olacaktır.

Herkes sadece Arcmap 10.2'de toplu işleme ile ilgili adım adım bir öğreticiye bağlantı biliyor mu ? Çözgü'yi Dosya kodundan veya muhtemelen Otomatik Kayıt seçeneğini kullanmayı düşünüyorum , ancak nereden başlayacağınızdan emin değil misiniz?

Örnek kod:

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

Aynı alanı kaplıyorlar mı? Dosyalar birbirine bitişik mi?

Sorunuzu, belirttiğiniz Dosyadan Sarma koduna bir bağlantı içerecek şekilde düzenleyebilir misiniz?
PolyGeo

Fiziksel dosyalar aynı klasörde bulunur. Harita verileri, 50 örneğin tamamında aynı alanı kaplar.
Codesurfer

Yanıtlar:


15

Sizin durumunuzda (jpg rasterler ve tüm rasterler için aynı ölçüde) Dosyadan Çözgü aracı gayet iyi.

Bir bağlantı dosyasını henüz kaydetmediyseniz önce bunu yapmalısınız: ArcMap'te bir coğrafi raster coğrafi referansı, Bağlantı Tablosunu Görüntüle düğmesini tıklayın ve Kaydet düğmesini kullanarak bir metin dosyasına bağlantıları kaydedin:

Bağlantı Tablosunu Görüntüle Sonra farklı seçenekler var:

  • Toplu İş : Araç kutusunda sağ tıklatarak Toplu moddaki Dosyadan çözgü aracını kullanabilirsiniz:

yığın

  • arcpy : Aşağıdaki koddaki değişkenleri değiştirin ve istediğiniz şekilde çalıştırın. Sadece kopyala / ArcMap veya ArcCatalog'daki Python Penceresine yapıştır.
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 Iterator (Ekle> Yineleyiciler> Rasters) ile rasterleri yineleyebilirsiniz. Çıktılarınızı girdilerle aynı şekilde adlandırmak için çıktı yolunda% Name% .png kullanın (veya% Name% _suffix.png):

resim açıklamasını buraya girin


Teşekkür ederim. Bu akşam deneyeceğim ve sonuçları ile güncelleyeceğim.
Codesurfer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.