Suite

La requête de définition de page ne met pas à jour le graphique dans la mise en page

La requête de définition de page ne met pas à jour le graphique dans la mise en page


J'ai trois graphiques dans ma mise en page créés à partir de classes d'entités dont les définitions de page sont définies pour référencer une page pilotée par les données. Le tableau de chaque classe d'entités indique le nombre correct d'entités lorsque je fais défiler les pages pilotées par les données. Cependant, le graphique correspondant de la table montre TOUS les enregistrements, pas le sous-ensemble dans le ddp actuel. Des idées ?


Le graphique est une chose statique, il ne se redessine pas automatiquement.

La meilleure approche qui fonctionne pour moi est d'avoir des graphiques en pièces jointes aux DDP. Oui, ils doivent d'abord être créés.

Ce script ci-dessous fonctionne avec le graphique XY, dont le modèle est enregistré dans "vert_line.tee". Après être passé à la page suivante, je sélectionne manuellement des points dans la couche appelée « pnts » dans la table des matières. Il a des champs Chainage pour (X) et DEM pour Y. Si votre couche a une définition de page, vous pouvez sélectionner tout ce qui est visible. Script de redessiner le graphique (nom de l'élément dans la mise en page appelé SECTION), en utilisant les enregistrements sélectionnés et le modèle de graphique et enregistre le graphique modifié dans un raster appelé Page_Name.emf dans le dossier de votre choix

dossier=arcpy.GetParameterAsText(0))

Enfin, le script supprime la pièce jointe existante (le cas échéant) et en ajoute une nouvelle en tant que pièce jointe à la page actuelle.

C'est une bouée de sauvetage avec des séries de cartes similaires à celles-ci :

Jetez un œil et voyez si vous pouvez le modifier en fonction de vos besoins.

import arcpy, traceback, os, sys from arcpy import env extract=r'in_memoryextract' table=r'in_memoryattach' env.overwriteoutput=True folder=arcpy.GetParameterAsText(0) template=r'C:URS- DataURS-DataESRIToolsGraph_Makervert_line.tee' essayez: def showPyMessage(): arcpy.AddMessage(str(time.ctime()) + " - " + message) def isLayerExist (mxd,lName): layer = arcpy.mapping.ListLayers(mxd,lName) if len(layers)==0: lever NameError,'
'+lName + " layer not found. Exiting… "+'
' result=layers[0] return result ## FIND ENVIRONMRNT TABLE mxd = arcpy.mapping.MapDocument("CURRENT") thePagesLayer = isLayerExist(mxd,"Pages") pageID = mxd.dataDrivenPages.currentPageID fld = mxd.dataDrivenPages.pageNameField.name PagedaNames=arcpy .TableToNumPyArray(thePagesLayer, fld) fOut=folder+os.sep+Page_Names[pageID-1][0]+".emf" linkValue=Page_Names[pageID-1][0] attachName=Page_Names[pageID-1][0 ]+".emf" arcpy.CreateTable_management('in_memory', 'attach') arcpy.AddField_management(table, "Page", "TEXT", "", "", 25) arcpy.AddField_management(table, "Page2", "TEXT", "", "", 250) curT = arcpy.da.InsertCursor(table, ("Page","Page2")) theRow=(linkValue,fOut ) curT.insertRow(theRow) arcpy.RemoveAttachments_management(thePagesLayer, fld, table, "Page") thePointsLayer = isLayerExist(mxd,"pnts") source=thePointsLayer.dataSource bL=[row[0] pour la ligne dans arcpy.da. TableToNumPyArray(source,"dem")] zMin,zMax=min(bL),max(bL) arcpy.CopyFeatures_management(thePointsLayer, extract) bigList=arcpy.da.TableToNumPyArray(extract,"CHAINAGE") n=len(bigList) lMax=bigList[n-1][0] p=arcpy.Point(0,0) curT = arcpy.da.InsertCursor(extract,("[email protected]","dem", "CHAINAGE")) curT.insertRow( (p,zMin,lMax)) curT.insertRow((p,zMax,lMax)) graph = arcpy.Graph() graph.addSeriesLineVertical (extract, "dem", "CHAINAGE") arcpy.MakeGraph_management(template, graph, " VerticalBarGraph") ## # Enregistrer le graphique en tant qu'image arcpy.SaveGraph_management("VerticalBarGraph",fOut, "IGNORE_ASPECT_RATIO", "1500", "450") arcpy.SelectLayerByAttribute_management (thePointsLayer, "CLEAR_SELECTION") arcpy.RefreshActiveView() arcpy.AddAttachments_management(thePagesLayer, fld, table, "Page", "Page2") del mxd except: message = "
*** PYTHON ERRORS *** " ; showPyMessage() message = "Informations de suivi Python : " + traceback.format_tb(sys.exc_info()[2])[0] ; showPyMessage() message = "Informations d'erreur Python : " + str(sys.exc_type)+ " : " + str(sys.exc_value) + "
" ; showPyMessage()

Des questions, demandez


CONTEXTE

En plus de fournir des services vocaux, les téléphones mobiles et autres appareils informatiques mobiles peuvent inclure des fonctionnalités supplémentaires. Certains téléphones mobiles peuvent permettre à un utilisateur d'installer et d'exécuter des applications. Ces applications peuvent avoir diverses fonctionnalités, notamment des jeux, des références, la navigation GPS, les réseaux sociaux et la publicité pour les émissions de télévision, les films et les célébrités. Les téléphones portables peuvent également parfois inclure un appareil photo capable de capturer des photographies ou des vidéos.


Mots-clés sur ce domaine

Vanne

Médical

Floodgate SDK c#

Meme des vannes

Robinet de vanne

Speedrun des vannes

Synonyme d'écluse

Définition de vanne

Plugin Floodgate mc

Écluses du ciel

Église des écluses lutz

Barrière anti-inondation

Liaison de compte floodgate

Floodgate SDK

Médias d'inondation

Écluse mc

Écluse définir

Église de la vanne

Vanne vc

Vanne wr

Écluse

API d'inondation

Jeux d'écluse

Plugin d'inondation

Téléchargement de la vanne

Choisissez au moins 2 et ne dépassez pas 5 mots clés


Voir la vidéo: Excel KAAVIO I - kuvaajan osat ja muokkaus, kaavion viimeistely