CÓMO
Los adjuntos se pueden agregar a una capa en ArcGIS Pro, como se describe en la siguiente documentación, ArcGIS Pro: Agregar o eliminar adjuntos de archivos, antes de publicarlos en ArcGIS Online o Portal for ArcGIS. Cuando una capa contiene varios adjuntos, puede resultar tedioso calcular manualmente el tamaño total de los adjuntos. Además, el tamaño total puede variar teniendo en cuenta los diferentes tamaños en el disco, durante la publicación y la conversión de bytes a kilobytes. En este artículo se proporcionan los pasos para utilizar ArcGIS API for Python para calcular el tamaño total en una secuencia de comandos de Python independiente o en ArcGIS Notebooks.
import arcgis from arcgis import GIS import pandas as pd
#For ArcGIS Online
gis = GIS('https://arcgis.com', 'username', 'password')
print("Connected")
#For Portal for ArcGIS
gis = GIS('https://<machine>.<domain>/<web adaptor name>', 'username', 'password', verify_cert=False)
print("Connected")
item = '<item_ID>' layer = gis.content.get(item) ids = layer.layers[0] fs = ids.query(where="1=1") oids = [f.attributes["OBJECTID"] for f in fs.features]
Note: Edit the index value in 'ids = item.layers[0]' based on the layers that hold the attachments. For example, to calculate the total attachment size in the second layer, replace 0 with 1 in the code.
attached = [ids.attachments.get_list(oid=oid) for oid in oids] print(attached)
print("Total size: " + str(ids.attachments.search(as_df=True)['SIZE'].sum()))
#If additional word is unnecessary, the following line can be used:
print(ids.attachments.search(as_df=True)['SIZE'].sum())
A continuación se muestra una secuencia de comandos de ejemplo de trabajo y la consola de resultados. El tamaño de archivo calculado está en bytes.
import arcgis
from arcgis import GIS
import pandas as pd
gis = GIS('https://arcgis.com', 'user1', 'password1!')
print("Connected")
item = '80d00e2301844ou2435p9284fu87bf'
layer = gis.content.get(item)
ids = layer.layers[0]
fs = ids.query(where="1=1")
oids = [f.attributes["OBJECTID"] for f in fs.features]
attached = [ids.attachments.get_list(oid=oid) for oid in oids]
print (attached)
print("Total size: " + str(ids.attachments.search(as_df=True)['SIZE'].sum()))

Id. de artículo: 000031782
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora