J'ai compris comment le faire en utilisant l' outil Make Query Table , Copy As Python Snippet , la fenêtre Python et l' outil Copy Features .
Après avoir exécuté l'outil Créer une table de requête pour parcourir uniquement les champs que je voulais voir apparaître dans la sortie, j'ai pu copier ce code Python à partir du géotraitement | Fenêtre des résultats dans la fenêtre Python d'ArcMap.
arcpy.MakeQueryTable_management("'C:/avhome/data/WAregional/wa regional.mdb/schools'","QueryTable","USE_KEY_FIELDS","#","schools.OBJECTID #;schools.Shape #;schools.CODE #;schools.NAME #;schools.TYPE #;schools.Y11STUDENT #;schools.Y12STUDENT #;schools.COORDGEOCO #;schools.ID #","#")
et le modifier pour devenir:
arcpy.MakeQueryTable_management("'C:/avhome/data/WAregional/wa regional.mdb/schools'","QueryTable2","USE_KEY_FIELDS","#","schools.OBJECTID #;schools.Shape #;schools.Y12STUDENT #;schools.Y11STUDENT #;schools.NAME #","#")
Notez que le nouveau QueryTable2 conserve le champ Shape (afin que je puisse le copier) et que j'ai réorganisé les champs NAME, YR11STUDENT & YR12STUDENT. J'ai également profité de l'occasion pour abandonner quelques champs supplémentaires.
La dernière étape consiste à utiliser l'outil Copier les fonctionnalités sur QueryTable2, ce que j'ai fait via sa boîte de dialogue d'outils pour créer une nouvelle classe d'entités avec les champs réorganisés en permanence.
Avec l' outil de fusion , vous pouvez facilement réorganiser les champs de façon permanente. Il fonctionne avec des tables et des classes d'entités. La réorganisation peut être effectuée via un script python et même avec la boîte de dialogue Outil (en supprimant un champ et en l'ajoutant à nouveau dans la boîte de dialogue). Bien que la réorganisation via la boîte de dialogue ne soit pas une approche parfaite.
Il est recommandé d'utiliser l'outil Fusionner une fois, puis d'utiliser Copier en tant qu'extrait Python , puis de modifier manuellement l'ordre des champs, puis de coller le code Python dans les fenêtres Python.
Voici un script python qui utilise l'outil de fusion pour réorganiser les champs (copié à partir d' ici )
USAGE:
la source
Après avoir lu ceci Modifier l'ordre des attributs dans une table et essayer de réorganiser l'ordre des champs, j'ai trouvé cette solution simple dans ArcMap 10,1 ...
la source
J'ai une méthode pour le faire complètement dans le générateur de modèles d'une manière relativement robuste. C'est un peu fastidieux à mettre en place mais au moins il peut être inséré dans le cadre d'une analyse de constructeur de modèle plus large:
Dissoudre outil - ObjectID que le champ se dissoudre. Ajoutez les champs (Statistiques) restants dans l'ordre souhaité et choisissez l'option (Premier) dans la liste déroulante Type statique. Dans l'exemple ci-dessous, j'ai déplacé le champ SaltMarsh_Pct vers le bas dans la liste des champs à la position 6.
Je copie généralement les résultats, puis je renomme chaque champ (la copie est fonctionnellement redondante et le changement de nom peut également y être effectué mais il est irrégulier)
Utilisez l'outil Modifier le champ pour renommer chaque champ
Tous ensemble dans un modèle, cela ressemble à ceci:
la source