Esto está relacionado con la siguiente simbología Retener ESRI en Mapinfo TAB . Como paso inicial (en arco), quiero acceder a la simbología de todos los conjuntos de datos y crear un documento que tenga los detalles de la simbología según el gráfico a continuación.
¿Es esto posible (debería invertir el tiempo para resolverlo) o si no es posible, tendré que comenzar a hacerlo manualmente en cientos de MXD (: -
Para desglosar los pasos, espero poder automatizar al menos parte del proceso.
desplazarse por mxd's y obtener los conjuntos de datos que están encendidos no es problema
lyrFile = arcpy.mapping.Layer if lyrFile.visible == True:
a medida que encuentra un conjunto de datos, debe crear un archivo .lyr (ya que la mayoría son solo archivos shp / gdb) y luego AttribXXX = lyrFile.xxx
donde XXX y xxx son
BRIGHTNESS = lyrFile.brightness
(formato anterior al siguiente)
CONTRAST —contrast
DATASETNAME —datasetName
DATASOURCE —dataSource
DESCRIPTION —description
LABELCLASSES —labelClasses
LONGNAME —longName
NAME —name
SHOWLABELS —showLabels
TRANSPARENCY —transparency
WORKSPACEPATH —A layer's workspace or connection file path
El problema es que no puedo encontrar nada que obtenga RGB, tipo de línea / punto / polígono, grosores de línea, fuente, etc. Si se pueden encontrar, entonces el siguiente paso
escriba cada uno de los valores anteriores en un CSV (fácil) ... por ejemplo (esto debe ampliarse)
f = open(origPath+'\\LayerAtrributes_LOG.txt', 'a') f.write(str(DATASETNAME)+","+str(DATASOURCE)+","+str(DESCRIPTION)+","+str(MXDName)+"\n") f.close()
Si es posible, debe producirse un jpg de la simbología como en el ejemplo y el enlace a él agregado al csv.
¿Estoy pidiendo mucho de arcpy?
fuente
Respuestas:
Resolví un problema similar al convertir un documento MXD a un MSD (que es solo un archivo zip), por lo que si cambia la extensión a ".zip" y la abre, encontrará algunos documentos .xml que contienen mucha información sobre cómo cada uno Se muestra la capa dentro del mxd. arcpy.ConvertToMSD Puede haber algún trabajo invocado para obtener la información que desea, pero debería estar allí en algún lugar. ¡Espero que ayude!
fuente
Básicamente, esto no fue posible, pero descubrió una forma indirecta de obtener el resultado. Consulte el script de arcgis python para solucionar el problema final.
Otras preguntas para llegar a esta etapa son
¿Convertir el estilo de ArcGIS (simbología) a fuente para MapInfo / OpenGeo?
Conservar la simbología de ESRI en Mapinfo TAB
y
¿Está creando una tabla resumen de simbología de todos los conjuntos de datos en múltiples MXD?
fuente