Opciones avanzadas para imprimir mapas Web
En este tema
- Convertir un mapa Web en un documento de mapa con Python
- Llamar las secuencias de comandos desde la web
El servicio PrintingTools y los widgets de impresión de cliente de las API web de ArcGIS se han diseñado para la impresión básica. Para los flujos de trabajo de impresión en los que el mapa web se tiene que modificar o exportar usando las opciones avanzadas, utilice la función ConvertWebMapToMapDocument del módulo arcpy.mapping de Python.
Convertir un mapa Web en un documento de mapa con Python
La impresión de mapas Web en ArcGIS depende de la capacidad del mapa Web para ser representado como JSON o notación de objetos JavaScript. Esri ha creado la especificación ExportWebMap que define cómo se puede estructurar un mapa Web como JSON con extensión y la información de la capa para imprimir. Las API Web de ArcGIS pueden leer el mapa Web actual y crear la JSON por usted. En un escenario de impresión simple, el servicio PrintingTools de ArcGIS Server lee la JSON y devuelve una imagen de mapa que se puede imprimir.
En escenarios avanzados de impresión, la JSON del mapa Web no se tiene que enviar al servicio PrintingTools. En lugar de ello, puede convertir la JSON en un MXD. Para hacer esto, utilice la función de Python arcpy.mapping.ConvertWebMapToMapDocument. Después, puede utilizar el MXD resultante en otras funciones de arcpy.mapping, como ExportToPDF o ExportToPNG, para preparar el mapa para su impresión. También puede elegir agregar el mapa a un libro de mapas antes de imprimirlo o cambiar algunas de las capas de servicio del mapa por sus propias capas vectoriales. Estas técnicas se describen el tema de referencia ConvertWebMapToMapDocument tema de referencia.
También hay algunos tutoriales que muestran el flujo de trabajo completo de exportación e impresión avanzadas. Estos tutoriales explican la forma de generar los documentos de mapa de plantilla presentados, generar la secuencia de comandos de Python, crear el servicio de geoprocesamiento y crear la aplicación Web:
Llamar las secuencias de comandos desde la web
Cuando escribe una secuencia de comandos arcpy.mapping de impresión, ¿cómo la utiliza en la aplicación Web? ArcGIS Server ofrece los servicios de geoprocesamiento que le permiten exponer sus secuencias de comandos, herramientas y modelos como servicios Web. Esto hace que las pueda llamar desde las API Web de ArcGIS.
Una vez tenga una secuencia de comandos de Python que prepara el mapa para la impresión, puede elegir encapsularla en una herramienta de secuencia de comandos de geoprocesamiento. Realice una prueba de la herramienta y después publique el resultado como un servicio de geoprocesamiento de ArcGIS Server.
El enfoque más sencillo al desarrollar este tipo de herramienta de secuencia de comandos de geoprocesamiento es asegurarse de que esta exponga los mismos parámetros del servicio PrintingTools de uso inmediato o un subconjunto de los mismos. El parámetro JSON de entrada es el parámetro mínimo necesario . Si diseña el servicio de esta forma, los widgets de impresión de las API de representación cartográfica en la red de ArcGIS y los visores Web podrán utilizar el servicio sin ninguna codificación personalizada.