Gostaria de recortar um DEM usando uma grade de polígonos. Provavelmente é mais fácil usar vários polígonos em um arquivo de forma, mas eu não consegui fazer isso, então estou tentando usar um loop for para poder percorrer cada conjunto de dados em um gdb (cada um contém apenas um polígono).
Aqui está o meu código (fazendo isso na janela python).
#creating a workspace and a list of feature classes
arcpy.env.workspace = "C:/data/lidar/lidar.gdb"
fcs = arcpy.ListFeatureClasses()
#looping through each feature class and creating a raster based on the extent of
#feature class
for fc in fcs:
arcpy.Clip_management("perth", "#", "C:/data/lidar", fc, "", "ClippingGeometry")
Meu código não é executado no entanto, apenas fica lá, esperando por outra coisa ... mas o que? Posso fazê-lo funcionar para um clipe, mas não com o loop.
Tenho certeza de que deveria estar fazendo outra coisa pela saída, para nomear cada nova varredura por classe de recurso ou algo assim ... mas, novamente, não sei como. Informe-me se devo adicionar mais informações.
arcgis-desktop
arcpy
Rosie Bell
fonte
fonte
Respostas:
Uma coisa que noto é que seu terceiro parâmetro é uma saída codificada (C: / data / lidar). A maneira como ele é gravado agora percorre cada um dos seus recursos e sobrescreve a saída toda vez, mas como você pode não ter permitido a substituição automática de arquivos, isso pode ser um problema. Tente criar um nome de saída exclusivo para cada iteração:
Além disso, não tenho certeza de que você pretendia colocar as saídas na pasta C: / data chamada lidar ... observe que o terceiro parâmetro no clipe é o caminho completo da sua varredura de saída, não uma pasta na qual ela será colocada Se você não especificar uma extensão no nome do caminho de saída e colocá-las em uma pasta padrão, ela será uma grade; portanto, agora o seu programa está tentando criar um novo conjunto de dados da grade chamado 'lidar' no C: / pasta de dados.
fonte
para futuros candidatos: aqui está uma versão modificada do script da ferramenta de rasterização USGS que não requer nada acima do nível de licença do ArcGIS Basic (ArcView):
fonte
Algumas idéias:
Código fonte da ferramenta USGS Raster Split:
fonte