Les mots-clés du dictionnaire permettent un comportement avancé des fonctions des règles attributaires, comme le renvoi de messages d’erreur personnalisés avec les instructions conditionnelles ou l’application des fonctions de mise à jour sur des entités d’une autre classe d’entités. Lorsque vous rédigez des expressions ArcGIS Arcade pour des règles attributaires, le type de dictionnaire de renvoi doit utiliser l’un des mots-clés réservés répertoriés ci-dessous. Pour effectuer plusieurs opérations, étendez le dictionnaire avec des mots-clés différents. Pour en savoir plus sur l’utilisation de ces mots-clés du dictionnaire, reportez-vous à la rubrique Exemples d’expressions de script des règles attributaires.
Remarque :
Lorsque vous définissez les paramètres de mots-clés GlobaID ou GlobalID, assurez-vous que la valeur est placée entre des guillemets simples.
result
Renvoie une valeur unique ou un dictionnaire pour l’entité. Vous ne pouvez utiliser ce mot-clé qu’avec des règles de calcul.
Lorsque vous utilisez le mot-clé result pour renvoyer une valeur unique, vous devez définir un champ cible dans la règle attributaire afin de mettre à jour le champ approprié. Vous pouvez renvoyer un result sous forme de dictionnaire pour mettre à jour plusieurs champs de l’entité. Lorsqu’un result est renvoyé sous forme de dictionnaire, le champ cible dans la règle attributaire est facultatif. Vous pouvez spécifier n’importe quel champ à mettre à jour dans le dictionnaire à l’aide des paramètres de mot-clé présentés dans le tableau ci-dessous.
Lorsque le champ cible est défini dans la règle attributaire et que vous renvoyez un result sous forme de dictionnaire :
- Si le champ cible se trouve dans le dictionnaire, le champ cible est mis à jour avec la valeur définie dans le dictionnaire.
- Si le champ cible est omis dans le dictionnaire, aucune modification n’est apportée au champ cible.
Attention :
Les paramètres de mot-clé pour un result dans une règle attributaire ne sont pris en charge qu’avec ArcGIS Pro 3.1 ou ArcGIS Enterprise et versions ultérieures.
Paramètre de mot-clé | Description |
---|---|
attributs | Met à jour les champs spécifiés. La valeur est un dictionnaire de paires nom de champ et attribut. |
géométrie | Met à jour la géométrie. La valeur est un objet géométrie. |
return {
//result is a single value
'result': 200
}
return {
//result is a dictionary
"result": {
"attributes": {
"field1": 'field1', //updates field1 in the $feature
"field2": 11 //updates field2 in the $feature
},
"geometry": Rotate($feature) //updates geometry in $feature
}
}
errorMessage
Indique un message d’erreur défini par l’utilisateur, correspondant à une erreur survenue pendant l’évaluation. Utilisez le mot-clé errorMessage lorsque vous créez des instructions logiques dans des expressions Arcade pour le renvoi de messages d’erreur personnalisés. Lorsque errorMessage est renvoyé, aucun autre mot-clé de dictionnaire ne peut être utilisé. Étudiez un exemple illustrant comment renvoyer un message d’erreur personnalisé.
return {
"errorMessage": "Error message text"
}
calculationRequired
Marque d’autres entités comme nécessitant une évaluation des règles de calcul par lots. Lorsque ce mot-clé est utilisé, il convient de modifier l’attribut Validation Status (Statut de validation) pour que la ou les entités correspondantes soient marquées comme nécessitant un calcul. Ce mot-clé ne peut être utilisé qu’avec des règles de calcul, sous réserve que l’option Exclude from application evaluation (Exclure de l’évaluation de l’application) soit définie sur true (vrai). Consultez un exemple illustrant la façon de marquer d’autres entités pour évaluation.
Paramètre de mot-clé | Description |
---|---|
className, nom de classe | (obligatoire) Nom de la table ou de la classe d’entités à modifier. La valeur est le nom de la classe d’entités. |
objectIDs | globalIDs | (obligatoire) Matrice d’ObjectID ou de GlobalID à modifier. La valeur est une matrice d’ObjectID ou de GlobalID. |
return {
'calculationRequired': [{
'classname': 'featureclass_name',
'globalIDs': ['{8B421724-32D0-408A-A8EE-CCC2B064D52B}']
}]
}
validationRequired
Marque d’autres entités comme nécessitant une évaluation des règles de validation. Lorsque ce mot-clé est utilisé, il convient de modifier l’attribut Validation Status (Statut de validation) pour que les entités correspondantes soient marquées comme nécessitant une validation. Ce mot-clé ne peut être utilisé qu’avec des règles de calcul, sous réserve que l’option Exclude from application evaluation (Exclure de l’évaluation de l’application) soit définie sur true (vrai). Consultez un exemple illustrant la façon de marquer d’autres entités pour évaluation.
Paramètre de mot-clé | Description |
---|---|
className, nom de classe | (obligatoire) Nom de la table ou de la classe d’entités à modifier. La valeur est le nom de la classe d’entités. |
objectIDs | globalIDs | (obligatoire) Matrice d’ObjectID ou de GlobalID à modifier. La valeur est une matrice d’ObjectID ou de GlobalID. |
return {
'validationRequired': [{
'classname': 'featureclass_name',
'globalIDs': ['{60905A3D-9783-435D-B4C9-AA4ADA59AD32}']
}]
}
modifier
Effectue l’insertion, la mise à jour et la suppression des entités dans les classes d’entités spécifiées. Le mot-clé edit ne peut être utilisé qu’avec des règles de calcul, et l’option Exclude from application evaluation (Exclure de l’évaluation de l’application) doit être définie sur true (vrai). Consultez un exemple illustrant la façon de mettre à jour une autre classe d’entités.
Pour un réseau de distribution, vous pouvez utiliser le mot-clé edit pour mettre à jour l’association de $feature à l’aide du mot-clé associationType. Pour mettre à jour une association dans le réseau de distribution, attribuez à ^UN_Association la valeur className. ^UN_Association vous donne accès à la table d’associations du réseau de distribution pour mettre à jour toute association entre des entités lorsque vous utilisez les paramètres de mot-clé associés pour des adds et des updates.
Lorsque vous mettez à jour des associations avec le mot-clé edit (mettre à jour), les règles du réseau de distribution ne sont pas prises en compte au cours de l’évaluation. Les entités de réseau sont validées au cours de tâches de topologie du réseau telles que l’activation ou la validation de la topologie du réseau.
En savoir plus sur les associations de réseau de distribution
Paramètre de mot-clé | Description |
---|---|
className, nom de classe | (obligatoire) Nom de la table ou de la classe d’entités à modifier. La valeur est le nom de la classe d’entités. |
Type de mise à jour à effectuer. La valeur est une matrice de dictionnaires détaillant les mises à jour de chaque type de mise à jour. |
Remarque :
Ne créez pas de script qui effectue des mises à jour récursives. Si un script est configuré pour effectuer une mise à jour qui déclenche ou évalue la règle attributaire, une boucle infinie est créée. Cela génère des résultats inattendus.
adds
Mot-clé à utiliser dans le dictionnaire edit pour effectuer des insertions dans une classe d’entités ou une table spécifiée.
Paramètre de mot-clé | Description |
---|---|
attributs | Met à jour les champs spécifiés. La valeur est un dictionnaire de paires nom de champ et attribut. |
géométrie | Met à jour la géométrie. La valeur est un objet géométrie. |
associationType | Met à jour l’association de $feature dans un réseau de distribution. Parmi les valeurs possibles, on compte les suivantes :
Voici les autres valeurs possibles pour la version 4 du réseau de distribution et versions ultérieures :
|
fromTerminal | La borne d’origine à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne. |
toTerminal | La borne de destination à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne. |
isContentVisible | Indique si le contenu est visible pour une association de contenu. La valeur est true (vrai) ou false (faux). |
percentAlong | Le pourcentage le long d’une ligne ou d’un tronçon lorsque associationType est à mi-portée. La valeur est un pourcentage compris entre 0 et 1. |
balise | Définit une balise pour une entité ou un enregistrement qui n’a pas encore été créé. Vous pouvez faire référence à la valeur de la balise dans d’autres parties du dictionnaire edit comme les mots-clés fromGlobalID ou toGlobalID au moment de mettre à jour ^UN_Association. La valeur est une chaîne unique. Remarque :La balise ne peut être utilisée qu’avec ArcGIS Pro 3.1 ou ArcGIS Enterprise 10.9 et version ultérieure. |
Paramètres de mot-clé pour ajouter une association lorsque className est défini sur ^UN_Association.
Paramètre de mot-clé | Description |
---|---|
fromClass | (obligatoire) Nom de la classe d’entités ou d’objets participant à l’association. |
fromGlobalID | (obligatoire) GlobalID de l’entité ou de l’objet. |
toClass | (obligatoire) Nom de la classe d’entités ou d’objets participant à l’association. |
toGlobalID | (obligatoire) GlobalID de l’entité ou de l’objet. |
associationType | (obligatoire) Type d’association entre les entités d’un réseau de distribution. Parmi les valeurs possibles, on compte les suivantes :
Voici les autres valeurs possibles pour la version 4 du réseau de distribution et versions ultérieures :
|
fromTerminal | Borne d’origine d’une association de connectivité. La valeur est le nom de la borne. |
toTerminal | Borne de destination d’une association de connectivité. La valeur est le nom de la borne. |
isContentVisible | Indique si le contenu est visible pour une association de contenu. La valeur est true (vrai) ou false (faux). |
percentAlong | Le pourcentage le long d’une ligne ou d’un tronçon lorsque associationType est à mi-portée. La valeur est un pourcentage compris entre 0 et 1. |
return {
'edit': [{
'className': 'b_edit_dict',
'adds': [{
'attributes': {
'field_name': 11
},
'geometry': Geometry({
'x': -76.8375008,
'y': 39.4949383,
'spatialReference': {
'wkid': 4326
}
})
}]
}]
}
"edit": [{
"className": "ElectricDistributionJunctionObject",
"adds": [{ //adds a new Electric Distribution Junction Object and creates and midspan association to the $feature
"percentAlong": 0.5,
"associationType": 'midspan'
}]
}]
}
//$feature is an edge object in the utility network
//The arcade will add two junction objects and associate them to the $feature
//The junction object with asset group 5 and asset type 1 has a terminal configuration of High/Low
return {
"result": $feature.assetid,
"edit": [{
"className": "ElectricDistributionJunctionObject",
"adds": [{
"attributes": { //Adds a junction object
"assetgroup": 5,
"assettype": 1
}, //create a connectivity association between the $feature and junction object
"toTerminal": "High", //to the high side terminal of the junction object
"associationType": "junctionEdgeFrom" //on the from side of the edge object
}, {
"attributes": { //Adds a junction object
"assetgroup": 5,
"assettype": 1
}, //create a connectivity association between the $feature and junction object
"toTerminal": "High", //to the high side terminal of the junction object
"associationType": "junctionEdgeTo" //on the to side of the edge object
}]
}]
}
return { //creates two new Structure Junction Objects and creates an association between them using a tag
"edit": [{
//create two junction objects and identify them uniquely with a tag
"className": "StructureJunctionObject",
"adds": [{
"tag": "jo1", //unique identifier for new feature in the Structure Junction Object class
"attributes": {
"AssetGroup": 1,
"AssetType": 2
}
}, {
"tag": "jo2", //unique identifier for new feature in the Structure Junction Object class
"attributes": {
"AssetGroup": 1,
"AssetType": 2
}
}]
}, {
"className": "^UN_Association", //edit the association table create a attachment association between the new junction objects
"adds": [{
"fromClass": "StructureJunctionObject",
"fromGlobalId": "jo1.globalID",
"toClass": "StructureJunctionObject",
"toGlobalId": "jo2.globalID",
"associationType": "attachment"
}]
}]
}
mises à jour
Mot-clé à utiliser dans le dictionnaire edit pour effectuer des mises à jour dans une classe d’entités ou une table spécifiée.
Paramètre de mot-clé | Description |
---|---|
objectID | globalID | (obligatoire) Valeur d’ObjectID ou de GlobalID d’une entité à mettre à jour. La valeur est un ObjectID ou un GlobalID. |
attributs | Met à jour les champs spécifiés. La valeur est un dictionnaire de paires nom de champ et attribut. |
géométrie | Met à jour la géométrie. La valeur est un objet géométrie. |
associationType | Met à jour l’association de l’entité dans un réseau de distribution. Parmi les valeurs possibles, on compte les suivantes :
Voici les autres valeurs possibles pour la version 4 du réseau de distribution et versions ultérieures :
|
fromTerminal | La borne d’origine à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne. |
toTerminal | La borne de destination à mettre à jour lorsque la valeur associationType est sur connecté, junctionEdgeFrom ou junctionEdgeTo. La valeur est le nom de la borne. |
isContentVisible | Indique si le contenu est visible pour une association de contenu. La valeur est true (vrai) ou false (faux). |
percentAlong | Le pourcentage le long d’une ligne ou d’un tronçon lorsque associationType est à mi-portée. La valeur est un pourcentage compris entre 0 et 1. |
Paramètres de mot-clé pour mettre à jour une association lorsque className est défini sur ^UN_Association.
Paramètre de mot-clé | Description |
---|---|
isContentVisible | Indique si le contenu est visible pour une association de contenu. La valeur est true (vrai) ou false (faux). |
percentAlong | Le pourcentage le long d’une ligne ou d’un tronçon lorsque associationType est à mi-portée. La valeur est un pourcentage compris entre 0 et 1. |
return {
'edit': [{
'className': 'b_edit_dict',
'updates': [{
'globalID': '{7EBAB596-E9DB-40D8-9756-B2EBED2500B7}',
'attributes': {
'field_name': 22
}
}]
}]
}
return {
"result": $feature.assetid,
"edit": [{
"className": "electricdistributionassembly",
"updates": [{
"objectID": feature_objectid,
"associationType": 'container'
}]
}]
}
deletes
Mot-clé à utiliser dans le dictionnaire edit pour effectuer des suppressions dans une classe d’entités ou une table.
Paramètre de mot-clé | Description |
---|---|
objectID | globalID | (obligatoire) Valeur d’ObjectID ou de GlobalID d’une entité à mettre à jour. La valeur est un ObjectID ou un GlobalID. |
return {
'edit': [{
'className': 'b_edit_dict',
'deletes': [{
'objectID': 22
}]
}]
}
Vous avez un commentaire à formuler concernant cette rubrique ?