Existe-t-il un moyen de zoomer sur l'étendue d'une entité sélectionnée à l'aide du module ArcPy dans ArcGIS Desktop 10.
arcpy
arcgis-10.0
select
zoom
Zachary
la source
la source
df.zoomToSelectedFeatures()
C'est comme ça que je le fais. Vous pouvez également définir l'échelle avecdf.scale = yourscalehere
.Comme vous l'avez déjà supposé,
changera l'étendue du bloc de données à toutes les entités sélectionnées dans le bloc de carte. Si vous souhaitez simplement zoomer sur un jeu de sélection pour un calque spécifique, utilisez
lyr.getSelectedExtent()
. J'ajuste également le facteur d'échelle de la carte pour que mon code ressemble à ceci:ou ca:
la source
Donc, pour ajouter à cela, j'ai eu besoin de garder une trace de l'étendue la plus large sur plusieurs couches sans aucune fonctionnalité sélectionnée. Le code suivant suivra l'étendue la plus éloignée dans chaque direction. extend_object reste constant dans tous les appels à la fonction et doit être initialisé à l'une des couches que vous incluez. L'argument "couche" à track_extent est un objet arcpy.Mapping.Layer. Lorsque vous êtes prêt à enregistrer votre carte, définissez simplement l'étendue de votre dataframe via quelque chose comme data_frame.extent = extend_object
la source