¿Georreferenciación por lotes en ArcMap / ArcPy?

9

Tengo alrededor de 50 mapas pdf que me gustaría agrupar georeferenciar y / o georectificar. He guardado uno como jpg y lo he georreferenciado manualmente y me gustaría automatizar el resto que están en la misma ubicación y tienen la misma extensión.

ingrese la descripción de la imagen aquí

El gradiente de densidad cambiará en cada caso, pero el mapa (guardado como jpg ahora) tendrá la misma extensión para los 50 casos.

¿Alguien sabe de un enlace a un tutorial paso a paso que se ocupe solo del procesamiento por lotes en Arcmap 10.2? Estoy pensando en usar el código Warp from File o posiblemente la opción Autoregistration , pero no estoy seguro de por dónde empezar.

El código de muestra es:

import arcpy
arcpy.WarpFromFile_management(
"\\cpu\data\raster.img", "\\cpu\data\warp_out.tif",
"\\cpu\data\gcpfile.txt", "POLYORDER2", "BILINEAR")
Codesurfer
fuente
¿Ocupan el mismo espacio? ¿Son los archivos adyacentes entre sí?
¿Puede editar su pregunta para incluir un enlace al Wrap from File que menciona, por favor?
PolyGeo
Los archivos físicos se encuentran dentro de la misma carpeta. Los datos del mapa ocupan exactamente el mismo espacio en los 50 ejemplos.
Codesurfer

Respuestas:

15

En su caso (rásteres jpg y exactamente la misma extensión para todos los rásteres), la herramienta Deformar desde archivo está bien.

Si aún no ha guardado un archivo de enlace, debe hacer esto primero: Georreferenciar un ráster en ArcMap, haga clic en el botón Ver tabla de enlaces y guarde los enlaces en un archivo de texto con el botón Guardar:

Ver tabla de enlaces Entonces hay diferentes opciones:

  • Lote : puede usar la herramienta Deformar desde archivo en modo Lote haciendo clic con el botón derecho en la caja de herramientas:

Lote

  • arcpy : cambie las variables en el siguiente código y ejecútelo como desee. Simplemente lo copiaría / pegaría en la ventana de Python en 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 : puede iterar sobre los rásteres con el iterador de rásteres (Insertar> Iteradores> Rásteres). Use% Name% .png en la ruta de salida para obtener sus salidas nombradas de la misma manera que las entradas (o% Name% _suffix.png):

ingrese la descripción de la imagen aquí

GISGe
fuente
Gracias. Lo intentaré esta noche y lo actualizaré con los resultados.
Codesurfer