J’ai créé une carte Web dans ArcGIS Online contenant des polygones représentant les zones de collecte des déchets solides. Chaque polygone contient des informations sur les jours où le camion passe dans cette zone et la plage horaire correspondante. Je pensais qu’il serait utile de créer une expression Arcade affichant le prochain passage du camion dans chaque zone.
Pour une raison quelconque, le résultat de l’expression ne s’affiche pas dans la fenêtre contextuelle. Le résultat de l’expression est vide pour tous les polygones sélectionnés :

Il s’agit probablement d’une erreur dans l’expression, mais ce qui est étrange, c’est que le test dans la fenêtre Arcade renvoie bien un résultat valide :

J’ai écrit quelques valeurs dans la console et, dans ce cas, le polygone utilisé avait la fréquence « WS » (mercredi et samedi = Miércoles y Sábado😞

Alors, pourquoi le test renvoie-t-il un résultat, mais pas la fenêtre contextuelle pour le même polygone et les mêmes attributs ?
Voici les paramètres de la fenêtre contextuelle :

Et voici le script que j’ai écrit jusqu’à présent :
<SPAN class="comment token">// jours de la semaine 0=DO, 1=LU, 2=MA, 3=MI, 4=JU, 5=VI, 6=SA </SPAN>
<SPAN class="keyword token">var</SPAN> dias <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">'LJ'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'MV'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'WS'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">6</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'LWV'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'MJS'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">6</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'LaS'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">2</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">6</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> horas <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">'3PM A 7PM'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">15</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">19</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'6AM a 10AM'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">6</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">10</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'8AM a 12M.'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">8</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">12</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'9PM a 1AM'</SPAN><SPAN class="punctuation token">:</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">21</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">24</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> ahora <SPAN class="operator token">=</SPAN> <SPAN class="token function">Now</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> hoy <SPAN class="operator token">=</SPAN> <SPAN class="token function">Weekday</SPAN><SPAN class="punctuation token">(</SPAN>ahora<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> hora <SPAN class="operator token">=</SPAN> <SPAN class="token function">Hour</SPAN><SPAN class="punctuation token">(</SPAN>ahora<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'aujourd’hui :' </SPAN> <SPAN class="operator token">+</SPAN> hoy<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'heure :' </SPAN> <SPAN class="operator token">+</SPAN> hora<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Fréq. :' </SPAN><SPAN class="operator token">+</SPAN>$feature<SPAN class="punctuation token">.</SPAN>FRECUENCIA<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'horaire :' </SPAN><SPAN class="operator token">+</SPAN>$feature<SPAN class="punctuation token">.</SPAN>HORARIO<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> lst_dias <SPAN class="operator token">=</SPAN> dias<SPAN class="punctuation token">[</SPAN>$feature<SPAN class="punctuation token">.</SPAN>FRECUENCIA<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'lst_dias :' </SPAN> <SPAN class="operator token">+</SPAN> lst_dias<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> lst_hora_minmax <SPAN class="operator token">=</SPAN> horas<SPAN class="punctuation token">[</SPAN><SPAN class="token function">Upper</SPAN><SPAN class="punctuation token">(</SPAN>$feature<SPAN class="punctuation token">.</SPAN>HORARIO<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'lst_hora_minmax :' </SPAN> <SPAN class="operator token">+</SPAN> lst_hora_minmax<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> test <SPAN class="operator token">=</SPAN> <SPAN class="token function">IndexOf</SPAN><SPAN class="punctuation token">(</SPAN>lst_dias<SPAN class="punctuation token">,</SPAN> hoy<SPAN class="punctuation token">)</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'test :' </SPAN> <SPAN class="operator token">+</SPAN> test<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> resultado <SPAN class="operator token">=</SPAN> <SPAN class="string token">'Non défini'</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>test <SPAN class="operator token">!=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'aujourd’hui dans la liste'</SPAN><SPAN class="punctuation token">)</SPAN>
resultado <SPAN class="operator token">=</SPAN> <SPAN class="string token">'está hoy:'</SPAN> <SPAN class="operator token">+</SPAN> $feature<SPAN class="punctuation token">.</SPAN>HORARIO<SPAN class="punctuation token">;</SPAN>
hora_max <SPAN class="operator token">=</SPAN> lst_hora_minmax<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>hora <SPAN class="operator token"><</SPAN> hora_max<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
resultado <SPAN class="operator token">=</SPAN> <SPAN class="string token">'arrive aujourd’hui : '</SPAN> <SPAN class="operator token">+</SPAN> $feature<SPAN class="punctuation token">.</SPAN>HORARIO<SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'pas aujourd’hui dans la liste, chercher le prochain jour'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">// trouver le jour suivant</SPAN>
<SPAN class="keyword token">var</SPAN> dia_min <SPAN class="operator token">=</SPAN> lst_dias<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'dia_min:'</SPAN> <SPAN class="operator token">+</SPAN> dia_min<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> i <SPAN class="operator token">=</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">for</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">var</SPAN> a <SPAN class="keyword token">in</SPAN> lst_dias<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
i<SPAN class="operator token">++</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'i:'</SPAN><SPAN class="operator token">+</SPAN>i<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> dia_max <SPAN class="operator token">=</SPAN> lst_dias<SPAN class="punctuation token">[</SPAN>i<SPAN class="number token">-1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'dia_max:'</SPAN> <SPAN class="operator token">+</SPAN> dia_max<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>hoy <SPAN class="operator token"><</SPAN> dia_min<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'aujourd’hui < dia_min'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> dif_days <SPAN class="operator token">=</SPAN> dia_min <SPAN class="operator token">-</SPAN> hoy<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> next_day <SPAN class="operator token">=</SPAN> <SPAN class="token function">DateAdd</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="token function">Today</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> dif_days<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'jours'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>hoy <SPAN class="operator token">></SPAN> dia_max<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'aujourd’hui > dia_max'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> dif_days <SPAN class="operator token">=</SPAN> dia_min <SPAN class="operator token">+</SPAN> <SPAN class="number token">7</SPAN> <SPAN class="operator token">-</SPAN> hoy<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> next_day <SPAN class="operator token">=</SPAN> <SPAN class="token function">DateAdd</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="token function">Today</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> dif_days<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'jours'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">else</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="comment token">// entre le minimum et le maximum, attention, il y a plus d’un élément</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'aujourd’hui entre le minimum et le maximum'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> dif_days <SPAN class="operator token">=</SPAN> dia_max <SPAN class="operator token">-</SPAN> hoy<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> next_day <SPAN class="operator token">=</SPAN> <SPAN class="token function">DateAdd</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="token function">Today</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> dif_days<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'jours'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN>next_day<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> mes <SPAN class="operator token">=</SPAN> <SPAN class="token function">Month</SPAN><SPAN class="punctuation token">(</SPAN>next_day<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">;</SPAN>
resultado <SPAN class="operator token">=</SPAN> <SPAN class="token function">Day</SPAN><SPAN class="punctuation token">(</SPAN>next_day<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"-"</SPAN> <SPAN class="operator token">+</SPAN> mes <SPAN class="operator token">+</SPAN> <SPAN class="string token">"-"</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="token function">Year</SPAN><SPAN class="punctuation token">(</SPAN>next_day<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">' - '</SPAN> <SPAN class="operator token">+</SPAN> $feature<SPAN class="punctuation token">.</SPAN>HORARIO<SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">return</SPAN> resultado<SPAN class="punctuation token">;</SPAN>
<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
C’est n’est toujours pas terminé, mais il devrait donner un résultat, et je m’attendrais à obtenir le même résultat que lors du test dans l’éditeur d’expressions Arcade.
Quelqu’un sait-il ce qui pourrait clocher dans l’expression ou ailleurs ?
CC : KGerrow-esristaff
https://community.esri.com/community/developers?sr=search&searchId=a4c7f5bd-4c33-4c15-864d-ff3a75503093&searchIndex=1