Así que, para añadir a esto, he estado necesitando hacer un seguimiento de la extensión más amplia a través de múltiples capas sin características seleccionadas. El siguiente código rastreará la extensión más lejana en cada dirección. extent_object se mantiene constante a través de todas las llamadas a la función y debe ser inicializado a una de las capas que está incluyendo. El argumento "layer" para track_extent es un objeto arcpy.Mapping.Layer. Cuando estés listo para guardar tu mapa, simplemente establece la extensión de tu marco de datos mediante algo como data_frame.extent = extent_object
extent_object = initial_layer.getExtent()
def track_extent(extent_object,layer):
l_properties = layer.getExtent()
# each of these essentially says that if this layer is further out to one direction than the current setting, change the setting
if l_properties.XMin < extent_object.XMin:
extent_object.XMin = l_properties.XMin
if l_properties.YMin < extent_object.YMin:
extent_object.YMin = l_properties.YMin
if l_properties.XMax > extent_object.XMax:
extent_object.XMax = l_properties.XMax
if l_properties.YMax > extent_object.YMax:
extent_object.YMax = l_properties.YMax