Vytvořil jsem webovou mapu v ArcGIS Online, která obsahuje polygony pro svoz komunálního odpadu. Každý polygon obsahuje informace o dnech, kdy v dané zóně projíždí svozový vůz, a časovém rozmezí, kdy k tomu dochází. Napadlo mě, že by bylo užitečné vytvořit výraz Arcade, který by pro každou oblast zobrazoval nejbližší čas průjezdu svozového vozu.
Z nějakého důvodu se výsledek výrazu v místním okně nezobrazuje. U každého vybraného polygonu zůstává pole s výsledkem výrazu prázdné:

Pravděpodobně je příčinou chyba ve výrazu, ale zvláštní je, že test v okně Arcade vrací platný výsledek:

Vypsal jsem některé hodnoty do konzole a v tomto případě se použil polygon s frekvencí „WS“ (středa a sobota = Miércoles y Sábado😞

Proč tedy test vrací výsledek, ale v místním okně se u stejného polygonu a stejných atributů žádný výsledek nezobrazuje?
Níže je nastavení místního okna:

A zatím napsaný skript:
<SPAN class="comment token">// dny v týdnu: 0=NE, 1=PO, 2=ÚT, 3=ST, 4=ČT, 5=PÁ, 6=SO </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">'dnes:'</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">'hodina:'</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">'Frekvence:'</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">'rozvrh:'</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">'seznam_dní:'</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">'seznam_minmax_hodin:'</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">'Nenastaveno'</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">'dnes je den v seznamu'</SPAN><SPAN class="punctuation token">)</SPAN>
resultado <SPAN class="operator token">=</SPAN> <SPAN class="string token">'proběhlo dnes:'</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">'přijde dnes: '</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">'dnes není v seznamu, hledá se další den'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">// najít další den</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">'minimální den:'</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">'maximální den:'</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">'dnes < min. den'</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">'dny'</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">'dnes > max. den'</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">'dny'</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">// mezi minimem a maximem, pozor, je tam více než jedna položka</SPAN>
<SPAN class="token function">Console</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'dnes mezi minimem a maximem'</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">'dny'</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>
Je to je stále nedokončené, ale mělo by to vrátit nějaký výsledek a očekával bych, že bude stejný jako při testování v editoru výrazů Arcade.
Ví někdo, co by mohlo být špatně ve výrazu nebo někde jinde?
CC: KGerrow-esristaff
https://community.esri.com/community/developers?sr=search&searchId=a4c7f5bd-4c33-4c15-864d-ff3a75503093&searchIndex=1