Suite

Sélectionner une entité par attribut avec une expression pour la supprimer de la même classe d'entités dans ModelBuilder ?

Sélectionner une entité par attribut avec une expression pour la supprimer de la même classe d'entités dans ModelBuilder ?


Je souhaite créer un modèle dans ModelBuilder contenant deux processus :

  • Le premier processus consiste à sélectionner une caractéristique à l'aide d'une expression.
  • Le deuxième processus consiste à supprimer la fonction sélectionnée dans le premier processus.

Je souhaite effectuer les deux processus dans la même classe d'entités, je ne peux donc pas utiliser l'outil Sélectionner (analyse) car cela me donne une nouvelle classe d'entités en sortie.

J'utilise ArcGIS 10.2 for Desktop.

J'ai trouvé l'outil Sélectionner une couche par attributs mais il n'accepte pas le format de classe d'entités et je n'ai pas d'autre format que la classe d'entités.


Si le modèle est en dehors d'ArcMap, vous devrez d'abord utiliser l'outil Créer une couche d'entités, puis vous pouvez utiliser l'outil Sélectionner une couche par attribut suivi de l'outil Supprimer des entités.


Avant d'ajouter une autre exigence pour que cela soit fait totalement dans la classe d'entités d'origine, il semblait possible de le faire en une seule étape à l'aide de l'outil Sélectionner (analyse) qui fonctionne directement sur une classe d'entités.

Si vous aviez l'intention de sélectionner par attribut où Champ = 'X' puis de supprimer les enregistrements sélectionnés, utilisez simplement Sélectionner (analyse) pour sélectionner les enregistrements où Champ <> 'X' à la place.


L'idiome commun de "l'interdiction de copier" peut maintenant s'exprimer directement :

[. ]

Le mécanisme "supprimer" peut être utilisé pour n'importe quelle fonction. Par exemple, nous pouvons éliminer une conversion indésirable comme celle-ci :

  1. = 0 signifie qu'une fonction est purement virtuelle et que vous ne pouvez pas instancier un objet de cette classe. Vous devez en dériver et implémenter cette méthode
  2. = delete signifie que le compilateur ne générera pas ces constructeurs pour vous. AFAIK, cela n'est autorisé que sur le constructeur de copie et l'opérateur d'affectation. Mais je ne suis pas très bon au niveau à venir.

Cet extrait de Le langage de programmation C++ [4e édition] - Bjarne Stroustrup livre parle de la but réel derrière en utilisant =delete :

3.3.4 Suppression d'opérations

L'utilisation de la copie ou du déplacement par défaut pour une classe dans une hiérarchie est généralement une catastrophe: étant donné qu'un pointeur vers une base, nous ne savons tout simplement pas quels membres la classe dérivée a, donc nous je ne sais pas comment les copier. Ainsi, la meilleure chose à faire est généralement de supprimer les opérations de copie et de déplacement par défaut, c'est-à-dire d'éliminer les définitions par défaut de ces deux opérations :

Désormais, une tentative de copie d'un Shape sera interceptée par le compilateur.

Le mécanisme =delete est général, c'est-à-dire qu'il peut être utilisé pour supprimer toute opération

Existe-t-il d'autres "modificateurs" (autres que = 0 et = supprimer ) ?

Puisqu'il semble que personne d'autre n'ait répondu à cette question, je dois mentionner qu'il existe également =default .

Les normes de codage avec lesquelles j'ai travaillé ont eu ce qui suit pour la plupart des déclarations de classe.

Si vous utilisez l'un de ces 6, vous commentez simplement la ligne correspondante.

Exemple : la classe FizzBus ne requiert que dtor, et n'utilise donc pas les 5 autres.

Nous en commentons seulement 1 ici, et installons la mise en œuvre de celui-ci ailleurs (probablement là où la norme de codage le suggère). Les 5 autres (sur 6) sont interdits avec suppression.

Vous pouvez également utiliser '= delete' pour interdire les promotions implicites de valeurs de tailles différentes . Exemple

= delete est une fonctionnalité introduite dans C++11. Selon =delete, il ne sera pas autorisé d'appeler cette fonction.

Lors de l'appel de cette fonction pour l'affectation obj, cela ne sera pas autorisé. Signifie que l'opérateur d'affectation va restreindre la copie d'un objet à un autre.

Nouvelle norme C++0x. Veuillez consulter la section 8.4.3 du document de travail N3242


Calculer la géométrie

Acres

  1. Dans la table attributaire de polygones d'événements, cliquez avec le bouton droit de la souris et sélectionnez Calculer la géométrie.
  2. La fenêtre Calculer la géométrie s'ouvre.
    Sélectionner Surface comme la Propriété et Acres comme unité de zone.
    Sélectionner Polygone d'événement comme système de coordonnées et il sera mis à jour pour GCS_WGS_1984.
  3. Cliquez sur OK.

Longueur

  1. Dans la table attributaire de la ligne d'événement, cliquez avec le bouton droit de la souris et sélectionnez Calculer la géométrie.
  2. La fenêtre Calculer la géométrie s'ouvre.
    Sélectionner Longueur comme la Propriété et Pieds comme unité de longueur.
    Sélectionner Ligne d'événement comme système de coordonnées et il sera mis à jour pour GCS_WGS_1984.
  3. Cliquez sur Exécuter.

Lat/Longue

  1. Dans la table attributaire Point d'événement, cliquez avec le bouton droit de la souris et sélectionnez Calculer la géométrie.
  2. La fenêtre Calculer la géométrie s'ouvre.
    La latitude et la longitude peuvent être calculées à la fois.
    Entrez Degrés Décimal Minutes comme format.
  3. Cliquez sur OK.

Le grand-père de tous - l'outil Intersection

Chaque fois que vous avez une requête de superposition, le premier outil que vous devriez penser à utiliser est Intersect. De tous les outils répertoriés ci-dessus, c'est le seul qui crée de nouvelles entités basées sur l'intersection géométrique des entités en entrée. Les nouvelles entités ont la zone d'intersection correcte, ce qui signifie que nous pouvons calculer les champs AREA et PERCENT illustrés à la figure 1. De plus, Intersect peut répartir n'importe quel attribut en fonction de la zone.
Vous trouverez ci-dessous les résultats d'Intersect pour l'un des sites, Ar_8496. Le graphique de gauche (A) montre la géométrie brute sortie par Intersect. Le graphique de droite (B) montre les entités en sortie par rapport aux parcelles, montrant les étiquettes PID (ID de parcelle) et SID (ID de site) ainsi que les portions de parcelles à l'intérieur et à l'extérieur du site Ar_8496.

Figure 2 : Utilisation de l'outil Intersection.

Figure 3 : Table d'attributs pour la sortie d'Intersect

Voici quelques notes sur les champs de la table de sortie :

  • FID_Sites est l'OBJECTID du polygone dans la couche Sites et SID est un identifiant de site unique pour le polygone. Étant donné que de nombreuses parcelles croisent un site, il existe des valeurs en double pour ces champs.
  • FID_Parcels est l'OBJECTID d'une parcelle qui coupe le polygone du site et PID est un identifiant de parcelle unique. Pour le site Ar_8496, il y a 10 parcelles uniques qu'il coupe.
  • STATUS est un champ sur la couche Parcels.
  • Shape_Area et Shape_Length sont la surface calculée et la longueur de limite des polygones créés par Intersect. Les unités de ces deux champs sont héritées de la première couche d'entrée. Dans ce cas, les unités sont des pieds.

