Crear tareas para el entorno UNIX/Linux

ArcGIS Server puede ejecutar herramientas de geoprocesamiento que residan en cajas de herramientas ubicadas en un equipo UNIX/Linux, y las herramientas pueden hacer referencia a datos que se encuentren en equipos UNIX/Linux. Sin embargo, sólo puede crear herramientas en ArcGIS Desktop, que sólo se ejecuta en Windows. Esto significa que debe copiar las cajas de herramientas y los documentos de mapa en el equipo UNIX/Linux después de crearlos en Windows. Estos recursos se pueden publicar en ArcGIS Server.

Crear herramientas para UNIX/Linux

El problema principal de crear herramientas para UNIX/Linux son las rutas. Windows utiliza la convención de la letra de la unidad (D:\, por ejemplo) para los discos locales y la convención UNC para los recursos en la LAN (\\<host>\<directorio>, por ejemplo). UNIX/Linux utiliza la convención de barra diagonal de /<host>/<directorio> para las rutas. Cuando crea y prueba las herramientas, lo hace en Windows, por lo tanto todas las rutas están utilizando la convención de Windows. Antes de mover las herramientas a UNIX/Linux, debe elegir un método que permita que las rutas de Windows se conviertan en rutas UNIX/Linux. Hay varias maneras de hacer esto:

Utilizar rutas relativas a los datos

El enfoque más sencillo es utilizar la estructura de carpetas Toolshare para almacenar todos los datos utilizados por las herramientas. Después, establezca las propiedades de los documentos de mapa, herramientas de modelo y herramientas de secuencia de comandos para almacenar las rutas relativa. A continuación copie la carpeta toolshare en la plataforma UNIX/Linux y publique el servicio mediante el Administrador de ArcGIS Server. Cuando se ejecuten las tareas en el servicio, éstas encontrarán todos los datos relativos a la carpeta toolshare.

Utilizar capas de ArcMap

Con esta técnica, publica un documento de ArcMap que contiene las capas de herramienta. El modelo y las herramientas de secuencia de comandos utilizan capas y tablas en la tabla de contenido de ArcMap. Después realice lo siguiente antes de copiar el documento de mapa y las cajas de herramientas en UNIX/Linux:

  1. Abra el documento de ArcMap y deshabilite la opción para almacenar las rutas relativas en las fuentes de datos:
    1. En ArcMap, haga clic en el menú Archivo > Propiedades del documento de mapa.
    2. En el cuadro de diálogo de propiedades asegúrese de que la casilla Almacenar nombres de rutas relativas a la fuentes de datos no esté marcada.
    3. Haga clic en Aceptar para guardar las propiedades, después guarde el documento de mapa y salga.
  2. En la ventana Catálogo, haga clic con el botón derecho del ratón en el documento de mapa y haga clic en Establecer fuentes de datos.
  3. En el cuadro de diálogo Establecer fuentes de datos, proporcione la ruta UNIX/Linux a todas las capas, incluidas las subcapas de las capas de herramienta. (Sólo es necesario cambiar las subcapas de herramienta si está utilizando un servicio de mapas de resultado).
  4. Después de establecer las rutas, cierre el cuadro de diálogo y copie el documento de mapa y las cajas de herramientas en el equipo UNIX/Linux.
  5. Publique el servicio al publicar el documento de mapa que contiene las capas de herramienta, no la caja de herramientas.

Dejar que ArcGIS Server convierta las rutas UNC de Windows

Cuando se ejecuta un servicio de geoprocesamiento en UNIX/Linux, todas la rutas UNC de Windows (\\host\) se convierten a la convención UNIX/Linux (/host/). Las rutas locales de Windows (D:\) no se convertirán.

Esto significa que puede instalar el disco UNIX/Linux (/host/) en su equipo Windows y hacer referencia a los datos en el disco instalado mediante la ruta UNC de Windows (\\host\). Después puede copiar los documentos y las cajas de herramientas en el equipo UNIX/Linux y publicarlos.

Utilizar una combinación de estas técnicas

Puede utilizar una combinación de estas técnicas. Por ejemplo, puede almacenar algunos de los datos en función de la caja de herramientas y las herramientas pueden utilizar rutas relativas. Para el subconjunto de datos que no almacenó en función de la caja de herramientas, puede utilizar las capas en el documento de ArcMap que hacen referencia a los datos y convierten la ruta antes de copiarlos.

Limitaciones conocidas en el entorno UNIX/Linux

Aunque el punto más importante es convertir las rutas, hay dos problemas adicionales específicos de los servicios que se ejecutan en UNIX/Linux: el límite de 100 caracteres y los nombres de datasets en minúsculas. Los dos se describen a continuación.

Límite de 100 caracteres para las GRID y las rutas de coberturas

Hay dos formatos de datos que tienen restricciones en la cantidad de caracteres de la ruta:

  • GRID (formato de ráster nativo de Esri)
  • Coberturas (entidades de estación de trabajo ArcInfo)

La longitud total de una ruta de GRID o cobertura no puede exceder los 100 caracteres. Debido a que los datos intermedios y de salida se escriben en el espacio de trabajo temporal, la cantidad total de caracteres en el espacio de trabajo temporal no puede exceder los 100.

A continuación se muestra un ejemplo del contenido de %scratchworkspace%:

/disk/arcgisserver/arcgisjobs/drivetimepolygonsservice_gpserver/ jc01a0ddb3dc94455b8eb6629cf421798/scratch/

Parte de la ruta

Cantidad de caracteres

Descripción

/disk/arcgisserver/arcgisjobs/

30

Directorio de trabajos. Debido a que usted o su administrador establece el directorio de trabajos, usted controla la cantidad de caracteres.

drivetimepolygonsservice_gpserver/

34

Nombre del servicio (_gpserver está automáticamente adjunto con ArcGIS Server). Debido a que usted nombró el servicio, usted controla la cantidad de caracteres.

<nombre de carpeta>

Cuando publica un servicio, puede diseñar un nombre de carpeta. El nombre de esta carpeta aparecería aquí. Usted controla la cantidad de caracteres del nombre de la carpeta.

jc01a0ddb3dc94455b8eb6629cf421798/scratch/

42

Id. del trabajo único más la carpeta de trabajo temporal. Está definido por ArcGIS y usted no lo puede controlar.

TOTAL

106

Cantidad de caracteres en la ruta del espacio de trabajo temporal

En la tabla anterior, la ruta hacia el espacio de trabajo temporal es de 106 caracteres, lo que excede el límite de caracteres de 100. Deberá reducir esto 6 caracteres. En el ejemplo anterior, la reducción más fácil es cambiar el nombre del servicio desde drivetimepolygonsservice a algo más corto, como dtpolys.

Más información acerca del directorio de trabajos

Nombres de datasets en minúsculas

Las GRID y coberturas deben tener nombres en minúscula en UNIX/Linux. Aunque estos son los únicos dos datasets que requieren nombres en minúsculas, debería establecer la costumbre de utilizar nombres en minúsculas para todos los datasets, incluidos los nombres de directorio.

Temas relacionados


7/11/2012