5 votos

Configuración de la extensión de salida (configuración del entorno) mediante ArcPy?

Estoy tratando de averiguar cómo establecer mi extensión de salida antes de crear Thiessen Polígonos en un bucle de ~ 100 puntos shapefile. (ArcMap 10.0 - Python)

for i in range(3,51,1):
    arcpy.CreateThiessenPolygons_analysis("AVF%i" % i,"AVF%iVoronoi" % i,"ONLY_FID")

Básicamente quiero que mi extensión sea la misma para cada iteración.

Primero lo encontré:

arcpy.Extent(293490,5898230,316430,5930230)

entonces alguien me habló de esto Página de ayuda de ESRI :

#use 'CURRENT' if running from ArcMap, when published use MXD on disk

    mxd = arcpy.mapping.MapDocument("CURRENT")

    df = arcpy.mapping.ListDataFrames(mxd)[0]
    newExtent = df.extent
    newExtent.XMin, newExtent.YMin = 293490,5898230
    newExtent.XMax, newExtent.YMax = 316430,5930230
    df.extent = newExtent

pero en cualquier caso, cuando ejecuto mi bucle, el tamaño de la salida no refleja los cambios.

ps: https://stackoverflow.com/questions/8996965/output-extent-environment-setting/8997122#8997122

8voto

Arda Xi Puntos 1099

Creo que sólo estás creando un Extent objeto con:

arcpy.Extent(293490,5898230,316430,5930230)

...pero no fijar realmente el arcpy.env.extent (a no ser que tengas más código que no esté publicado en tu pregunta original). Desde el docs :

import arcpy

# Set the extent environment using a keyword.
arcpy.env.extent = "MAXOF"

# Set the extent environment using the Extent class.
arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)  # <-- Have you tried this?

# Set the extent environment using a space-delimited string.
arcpy.env.extent = "-107.0 38.0 -104.0 40.0"

Prueba a ponerlo así:

arcpy.env.extent = arcpy.Extent(293490,5898230,316430,5930230)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X