Skip To Content

Opciones avanzadas para imprimir mapas Web

El servicio PrintingTools y los widgets de impresión de cliente en las API Web de ArcGIS están diseñados para la impresión básica. En los flujos de trabajo de impresión que requieran la modificación o exportación del mapa web mediante opciones avanzadas, utilice una función de conversión del módulo arcpy de Python: ConvertWebMapToMapDocument para ArcMap y ConvertWebMapToArcGISProject para ArcGIS Pro.

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 su lugar, puede convertir el JSON en un documento ArcMap (.mxd) o un Proyecto de ArcGIS Pro (.aprx).

Convertir un mapa Web en un documento de mapa de ArcMap con Python

Para convertir un mapa web JSON en un documento de mapa (.mxd), use la función ConvertWebMapToMapDocument. Una vez convertido al mapa web, todo el estado del mapa web existe en el documento de mapa. A continuación, es posible hacer más modificaciones en el documento antes de imprimirlo o exportarlo mediante una función, por ejemplo, ExportToPDF o ExportToPNG. También puede elegir agregar el mapa a un libro de mapas antes de imprimirlo o cambiar algunas de las capas de servicios del mapa con sus propias capas vectoriales.

Esri ofrece tutoriales que demuestran todo el flujo de trabajo de exportación e impresión avanzadas. Estos tutoriales explican la forma de generar los documentos de mapa de plantilla presentados, generar el script de Python, crear el servicio de geoprocesamiento y crear la aplicación Web:

Convertir un mapa web en un proyecto de ArcGIS Pro con Python

Para convertir un mapa web JSON en un proyecto de ArcGIS Pro (.aprx), utilice la función ConvertWebMapToArcGISProject. Una vez convertido al mapa web, todo el estado del mapa web existe en el proyecto. A continuación, puede seguir modificando el mapa web antes de imprimirlo o exportarlo mediante otra función de Python. Al igual que con ArcMap, también puede agregar el mapa a un libro de mapas antes de imprimirlo o cambiar algunas de las capas de servicios del mapa con sus propias capas vectoriales.

Para ver una explicación más detallada, escenarios y muestras de código, consulte Impresión de mapas web con arcpy.mp, que explica cómo crear plantillas de diseño presentadas, crear un script y de Python para un mapa web y crear herramientas web y aplicaciones web.

Llamar a los scripts desde la web

Después de escribir un script de arcpy para la impresión, ArcGIS Enterprise ofrece servicios de geoprocesamiento que le permiten exponer sus scripts, herramientas y modelos como servicios web. Esto hace que las pueda llamar desde las API Web de ArcGIS.

Puede elegir encapsular su script de impresión de Python en una herramienta de script de geoprocesamiento. Realice una prueba de la herramienta y después publique el resultado como un servicio de geoprocesamiento de ArcGIS Enterprise.

El enfoque más sencillo al desarrollar este tipo de herramienta de script 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 Web AppBuilder for ArcGIS y las tareas 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.