Snažím se symbolizovat mapu podle doby, která uplynula od data v poli „DATE_ISSUE“ do dnešního dne (tedy Today()), přičemž pokud je bod mladší než 6 měsíců, je „aktivní“; pokud je starší než rok, je „prošlý“; pokud je starý 6 měsíců až rok, je „starý“; a pokud v poli „DATE_ISSUE“ není zadáno žádné datum, je „čekající“.
Mám zkušební záznam 67 bodů. U 24 není uvedeno datum vydání, 1 bod je z 8. prosince 2016 (stáří 518 dní), 1 je z 8. září 2017 (stáří 244 dní), 1 je z 12. května 2017 (stáří 363 dní) a zbytek je z ledna 2018 nebo pozdější.
Zatím mám toto:
var pDate = Date(Today());
var rDate = Date($feature["DATE_ISSUE"]);
var age = DateDiff(pDate, rDate, 'days');
if (age < 182.5){
"AKTIVNÍ"
}
else if(age >= 182.5 && age <355){
"STARÝ"
}
else if (age >= 365 && age < 10000){
"PROŠLÝ"
}
else if (age > 10000){
"ČEKAJÍCÍ"
}
Tato poslední větev else if je důsledkem toho, že prázdné pole „DATE_ISSUE“ se ve funkci DateDiff vypočítá jako 17 661,33.
Výsledkem je 40 „aktivních“, 24 „čekajících“ a tři objekty starší než 182,5 dne prostě zmizí. Doslova. V tabulce atributů je všech 67. Možnosti symbolizace však ukazují celkem 64 bodů a 0 v kategorii „ostatní“. Když zaškrtnu „ostatní“, ty 3 body se zobrazí, i když je jejich počet 0.
Při kontrole funkce DateDiff se negenerují žádné hodnoty vyšší než 126 dní, s výjimkou výše zmíněných 17 661,33.
Chci jen vizuálně označit prošlé nebo staré body, aby je pracovníci kanceláře nemuseli vyhledávat.