Le tableau ci-dessus contient toutes les informations nécessaires pour créer le tableau de tabulation illustré à la figure 1 — cela demande juste un peu de travail, travail que l'outil Tabuler l'intersection fait pour vous. Le Utiliser l'intersection Le modèle disponible dans le téléchargement montre comment cela est fait et génère un tableau identique à celui de la figure 1. En bref, voici les étapes pour transformer le tableau ci-dessus en tableau de tabulation généré par Tabulate Intersection :

  • Ajoutez un champ nommé AREA et calculez ses valeurs à l'aide de Calculate Field with [email protected]! comme l'expression.
  • Copiez la table attributaire d'entités dans une table autonome à l'aide de l'outil Table vers table. Cet outil a un paramètre Field Map que vous pouvez utiliser pour déterminer les champs que vous souhaitez copier dans la table de sortie. Dans le modèle, je supprime tous les champs sauf SID, PID, STATUS et AREA. (Voir ci-dessous pour un exemple de l'outil Table To Table.)

Figure 4 : polygone se coupant deux fois


Leçon 3 Pratique Exercice C Solution

Vous trouverez ci-dessous une approche de l'exercice pratique C de la leçon 3. Le nombre d'espaces à interroger est stocké dans une variable en haut du script, ce qui permet de tester facilement avec d'autres valeurs.

La vidéo ci-dessous propose des commentaires ligne par ligne sur la structure de la solution ci-dessus :

Cette vidéo décrit une solution à la leçon 3, Exercice pratique C, qui nécessite de sélectionner des parkings relais répondant à un certain nombre minimum de places de stationnement, puis de les copier dans leur propre nouvelle classe d'entités.

Après avoir importé le package du site arcpy à la ligne 4, nous avons configuré une variable représentant ce seuil. Donc, dans ce cas, nous définissons cela égal à 500 places de stationnement.

Mettre la variable en haut du script est utile au cas où nous voudrions ajuster la valeur et tester avec d'autres valeurs. Il est facile à trouver et n'est pas enfoui plus tard dans notre code.

À la ligne 7, je configure l'espace de travail arcpy pour qu'il soit égal à l'emplacement de ma géodatabase fichier.

La ligne 11 est probablement la ligne la plus critique de ce script. Il configure l'expression de requête SQL pour obtenir des parkings relais qui ont un nombre supérieur au nombre de places de stationnement spécifié ci-dessus à la ligne 6. Donc, si vous regardez cela dans Pro, où les parkings relais sont les noirs points, nous ferions une sélection par attributs. Et nous interrogeons sur cet attribut Approx_Par est supérieur à 500. Et cela nous donnerait ces grands parcs et manèges que l'on trouve principalement dans les régions de Seattle et de Tacoma.

Notez que vous devez convertir cette valeur entière de 500 en une chaîne afin de pouvoir la concaténer avec le reste de l'expression de requête. Cependant, vous n'avez pas besoin de mettre cette valeur entre guillemets, car lorsque vous créez des requêtes basées sur des valeurs numériques, le nombre n'est pas mis entre guillemets.

Une fois que vous avez configuré cette chaîne de requête, vous pouvez exécuter SelectLayerByAttribute pour obtenir une couche d'entités ParkAndRide avec uniquement les parcs et manèges sélectionnés qui répondent au critère.

Il y a donc trois paramètres à passer ici. Le premier est le nom de la classe d'entités sur laquelle nous opérons. Parce que nous avons configuré l'espace de travail, nous pouvons simplement mettre le nom de la classe d'entités plutôt que son chemin complet. Nous aurions également pu stocker le nom de la classe d'entités dans une variable et brancher cette variable ici.

Le deuxième paramètre est la méthode de sélection (si nous voulons créer une nouvelle sélection, ajouter à la sélection existante, sélectionner dans la sélection actuelle, etc.). Ici, nous voulons créer une nouvelle sélection.

Et enfin, le troisième paramètre est cette expression de requête SQL.

L'outil nous renvoie une couche d'entités contenant les entités ParkAndRide sélectionnées, que nous stockons dans la variable parkAndRideLayer.

Une fois que nous avons cette couche d'entités, nous pouvons exécuter l'outil Copier des entités pour créer une toute nouvelle classe d'entités avec uniquement ces éléments sélectionnés. Donc, les deux paramètres ici - le premier est la variable qui contient la couche d'entités qui est la source des entités que nous voulons copier.

