2 votos

¿Cambiar el nombre de las salidas con el ModelBuilder iterativo?

Mi modelo está pensado para crear conjuntos de datos en mosaico dentro de un gdb. Utilizo la función "For" y la establezco en 6. La salida crea correctamente 6 conjuntos de datos en mosaico, cada uno con el prefijo T.

Me gustaría que estos tuvieran un nombre diferente, agarrando el nombre del gdb y luego _# (así G_057329641020_01_1, G_057329641020_01_2, etc.). ¿Cómo puedo añadir la función de renombrar?

enter image description here

1voto

Creo que entiendo lo que está preguntando. Si lo que quieres es añadir el nombre de un GDB automáticamente, debes querer hacer un bucle sobre un montón de ellos, de lo contrario simplemente colocarías manualmente el nombre del GDB en el archivo name....

Ahora sólo puedo pensar en código, prueba a abrir IDLE y ejecutar lo siguiente:

import arcpy, os

location = r'c:\temp'

#Create Mosaic Dataset Parameters:
in_workspace = r'c:\temp\x.gdb'
coordinates = 'NAD_1983_UTM_Zone_11N'
num_bands = ''
pixel_type = ''
product_definition = ''
product_band_definitions = ''

number_of_loops = 6

for (dirpath, _, filenames) in os.walk(location):
    if dirpath.endswith('.gdb'):
        x = len(dirpath.split('\\'))
        dataset_name = (dirpath.split('\\')[x-1]).replace('.gdb','')
    while number_of_loops > 0:
        arcpy.CreateMosaicDataset_management(in_workspace, dataset_name + str(number_of_loops), coordinates, num_bands, pixel_type, product_definition, product_band_definitions)
        number_of_loops -= 1

1voto

mehturt Puntos 13

Hay un proceso de 2 pasos que podría hacer para obtener el nombre de salida "filegdbname_mosaic_dataset_number" es decir "G_057329641020_01_1"

Paso 1: Utilice la herramienta Parse Path model only para obtener el nombre del archivo gdb. Asegúrese de establecer "Nombre" como el Tipo de parse.

enter image description here

Paso 2: Este paso ya lo ha realizado parcialmente, ya que ha utilizado el "Para" para generar un valor numérico como salida del iterador. (He cambiado el nombre de la salida de la herramienta a continuación de "Valor" a "Iteración" para evitar la confusión con la imagen anterior)

enter image description here

Como nombre de salida para su conjunto de datos de mosaico, ahora puede utilizar Sustitución de variables en línea para crear el nombre de salida.

Utilizando mis 2 imágenes anteriores, mi nombre de salida sería %Valor%_%Iteración% Esto me daría nombres de salida de:

Puntos de muestra_1

Puntos de muestra_2

Puntos de muestra_3

etc...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X