Georeferenziazione batch in ArcMap / ArcPy?


9

Ho circa 50 mappe pdf che vorrei georeferenziare in batch e / o georecificare. Ne ho salvato uno come jpg e lo ho georeferenziato manualmente e vorrei automatizzare gli altri che si trovano nella stessa posizione e hanno la stessa estensione.

inserisci qui la descrizione dell'immagine

Il gradiente di densità cambierà in ogni caso, ma la mappa (salvata come jpg ora) avrà la stessa estensione per tutti e 50 i casi.

Qualcuno sa di un link a tutorial passo-passo che si occupa dell'elaborazione batch solo in Arcmap 10.2? Sto pensando di usare il codice Warp from File o eventualmente l' opzione Autoregistration , ma non sei sicuro da dove cominciare?

Il codice di esempio è:

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

Occupano lo stesso spazio? I file sono vicini l'uno all'altro?

Puoi modificare la tua domanda in modo da includere un link al codice Wrap from File che menzioni, per favore?
PolyGeo

I file fisici si trovano nella stessa cartella. I dati della mappa occupano lo stesso spazio esatto in tutti e 50 gli esempi.
Codesurfer,

Risposte:


15

Nel tuo caso (raster jpg e identica misura per tutti i raster) lo strumento Warp From File va bene.

Se non hai ancora salvato un file di collegamento, dovresti prima farlo: Georeference un raster in ArcMap, fai clic sul pulsante Visualizza tabella dei collegamenti e salva i collegamenti in un file di testo usando il pulsante Salva:

Visualizza tabella dei collegamenti Quindi ci sono diverse opzioni:

  • Batch : è possibile utilizzare lo strumento Warp da file in modalità Batch facendo clic con il pulsante destro del mouse nella casella degli strumenti:

Lotto

  • arcpy : modifica le variabili nel seguente codice ed eseguilo nel modo che preferisci. Vorrei solo copiarlo / incollarlo nella finestra di Python in ArcMap o 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 : puoi scorrere le raster con l'Iteratore raster (Inserisci> Iteratori> Raster). Usa% Name% .png nel percorso di output per ottenere i tuoi output nominati allo stesso modo degli input (o% Name% _suffix.png):

inserisci qui la descrizione dell'immagine


Grazie. Lo proverò stasera e aggiornerò con i risultati.
Codesurfer
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.