Vous pouvez spécifier la taille d'une zone tampon à l'aide des Outils GeoAnalytics en saisissant des valeurs, en utilisant un champ ou en faisant appel à d'autres méthodes. Dans certains cas, vous pouvez effectuer un calcul mathématique pour définir la taille de la zone tampon. Vous pouvez appliquer des calculs simples ou complexes à tous les enregistrements. Ce calcul s'applique à chaque entité. Les sections suivantes comprennent des exemples d'utilisation d'une expression de zone tampon. Les calculs sont effectués lorsque l'analyse est exécutée sur votre instance d'ArcGIS GeoAnalytics Server.
Dans ArcGIS Enterprise 10.6 et ultérieur, les expressions sont mises en forme à l’aide des expressions Arcade. En savoir plus sur les expressions Arcade et sur les expressions Arcade avec GeoAnalytics Server 10.6 et ultérieur.
Les expressions de zone tampon sont utilisées par les outils Reconstruire les pistes et Créer des zones tampon.
Calculs simples
Exemples de mathématiques simples
Les expressions de zone tampon peuvent traiter les nombre mathématiquement.
Opérateur | Explication | Exemple | Résultat |
---|---|---|---|
a + b | a plus b | fieldname contient la valeur 1.5 ["nom du champ"] + 2.5 | 4.0 |
a - b | a moins b | fieldname contient la valeur 3.3 ["nom du champ"]- 2.2 | 1.1 |
a * b | a multiplié par b | fieldname contient la valeur 2.0 ["nom du champ"] * 2.2 | 4.4 |
a / b | a divisé par b | fieldname contient la valeur 4.0 ["nom du champ"] / 1.25 | 3.2 |
abs( a ) | Renvoie la valeur absolue (positive) de a. | fieldname contient la valeur -1.5 abs(["nom du champ"]) | 1.5 |
log ( a ) | Renvoie le logarithme naturel (base E) de a. | fieldname contient la valeur 1 log(["nom du champ"]) | 0 |
sin ( a ) | Renvoie le sinus trigonométrique de a. On suppose que l'entrée est un angle en radians. | fieldname contient la valeur 1.5707 sin(["nom du champ"]) | 1 |
cos( a ) | Renvoie le cosinus trigonométrique de a. On suppose que l'entrée est un angle en radians. | fieldname contient la valeur 0 cos(["nom du champ"]) | 1 |
tan( a ) | Renvoie la tangente de a. On suppose que l'entrée est un angle en radians. | fieldname contient la valeur 0 tan(["nom du champ"]) | 0 |
sqrt( a ) | Renvoie la racine carrée de a. | fieldname contient la valeur 9 sqrt(["nom du champ"]) | 3 |
min( a, b ) | Renvoie la valeur a ou b la plus faible. | fieldname contient les valeurs 1.5 et -3 min(["nom du champ"], -3) | -3 |
max( a, b ) | Renvoie la valeur a ou b la plus élevée. | fieldname1 contient la valeur 1.5 et fieldname2 contient la valeur -3 max(["nom du champ1"], ["nom du champ2"]) | 1.5 |
Multiplication
["Distance"] * 2
Fonctions intégrées pour les Outils GeoAnalytics
Exemples de fonctions de distance (en mètres, pieds, milles, etc.)
Les expressions de zone tampon peuvent redéfinir des valeurs numériques en distance linéaire.
Fonction | Explication | Exemple | Résultat |
---|---|---|---|
as_meters( <valeur> ) | Applique un calcul en supposant que les valeurs en entrée sont en mètres | as_meters( ["nom du champ"] ) as_meters(150) | Les résultats sont bufférisés avec une distance de 150 mètres. |
as_kilometers( <valeur> ) | Applique un calcul en supposant que les valeurs en entrée sont en kilomètres | as_kilometers( ["nom du champ"] ) as_kilometers(150) | Les résultats sont bufférisés avec une distance de 150 kilomètres. |
as_feet( <valeur> ) | Applique un calcul en supposant que les valeurs en entrée sont en pieds | as_feet( ["nom du champ"] ) as_feet(150) | Les résultats sont bufférisés avec une distance de 150 pieds. |
as_yards( <valeur> ) | Applique un calcul en supposant que les valeurs en entrée sont en yards | as_yards( ["nom du champ"] ) as_yards(150) | Les résultats sont bufférisés avec une distance de 150 yards. |
as_nautical_miles( <valeur> ) | Applique un calcul en supposant que les valeurs en entrée sont en miles nautiques | as_nautical_miles( ["nom du champ"] ) as_nautical_miles(150) | Les résultats sont bufférisés avec une distance de 150 milles nautiques. |
as_miles( <valeur> ) | Applique un calcul en supposant que les valeurs en entrée sont en miles terrestres | as_miles( ["nom du champ"] ) as_miles(150) | Les résultats sont bufférisés avec une distance de 150 miles. |
Pour chaque entité, multipliez le champ Distance en admettant qu’il est exprimé en kilomètres, puis ajoutez 10 mètres.
as_kilometers(["Distance"]) + as_meters(10)
Fonctions intégrées avancées pour les expressions de zone tampon des Outils GeoAnalytics
Outre les expressions mathématiques simples, vous pouvez utiliser d'autres fonctions avancées pour appliquer des expressions de zone tampon.
Fonction | Explication | Exemple | Résultat |
---|---|---|---|
constrain(<value>,<low>,<high>) | Renvoie la valeur en entrée si elle est comprise dans les limites de contrainte. Si la valeur est inférieure à la valeur basse, elle renvoie la valeur basse. Si la valeur est supérieure à la valeur élevée, elle renvoie la valeur élevée. | constrain( ["distance"], 0, 10) constrain(['Store dist'], 6, distance) | Renvoie 0 si distance est inférieure à 0, 10 si distance est supérieure à 10 et distance dans les autres cas. Renvoie 6 si Store dist est inférieure à 6, distance si Store dist est supérieure à distance et Store dist dans les autres cas. |
iff(<condition>,<true value>,<false value>) | Renvoie une valeur si une condition est true et une autre valeur si la condition est false. <true value> et <false value> peuvent être :
| iff(["champ1"] > ["champ2"], ["champ1"], 0) iff(["champ1"] > ["champ2"], iff(["champ2"] = 0, ["champ3"], ["champ4"]), 0) | Renvoie field1 si field1 est supérieur à field2 et 0 dans les autres cas. Renvoie le résultat de la deuxième fonction iff si field1 est supérieur à field2 et 0 dans les autres cas. |
when(<expression1> , <result1> , <expression2> , <result2> , ... , <expressionN> , <resultN>, <default>) | Evalue une série d’expressions jusqu’à ce que l’une soit true.
| when((["champ1"] + 10) > 1, 1,(["champ2"] + 10) > 2 , 2, ["champ3"]) | Si field1 + 10 est supérieur à 1, renvoie 1. Sinon, vérifie si field2 + 10 est supérieur à 2. Renvoie 2 si c'est le cas. Si ce n'est pas le cas, renvoie field3. |
decode(<conditional val> , <case1> , <result1>, <case2>, <result2>, ... <caseN>, <resultN>, <defaultValue> ) | La fonction decode évalue une expression et compare sa valeur aux paramètres suivants. Si l’expression correspond, elle renvoie la valeur du paramètre suivant. Si aucune correspondance n’est trouvée, le dernier paramètre peut être une valeur de renvoi par défaut.
| decode(["champ1"] + 3 , ["champ1"], 1, ["champ2"], 2, 0) | Compare l'égalité entre la valeur conditionnelle field1 + 3 et cas1 field1. Si la condition est true, renvoie 1. Si la condition est false, compare l'égalité entre field1 + 3 et field2. Si la condition est true, renvoie 2 ; sinon, renvoie 0. |
Les instructions conditionnelles peuvent utiliser les opérateurs suivants :
Opérateur | Explication | Exemple | Résultats |
---|---|---|---|
a > b a < b | a est supérieur à b. a est inférieur à b. | 10 > 2 | False |
a >= b a <= b | a est supérieur ou égal à b. a est inférieur ou égal à b. | abs(-10) >= 10 | True |
a != b | a est différent de b. | abs(-3) != -3 | True |
a == b | a est égal à b. | abs(-5) == 5 | True |
<condition1> OR <condition2> | La condition un ou la condition deux est satisfaite. | (abs(-5) == 5) OR (10 < 2) | True |
<condition1> AND <condition2> | La condition un et la condition deux sont satisfaites. | (abs(-5) == 5) AND (10 < 2) | False |
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?