Exemples d’expression de zone tampon pour ArcGIS Enterprise 10.5 et 10.5.1
Vous pouvez spécifier la taille d’une zone tampon en utilisant des outils GeoAnalytics autrement qu’en saisissant des valeurs ou en utilisant un champ. Dans certains cas, vous pouvez effectuer un calcul mathématique pour définir la taille de la zone tampon. Vous pouvez effectuer des calculs simples ou complexes et les appliquer à 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 lors de l’exécution de l’analyse sur ArcGIS GeoAnalytics Server.
Dans ArcGIS Enterprise 10.6 et versions ultérieures, les expressions sont mises en forme à l’aide d’expressions Arcade. En savoir plus sur les expressions Arcade et sur les expressions Arcade avec GeoAnalytics Server dans la version 10.6 et les versions ultérieures.
Les expressions de zone tampon sont utilisées par les outils Reconstruct Tracks (Reconstruire les traces) et Create Buffers (Créer des zones tampon).
Calculs simples
Exemples de mathématiques simples
Les expressions de zone tampon peuvent traiter les nombres mathématiquement.
|
Opérateur |
Explication |
Exemple |
Résultat |
|---|---|---|---|
|
a + b |
a plus b |
["fieldname"] + 2.5 |
4.0 |
|
a - b |
a moins b |
["fieldname"]- 2.2 |
1.1 |
|
a * b |
a multiplié par b |
["fieldname"] * 2.2 |
4.4 |
|
a / b |
a divisé par b |
["fieldname"] / 1.25 |
3.2 |
|
abs( a ) |
Renvoie la valeur absolue (positive) de a. |
abs(["fieldname"]) |
1,5 |
|
log ( a ) |
Renvoie le logarithme naturel (base E) de a. |
log(["fieldname"]) |
0 |
|
sin ( a ) |
Renvoie le sinus trigonométrique de a. On suppose que l’entrée est un angle en radians. |
sin(["fieldname"]) |
1 |
|
cos( a ) |
Renvoie le cosinus trigonométrique de a. On suppose que l’entrée est un angle en radians. |
cos(["fieldname"]) |
1 |
|
tan( a ) |
Renvoie la tangente de a. On suppose que l’entrée est un angle en radians. |
tan(["fieldname"]) |
0 |
|
sqrt( a ) |
Renvoie la racine carrée de a. |
sqrt(["fieldname"]) |
3 |
|
min( a, b ) |
Renvoie la valeur a ou b la plus faible. |
min(["fieldname"], -3) |
-3 |
|
max( a, b ) |
Renvoie la valeur la plus élevée entre a et b. |
max(["fieldname1"], ["fieldname2"]) |
1,5 |
Multiplication
["Distance"] * 2
Fonctions intégrées pour les outils GeoAnalytics
Exemples de fonctions de distance
Les expressions de zone tampon peuvent redéfinir des valeurs numériques en distance linéaire.
|
Fonction |
Explication |
Exemple |
Résultat |
|---|---|---|---|
|
as_meters( |
Applique un calcul en supposant que les valeurs en entrée sont en mètres |
as_meters( ["fieldname"] ) as_meters(150) |
Les résultats sont bufférisés avec une distance de 150 mètres. |
|
as_kilometers( |
Applique un calcul en supposant que les valeurs en entrée sont en kilomètres |
as_kilometers( ["fieldname"] ) as_kilometers(150) |
Les résultats sont bufférisés avec une distance de 150 kilomètres. |
|
as_feet( |
Applique un calcul en supposant que les valeurs en entrée sont en pieds |
as_feet( ["fieldname"] ) as_feet(150) |
Les résultats sont bufférisés avec une distance de 150 pieds. |
|
as_yards( |
Applique un calcul en supposant que les valeurs en entrée sont en yards |
as_yards( ["fieldname"] ) as_yards(150) |
Les résultats sont bufférisés avec une distance de 150 yards. |
|
as_nautical_miles( |
Applique un calcul en supposant que les valeurs en entrée sont en milles nautiques |
as_nautical_miles( ["fieldname"] ) as_nautical_miles(150) |
Les résultats sont bufférisés avec une distance de 150 milles nautiques. |
|
as_miles( |
Applique un calcul en supposant que les valeurs en entrée sont en milles |
as_miles( ["fieldname"] ) as_miles(150) |
Les résultats sont bufférisés avec une distance de 150 miles. |
Pour chaque entité, multipliez le champ Distance en supposant que la valeur est exprimée 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 |
|---|---|---|---|
|
|
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 la valeur Renvoie 6 si |
|
|
Renvoie une valeur si une condition est
|
iff(["field1"] > ["field2"], ["field1"], 0) iff(["field1"] > ["field2"], iff(["field2"] = 0, ["field3"], ["field4"]), 0) |
Renvoie Renvoie le résultat de la deuxième fonction |
|
|
Évalue une série d’expressions les unes après les autres jusqu’à ce que l’une soit
|
when((["field1"] + 10) > 1, 1,(["field2"] + 10) > 2 , 2, ["field3"]) |
Si |
|
|
La fonction
|
decode(["field1"] + 3 , ["field1"], 1, ["field2"], 2, 0) |
Compare l’égalité entre la valeur conditionnelle |
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 |
|
|
La condition un ou la condition deux est satisfaite. |
(abs(-5) == 5) OR (10 < 2) |
True |
|
|
La condition un et la condition deux sont satisfaites. |
(abs(-5) == 5) AND (10 < 2) |
False |