Le deuxième paramètre, BigParkAndRideFacilities, est le nom de la nouvelle classe d'entités que nous voulons créer. Et donc, une fois que nous avons fait cela, nous avons une nouvelle classe d'entités, et nous pouvons exécuter l'outil Supprimer pour nettoyer notre couche d'entités. Et c'est tout ce que nous devons faire dans ce script.

Vous trouverez ci-dessous une autre approche de l'exercice.

La vidéo ci-dessous propose des commentaires ligne par ligne sur la structure de la solution ci-dessus :

Cette vidéo décrit une solution alternative à la leçon 3, exercice pratique C. Cette solution diffère de la première qui commence à la ligne 14. Au lieu d'utiliser SelectLayerByAttribute et de stocker sa couche d'entités renvoyée dans une variable, cette version du script utilise l'outil MakeFeatureLayer pour créez une couche d'entités à laquelle vous pourrez vous référer ultérieurement à l'aide de la chaîne « ParkAndRideLayer ».

En regardant de près les paramètres fournis à la ligne 14, il est important de noter que le premier paramètre, "ParkAndRide" spécifie le nom d'une classe d'entités. Trouvé où ? Trouvé dans l'espace de travail, que nous avons défini sur la géodatabase de Washington à la ligne 7.

Le deuxième paramètre est également une chaîne, mais c'est juste le nom que nous donnons à la couche d'entités temporaire en mémoire que nous créons.

Ainsi, dans cette version du script, lorsque nous voulons écrire les entités sélectionnées sur le disque, nous insérons cette couche d'entités nommée dans l'instruction CopyFeatures plutôt qu'une variable.

Et de même, lorsque nous voulons nettoyer la couche d'entités, nous spécifions à nouveau ce même nom, sous forme de chaîne, plutôt que de variable.


Quelle est la différence?

Maintenant que vous avez une bien meilleure compréhension de ce qu'est une tâche, un modèle de géotraitement et un script Python, vous serez en mesure de mieux comprendre les différences entre eux. Chacun peut servir un objectif en standardisant et en automatisant les flux de travail et les processus communs.

La grille suivante permettra de mieux comprendre les différences entre les trois :

Exécuter un seul outil de géotraitement automatiquement

Oui - peut exécuter un seul outil automatiquement dans le cadre d'une étape

Autoriser les utilisateurs à fournir des informations sur les outils avant de les exécuter

Exécuter plusieurs tâches de géotraitement automatiquement et en séquence

Être inclus dans un modèle de géotraitement

Fournit un workflow documenté

Être exécuté depuis l'extérieur d'ArcGIS Pro

Intégration avec d'autres applications

Être programmé pour fonctionner à des heures et des jours spécifiques

Nécessite une connaissance du langage de programmation


Conseils pour l'ajout et la gestion de types d'entités

Le schéma Writer définit "ce que nous voulons" comme ensemble de données de destination. Donc, si vous souhaitez écrire des données dans une couche particulière, dans un jeu de données particulier, vous devez vous assurer que la couche est définie comme un type d'entité dans le canevas.

Dans certains cas, cela se produit automatiquement. Lorsque vous générez un espace de travail, le ou les jeux de données source que vous choisissez sont analysés et toutes les couches qu'il contient reçoivent des objets de type d'entité correspondants dans l'espace de travail, à la fois sur le Reader et sur le Writer.

Lorsque FME  ajoute des types d'entités Writer dans le cadre d'un nouvel espace de travail, ces types d'entités obtiendront une définition d'attribut fixe (manuelle) issue du jeu de données source sélectionné. Vous pouvez ensuite modifier manuellement ces attributs.

Cependant, dans la plupart des cas, vous devez gérer les types de fonctionnalités de Writer séparément, car ce que vous attendez de Writer n'est pas le même que ce que vous avez dans Reader. Par exemple, si vous souhaitez diviser une couche de données entrante en deux couches dans le jeu de données en sortie, vous devrez ajouter un nouveau type d'entité Writer.

L'ajout manuel d'un type d'entité Writer a cet effet sur le diagramme hiérarchique. Votre sortie a été conçue pour n'avoir qu'une seule couche, maintenant elle en aura deux.

