Suite

Sortir la valeur d'échelle pour chaque page pilotée par les données (DDP)

Sortir la valeur d'échelle pour chaque page pilotée par les données (DDP)


J'utilise des pages pilotées par les données (DDP) dans ArcMap 10.3. La couche d'index est une classe d'entités surfaciques et j'aimerais connaître l'échelle à laquelle chaque page pilotée par les données est exportée. Idéalement, il y aurait un moyen d'ajouter un attribut à cette couche qui indique l'échelle pour chaque page (plus de 200 pages). (Je sais que DDP peut être défini sur la valeur d'attribut d'échelle existante, mais lorsqu'il est basé sur les différentes tailles de chaque polygone, je veux savoir quelle est la valeur numérique.

Bien que ce soit ma question principale, l'objectif ultime est de pouvoir appliquer une étiquette de taille différente aux entités correspondantes dans chaque carte. Si je connais l'échelle de chaque page, je peux alors ajuster la taille de l'étiquette en conséquence par page.


Cette méthode nécessite l'utilisation de code python pour ajouter les valeurs d'échelle de la carte à chaque entité d'index que vous pouvez ensuite accrocher à un texte dynamique d'attribut de page dynamique :

  1. Ajouter une couche d'index à la carte et créer un champ d'échelle vide dans la table
  2. Utilisez le curseur de mise à jour pour parcourir chaque fonction
  3. Pour chaque entité (au sein de la boucle for imbriquée), utilisez la méthode Select Layer by Attribute pour sélectionner la ligne d'entité actuelle
  4. Lorsque l'entité est sélectionnée, utilisez le zoom du bloc de données sur la méthode d'entité sélectionnée,df.zoomToSelectedFeatures()
  5. Ensuite, écrivez la valeur de la propriété d'échelle du bloc de données,df.scale, au champ d'échelle d'entité sélectionné
  6. Enfin, une fois que toutes les entités ont une valeur d'échelle définie, utilisez le texte dynamique de l'attribut de page dynamique pour référencer le champ d'échelle de la couche d'index.