5 votos

Recorrer los espacios de trabajo en Modelbuilder no la ejecución de todas las herramientas

Tengo una carpeta que contiene un número de archivo de gdbs. Estos gdbs todos tienen la misma estructura, es decir, un dataset de entidad FD_1 y varias clases de entidad dentro del conjunto de datos (los dos que me interesa son FC1 y FC2). La característica de todas las clases tienen el mismo nombre dentro de la gdbs.

Quiero crear tablas a partir de las clases de entidad, por lo que mi modelo es el siguiente: Iterate Workspaces produce Workspace (la ruta de acceso de la actual gdb) y Name (el nombre actual de la gdb). El Copy Rows herramienta se utiliza para producir una tabla de FC1. La tabla de entrada se especifica mediante la sustitución de variables en línea

%Workspace%\FD_1\FC1

Como es la tabla de salida

%Output%\table1_%Name%.dbf

El problema es, Copy Rows proceso no se está ejecutando. El modelo simplemente itera a través de los gdbs y luego termina. Cuando reviso el Copy Rows ventana, se dice que la tabla de entrada no existe. Traté de configuración Workspace como Current Environment de uso de la herramienta, pero no cambió nada.

2voto

John Kramlich Puntos 286

Lo que están pidiendo se puede lograr en model builder, usted necesita para crear un sub-modelo. También su actual lógica de falla y cuando se termina la sobreescritura de todo. Puedo hablar de eso más tarde.

El escenario como el que usted describe es este:

Spoofed example

Por lo que su modelo de maestro sería este:

Master model with workspace iterator

El Sub modelo sería este:

Sub model

  • Recorrer Características debe tener recursiva marcado para llegar a la FeatureClasses en el FeatureDatasets
  • Copia de las filas en un IN_MEMORY área de trabajo, en este punto se le han puesto el nombre de la tabla
  • Utilice la Tabla de dBase herramienta para guardar tablas de dBase, esta herramienta resuelve problemas con los nombres de campo.

Su actual lógica simplemente sobrescribe la salida de mesas, por lo que necesita para darles un nombre único como lo son todos los mismos nombres en sus geodatabases. Usted puede lograr esto al copiar las filas para in_memory utilizando el nombre de la salida in_memory\%Nombre%_%nameFC%. Este concatena la geodatabase de la que vino con su FeatureClass nombre.

0voto

pat Puntos 86

Tratando de hacer la misma cosa, sin suerte. Los problemas parece ser la 'iteratate espacios de trabajo'--no funciona como era de esperar, se itera sobre cada carpeta en el directorio. El pensamiento es para cambiar el nombre de carpetas, y no mucho más.

Usted puede tratar de la construcción de la mayoría de sus prcessess en un modelo, y luego de ingresar al área de trabajo como un valor múltiple.

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