Les types de fonctionnalités peuvent être ajoutés manuellement à un rédacteur en utilisant Writers > Ajouter un type de fonctionnalité dans la barre de menus.

Au moins un rédacteur doit exister dans la hiérarchie de traduction, sinon cette option sera grisée.

La sélection d'Ajouter un type d'entité place un objet de type d'entité dans l'espace de travail, puis ouvre la boîte de dialogue Type d'entité afin que vous puissiez modifier les propriétés du type d'entité.

Semblable à la modification du schéma, l'onglet Paramètres peut être utilisé pour définir le nom du nouveau type d'entité.

Les noms des types d'entités utilisent une terminologie spécifique au format, de sorte que l'étiquette peut être Classe d'entités , Couche , Nom de la feuille , Nom de la table ou toute autre terminologie spécifique au format des données que vous écrivez :

Une fois qu'un type d'entité est ajouté, le schéma est défini dans l'onglet Attributs utilisateur.

La fonction Importer des types d'entités ajoute des types d'entités à un jeu de données existant en important le schéma à partir de n'importe quel jeu de données. Ce deuxième jeu de données pourrait être le même que celui en cours de lecture, mais ce n'est pas nécessaire en fait, il n'a même pas besoin d'être dans le même format - la définition du schéma est la partie importante, et FME peut le lire à partir de n'importe quel format.  

  • Dans le menu Readers ou Writers, sélectionnez Import Feature Types. Si vous disposez de plusieurs lecteurs, vous serez invité à sélectionner l'ensemble de données auquel vous souhaitez ajouter le schéma.
  • Dans la boîte de dialogue Importer les types d'entités, spécifiez le format et le jeu de données (ainsi que les paramètres et le système de coordonnées, le cas échéant) et cliquez sur OK.

Le journal affichera les informations de traitement et les types d'entités seront ajoutés au jeu de données sélectionné.

Vous pouvez également choisir d'importer des types d'entités à partir d'un format sélectionné dans un dossier entier en cliquant sur le bouton Navigateur avancé.

Lorsque vous ajoutez un nouveau Writer, vous pouvez également contrôler les types de fonctionnalités qui sont ajoutés à l'espace de travail :

Il existe six options pour ajouter des types d'entités :

  • Automatique : Ajoute un nouveau type d'entité avec le paramètre de définition d'attribut défini sur automatique. C'est la valeur par défaut.
  • Manuel : ajoute un nouveau type d'entité avec le paramètre de définition d'attribut défini sur manuel.
  • Copier à partir du lecteur : Ajoute un nouveau type d'entité avec le paramètre de définition d'attribut défini sur manuel, mais prédéfini au schéma d'un type d'entité Lecteur existant.
  • Importer depuis le jeu de données : Ajoute un nouveau type d'entité avec le paramètre de définition d'attribut défini sur manuel, mais prédéfini dans le schéma d'un jeu de données externe (comme si vous utilisiez l'outil Importer des types d'entités).
  • Dynamique : ajoute un nouveau type d'entité avec le paramètre de définition d'attribut défini sur dynamique.
  • Aucun : n'ajoute aucun nouveau type de fonctionnalité.

Lors de l'ajout d'un Writer, il est possible de créer un nouveau type d'entité dont le schéma d'attributs est prédéfini à celui d'un Reader existant. Cependant, si vous possédez déjà un Writer, vous pouvez toujours effectuer la même procédure de copie d'un schéma de Reader. Cela se fait simplement en sélectionnant les types de fonctionnalités Reader requis, en cliquant dessus avec le bouton droit et en utilisant l'option Dupliquer sur Writer .

La commande entraîne l'ajout de doublons des types de fonctionnalités Reader à l'enregistreur et la connexion automatique des types de fonctionnalités source/destination.

Au moins un rédacteur doit exister dans la hiérarchie de traduction, ou cette option est désactivée.

Pour supprimer les types d'entités sélectionnés, choisissez Supprimer les types d'entités dans le menu Lecteurs ou Rédacteurs et cochez les cases applicables.

Vous pouvez également sélectionner les types d'entités dans le canevas ou le volet Navigateur et appuyer sur la touche Suppr.

Déplacer le type d'entité est activé uniquement lorsque vous avez plusieurs jeux de données de destination et au moins un type d'entité de destination dans l'espace de travail.

Il est utilisé pour modifier rapidement le jeu de données pour un groupe de types d'entités. Par exemple, si vous avez un jeu de données MIF avec des types d'entités et un ensemble de données Oracle sans aucun type d'entité. Vous pouvez rapidement basculer tous les types d'entités MIF vers les types d'entités Oracle en modifiant leur jeu de données associé. Tous les types d'entités MIF seront déplacés vers le jeu de données Oracle.

Vous pouvez également le faire en utilisant un type de fonctionnalité à la fois en suivant ces étapes :

  1. Affichez la boîte de dialogue Type d'entité de destination.
  2. Cliquez sur la zone de liste déroulante « Jeu de données : » et choisissez dans la liste des jeux de données (cela modifie le jeu de données du type d'entité).

Pour sortir un seul type d'entité, cliquez avec le bouton droit sur un type d'entité et sélectionnez Activer uniquement ce type de fonctionnalité.

Pour activer plusieurs types de fonctionnalités, sélectionnez les types de fonctionnalités, puis cliquez avec le bouton droit et sélectionnez Activer les objets.

Vous pouvez également sélectionner ces options dans les menus Readers et Writers.

Pour désactiver un type d'entité et tous ses liens, cliquez avec le bouton droit sur un type d'entité et choisissez Désactiver.

Pour désactiver plusieurs types de fonctionnalités, sélectionnez-les tous, puis cliquez avec le bouton droit et sélectionnez Désactiver les objets.


Provisionner un attribut à plusieurs valeurs

Certains attributs tels que phoneNumbers et e-mails sont des attributs à valeurs multiples pour lesquels vous devrez peut-être spécifier différents types de numéros de téléphone ou d'e-mails. Utilisez l'expression ci-dessous pour les attributs à valeurs multiples. Il vous permet de spécifier le type d'attribut et de le mapper à l'attribut utilisateur Azure AD correspondant pour la valeur.

phoneNumbers[type eq "work"].value

phoneNumbers[type eq "mobile"].valeur

phoneNumbers[type eq "fax"].value


Modifier la couche Repères

Quelques endroits clés manquent à la couche Landmarks, comme la Piazza San Marco que vous avez explorée dans la leçon précédente. Les données ne sont pas toujours parfaites. Ce n'est pas grave, vous pouvez modifier le calque pour ajouter les endroits manquants.

  1. Zoomez sur le signet Piazza San Marco.
  2. Sur le ruban, cliquez sur l'onglet Modifier. Dans le groupe Fonctionnalités, cliquez sur le bouton Créer.

Le volet Créer des entités apparaît, affichant les couches disponibles pour la modification.

Vous pouvez maintenant ajouter des points de repère à la carte.

Le nouveau point est automatiquement sélectionné, en le surlignant en bleu.

Si vous n'aimez pas l'endroit où vous avez placé votre point, vous pouvez l'annuler. Vous pouvez également le supprimer : assurez-vous que le point est sélectionné, et dans l'onglet Modifier, dans le groupe Fonctionnalités, cliquez sur le bouton Supprimer.

Ensuite, vous ajouterez un point de repère à un autre lieu important de Venise : le pont du Rialto.

C'est le pont du Rialto, le plus vieux pont de Venise.

Lorsque vous ajoutez un point, le pointeur peut s'accrocher à d'autres couches d'entités. L'accrochage est une fonction d'édition qui facilite le placement d'entités les unes à côté des autres. Pour désactiver la capture, dans l'onglet Modifier, cliquez sur le bouton Capture (ou suspendez temporairement la capture en maintenant la barre d'espacement enfoncée pendant l'édition).

Vous ajouterez un autre point de repère à un endroit qui remplit une fonction importante pour Venise : l'île de San Michele.

San Michele est le lieu de repos de nombreux morts de Venise (mais pas toujours le lieu de repos final - l'espace est limité, et parfois les corps doivent être déplacés). Bien qu'il ne soit pas aussi célèbre que la Piazza San Marco ou le pont du Rialto, c'est toujours un point de repère important.

Le bouton Enregistrer de l'onglet Modifier enregistre toutes les modifications apportées à la couche sélectionnée dans le volet Contenu. Il n'enregistre pas le projet. Pour enregistrer l'intégralité de votre projet, cliquez sur le bouton Enregistrer de la barre d'outils d'accès rapide .


Groupes d'attributs d'article et attributs

Les groupes d'attributs sont un groupe logique d'attributs qui sont affichés dans leur propre sous-région de la page d'interface utilisateur au moment de l'exécution. Les groupes d'attributs peuvent être à une seule ligne ou à plusieurs lignes. Le comportement sélectionné détermine la manière dont les attributs apparaissent dans l'interface utilisateur, ainsi que la manière dont ils sont utilisés. Chaque groupe d'attributs est associé à une ou plusieurs classes d'articles.

Pour créer un groupe d'attributs et un attribut, vous utilisez la tâche Gérer les groupes d'attributs et les attributs d'article de l'offre Gestion des produits dans la zone de travail Configuration et maintenance. Créez un groupe d'attributs et spécifiez son utilisation de contexte en tant qu'élément. Vous pouvez fournir au groupe d'attributs des privilèges d'affichage ou de modification, ou les deux. Choisissez le comportement de l'attribut sur une seule ligne ou sur plusieurs lignes :

Groupe d'attributs à une seule ligne : contient une collection d'attributs qui apparaissent sous forme de champs distincts dans une région nommée pour le groupe d'attributs. Par exemple, un groupe d'attributs à une seule ligne nommé Processeur contient les attributs appropriés pour un processeur. Lorsque ces groupes d'attributs sont affichés dans l'interface utilisateur, les champs d'attributs de chaque groupe sont organisés de manière compacte dans une région intitulée avec le nom du groupe d'attributs. Les attributs peuvent être de plusieurs types de données.

Groupe d'attributs à plusieurs lignes : les attributs apparaissent sous forme de colonnes dans un tableau qui représente le groupe d'attributs. Chaque ligne du tableau est considérée comme un groupe d'attributs. Les attributs sont une collection de valeurs spécifiées par les colonnes de la table. Le tableau apparaît dans l'interface utilisateur dans une région intitulée avec le nom du groupe d'attributs, tel que le prix MSRP. Aucun autre champ n'apparaît dans le tableau. Par exemple, un groupe d'attributs à plusieurs lignes nommé Prix MSRP contient les attributs Pays, MSRP et Devise. Chaque ligne du tableau décrit un prix PDSF et correspond à une valeur du groupe d'attributs Prix PDSF.

Lorsque vous configurez un groupe d'attributs, vous pouvez attribuer des privilèges. À l'aide de ces privilèges, vous contrôlez la capacité de l'utilisateur à afficher ou à modifier les attributs dans les éléments suivants : afficher ou modifier les tâches d'article, l'analyse d'impact des ordres de modification et le rapport sur la structure de l'article. Pour ce faire, sélectionnez les privilèges d'affichage et de modification du groupe d'attributs dans Utilisation du contexte.

Dans le groupe d'attributs, créez un attribut et un ensemble de valeurs. Par exemple, créez un groupe d'attributs nommé Coût et conformité et ajoutez dans cet attribut un attribut nommé Coût du matériel. À l'aide d'ensembles de valeurs, définissez l'ensemble de devises applicables au coût de l'article. Après avoir créé des groupes d'attributs et des attributs, effectuez ces tâches :

Associez l'attribut à la classe d'articles à l'aide de la tâche Gérer la classe d'articles


Voir la vidéo: cour 5 ARCGIS 10:les requêtes