Georreferenciamento em lote no ArcMap / ArcPy?


9

Eu tenho cerca de 50 mapas em pdf que gostaria de georreferenciar em lote e / ou georretificar. Salvei um como jpg e o georeferenciei manualmente e gostaria de automatizar os demais que estão no mesmo local e têm a mesma extensão.

insira a descrição da imagem aqui

O gradiente de densidade mudará em cada caso, mas o mapa (salvo como jpg agora) terá a mesma extensão para todos os 50 casos.

Alguém conhece um link para um tutorial passo a passo que lida apenas com o processamento em lote no Arcmap 10.2? Estou pensando em usar o código Warp from File ou, possivelmente, a opção Autoregistration , mas não sei por onde começar?

O código de exemplo é:

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

Eles ocupam o mesmo espaço? Os arquivos estão adjacentes?

Você pode editar sua pergunta para incluir um link para o código Wrap from File mencionado, por favor?
PolyGeo

Os arquivos físicos estão localizados na mesma pasta. Os dados do mapa ocupam exatamente o mesmo espaço em todos os 50 exemplos.
Codesurfer

Respostas:


15

No seu caso (jpg rasters e exatamente a mesma extensão para todos os rasters), a ferramenta Warp From File está ótima.

Se você ainda não salvou um arquivo de link, faça o seguinte: Georreferenciar uma varredura no ArcMap, clique no botão Exibir Tabela de Link e salve os links em um arquivo de texto usando o botão Salvar:

Exibir tabela de links Depois, existem diferentes opções:

  • Lote : você pode usar a ferramenta Warp from file no modo Lote clicando com o botão direito do mouse na caixa de ferramentas:

Lote

  • arcpy : Altere as variáveis ​​no código a seguir e execute-o da maneira que desejar. Gostaria apenas de copiar / colar na janela Python no ArcMap ou 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 : você pode iterar sobre os rasters com o Iterador de Rasters (Inserir> Iteradores> Rasters). Use% Name% .png no caminho de saída para obter suas saídas nomeadas da mesma maneira que as entradas (ou% Name% _suffix.png):

insira a descrição da imagem aqui


Obrigado. Vou tentar esta noite e atualizo com os resultados.
Codesurfer
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.