4 votos

Arcpy zoom a las características seleccionadas no funciona

Estoy escribiendo un script en python para tomar automáticamente algunas instantáneas de mi ArcMap en 10.2, pero no puedo conseguir que la herramienta de zoom a las características seleccionadas funcione correctamente.

Tengo una capa llamada carereport, de la que hago una capa de características proporcionando un valor gid. Si hago clic con el botón derecho del ratón en esta nueva capa y hago clic en "Zoom to layer", la herramienta funciona bien. Pero cuando ejecuto el siguiente script de arcpy, se queda muy alejado. Es como si algunas otras características se seleccionan, pero no puedo ver dónde.

mxd = arcpy.mapping.MapDocument(r"CURRENT")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]

arcpy.MakeFeatureLayer_management("carereport", "Siteslyr", """gid = 2739""")

addLayer = arcpy.mapping.Layer(r"Siteslyr")
arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")

arcpy.RefreshActiveView()
arcpy.RefreshTOC()

lyr = arcpy.mapping.ListLayers(mxd, "Siteslyr", df)[0]
df.zoomToSelectedFeatures()

df.scale *= 1.1
arcpy.RefreshActiveView()
arcpy.mapping.ExportToJPEG(mxd, r"C:\caredev.jpg", df,
                           df_export_width=1600,
                           df_export_height=1200,
                           world_file=True)
del mxd, df

8voto

John Kramlich Puntos 286

Su código no está realmente seleccionando nada, está haciendo una vista de subconjunto de sus datos con la herramienta MakeFeatureLayer.

Debe ejecutar la herramienta selectbyattribute en su capa.

La ayuda del escritorio sugiere que si quieres hacer zoom a las características seleccionadas en una capa específica debes usar este código:

df.extent = lyr.getSelectedExtent()

6voto

ernesto Puntos 11

Esto ahora se amplía:

mxd = arcpy.mapping.MapDocument('CURRENT')
df = arcpy.mapping.ListDataFrames(mxd, "Layers") [0]
lyr = arcpy.mapping.ListLayers(mxd, "Siteslyr", df)[0]
arcpy.SelectLayerByAttribute_management(lyr, "NEW_SELECTION", ' "gid" = 2739 ')
df.zoomToSelectedFeatures()

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