Analizar ruta (ModelBuilder)

Resumen

Analiza una entrada para obtener su nombre de archivo, extensión, ruta y último nombre de espacio de trabajo. La salida puede usarse como variable en línea del nombre de salida de otras herramientas.

Más información acerca del funcionamiento de Analizar ruta en ModelBuilder

Uso

  • La herramienta está pensada para utilizarse solo en ModelBuilder y no en scripts de Python.

  • Es posible agregar más de un nombre de variable para crear nombres únicos para la salida, por ejemplo, C:\Temp\Out_%Name%_%Workspace Name%.

  • Si la entrada de la herramienta Analizar ruta es C:\1Tool Data\City Roads.shp, se analiza para generar la siguientes salidas:

    AnalizarResultado
    Ruta C:\1Tool Data
    NombreCity Roads
    Extensiónshp
    Nombre del espacio de trabajo1Tool Data

    Si se activa el parámetro Formatear nombre, extensión y espacio de trabajo, la ruta anterior se analiza para obtener las siguientes salidas:

    AnalizarResultado
    Ruta C:\1Tool Data
    NombreCity_Roads
    Extensiónshp
    Nombre del espacio de trabajo_1Tool_Data

  • La misma funcionalidad está disponible mediante scripts con el módulo os de Python. Por ejemplo, si entrega una variable de entrada:

    inData = r"C:\1Tool Data\City Roads.shp", entonces

    • Para obtener el nombre City Roads
      import os
      name = os.path.basename(inData)
    • Para obtener la ruta C:\1Tool Data
      import os path = os.path.dirname(inData)
    • Para obtener la extensión de archivo shp
      import os
      ext = os.path.splitext(inData)[1][1:]
    • Para obtener el nombre del espacio de trabajo 1Tool Data
      import os folder = os.path.basename(os.path.dirname(inData))

    Para analizar las rutas de forma similar a cuando se activa el parámetro Formatear nombre, extensión y espacio de trabajo:

    • Para obtener el nombre City_Roads
      import os
      import re
      name = os.path.basename(inData)
      name = re.sub('[^0-9a-zA-Z]+', '_', name)
      if name[0].isdigit():
          name = "_" + name
    • Para obtener la ruta C:\1Tool Data
      import os path = os.path.dirname(inData)
    • Para obtener la extensión de archivo shp
      import os
      ext = os.path.splitext(inData)[1][1:]
    • Para obtener el nombre del espacio de trabajo _1Tool_Data
      import os import re folder = os.path.basename(os.path.dirname(inData)) folder = re.sub('[^0-9a-zA-Z]+', '_', folder) if folder[0].isdigit():
          folder = "_" + folder

  • La salida Ruta de Analizar ruta tiene el tipo de datos de espacio de trabajo y se puede conectar directamente como entrada de la herramienta Crear clase de entidad en su parámetro Ubicación de clase de entidad, que acepta como entrada un tipo de datos de espacio de trabajo. Para herramientas, tales como Copiar, que no presentan ningún parámetro de tipo de datos de espacio de trabajo, el valor Ruta se puede entregar a la herramienta con la sustitución de variables en línea, por ejemplo, %Path%\Out_%Name%.%Extension%.

    Analizar ruta con la herramienta Crear clase de entidad

Sintaxis

ParsePathExt(in_data_element, {format})
ParámetroExplicaciónTipo de datos
in_data_element

Los valores de entrada que se analizarán.

Any Value
format
(Opcional)

Elimina todos los caracteres reservados. Dado un valor de entrada de C:\1Tool Data\InputFC.shp:

  • Ruta: la salida será la ruta de archivo, por ejemplo, C:\1Tool Data.
  • Nombre: la salida será el nombre de archivo, por ejemplo, InputFC.
  • Extensión: la salida será la extensión de archivo, por ejemplo, shp.
  • Nombre de espacio de trabajo: la salida será el nombre del espacio de trabajo, por ejemplo, _1Tool_Data.

Boolean

Salida derivada

NombreExplicaciónTipo de datos
path

El espacio de trabajo de la entrada.

Espacio de trabajo
name

El nombre de archivo, salvo la extensión.

Cadena
extension_type

La extensión de archivo.

Cadena
workspace_name

El nombre del espacio de trabajo.

Cadena

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí