Más

Script o código para crear el paquete de mapas arc gis, mpk


Estoy buscando ayuda o si alguien tiene un script o herramienta para recorrer una carpeta determinada de MXD y crear archivos MPK con el mismo nombre.

No tengo tanta experiencia en la creación de scripts o en el uso de la ventana de Python. Encontré la pregunta anterior a continuación.

ingrese la descripción del enlace aquí

Donde detalla el ESRI, página de ayuda para la gestión de datos

ingrese la descripción del enlace aquí

Intenté ingresar el código de la ventana de Python cambiando el código de mis ejemplos, pero sigo recibiendo un mensaje de error diferente. No estoy seguro de qué estoy haciendo mal. No estoy seguro de configurar los parámetros para una herramienta real. Me preguntaba si tal vez alguien ya había hecho esto.


Aquí hay un guión que escribí, basado en el ejemplo. Mapa de paquetes (gestión de datos).
Tiene algunos cambios que debe conocer. Elimina cualquier ráster del mxds y establece el Resumen, Descripción y Etiquetas requeridos al nombre del MXD. Esto cambiará sus archivos de origen, así que asegúrese de hacer una copia de seguridad de ellos.
También solo busca en un solo directorio y crea un pequeño archivo CSV que detalla cualquier error con ciertos mxds.
Para evitar que se eliminen los rásteres, comente las líneas 54-58.
Este script se ejecuta desde la línea de comandos de Windows conpitón .pypor lo que deberá asegurarse de que python.exe se incluye con ArcGIS y se agrega a la RUTA de su sistema. Más probableC: Python27 ArcGIS10.2

# Importe los módulos de python necesarios import arcpy de arcpy import env import os import os.path import glob import string import traceback # Establezca algunas variables para los MXD de entrada print 'Setting Paths' path = raw_input ('Ruta del archivo a la carpeta que contiene MXD:' ) imprimir ruta mxdList = glob.glob (os.path.join (ruta, '* .mxd')) imprimir 'Establecer rutas' env.workspace = ruta arcpy.env.scratchWorkspace = ruta env.overwriteOutput = True arcpy.gp. overriteOutput = True outputcsv = ruta + "OutputLog_MXDs.csv" outFile = open (outputcsv, "w") outFile.write ("MXD" + "," + "Estado" + "," + "Error" + " n" ) successcount = 0 failcount = 0 # Módulo para configurar Descripciones, Resumen y Etiquetas para el mxd. para el nombre de archivo en mxdList: intente: mxdname = nombre de archivo mxd = arcpy.mapping.MapDocument (nombre de archivo) mxdleft = str (string.lstrip (nombre de archivo, ruta)) mxdname = str (string.rstrip (mxdleft, ".mxd")) imprimir 'Processing' + mxdname + ' n' mxd.description = mxdname print "Description =" + mxd.description mxd.summary = mxdname print "Summary =" + mxd.summary mxd.tags = mxdname print "Tag =" + mxd .tags + ' n' # Guarde el MXD mxd.save () # Ahora Empaquete el mxd # Lea los marcos de datos, identifique las capas ráster y elimínelas. imprimir 'Leyendo marcos de datos ...' DF = arcpy.mapping.ListDataFrames (mxd) imprimir '... Encontrado' + str (len (DF)) + 'Marcos de datos' + ' n' para DF en arcpy.mapping.ListDataFrames (mxd ): DFname = DF.name print "Processing -" + str (DFname) lyrs = arcpy.mapping.ListLayers (mxd) para lyrs en arcpy.mapping.ListLayers (mxd): if lyrs.isBroken: print lyrs.name + " está roto." break if lyrs.isRasterLayer: print "Found Raster -" + str (lyrs) # Parte para eliminar realmente el ráster, usa el marco de datos (DF) y la capa (lyrs) arcpy.mapping.RemoveLayer (DF, lyrs) print str (lyrs) + "Removed" # Después de los cambios realizados, necesitamos guardar el MXD. mxd.save () print ' n' + "Todos los rásteres eliminados" print " n" + "Empaquetado" + mxdname arcpy.PackageMap_management (nombre de archivo, os.path.splitext (nombre de archivo) [0] + '.mpk', "CONVERT", "CONVERT_ARCSDE", "#", "ALL") print mxdname + "Empaquetado exitosamente" successcount + = 1 outFile.write (mxdname + "," + "Empaquetado" + "," + "Ninguno" + "  n ") del mxd, mxdname, DF excepto Excepción como e: print" ----- "print" Error "traceback.print_exc () error = str (e.message.split (' r  n')) print "Problema con" + mxdname print "Ignorando el error, como un jefe" outFile.write (mxdname + "," + "No empaquetado" + "," + error.replace (' n', ") +"  n ") failcount + = 1 continue # End Statement para mostrar estadísticas básicas. print"  n "print" Finished "print str (successcount) +" MXDs empaquetados correctamente - "+ str (failcount) +" MXDs Failed "print" Check Output Log For Details "# Libera el archivo de registro CSV outFile.close ()

Eche un vistazo a esta página:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//0017000000q5000000

Te di el enlace 10.0 basado en tu etiqueta.

# Nombre: PackageMap.py # Descripción: Busque todos los documentos de mapa que residen en una carpeta específica y cree paquetes de mapas para cada documento de mapa. # importar módulos del sistema import os import arcpy from arcpy import env # Establecer la configuración del entorno env.overwriteOutput = True env.workspace = "C: / arcgis / ArcTutor / Editing" # Recorrer el espacio de trabajo, encontrar todos los mxds y crear un paquete de mapas usando el mismo nombre que mxd para mxd en arcpy.ListFiles ("*. mxd"): print "Packaging" + mxd arcpy.PackageMap_management (mxd, os.path.splitext (mxd) [0] + '.mpk', "CONSERVAR", "CONVERT_ARCSDE", "#", "TODOS")