Instrução
ArcGIS Arcade é uma linguagem de expressão que pode ser usada para configurar pop-ups no Portal for ArcGIS Map Viewer. As funções Arcade Date fornecem métodos para criar objetos de data e adquirir várias propriedades dos objetos. Por exemplo, as funções DateAdd() e DateDiff() são usadas para ajustar a data com base em um intervalo especificado, e a função Now() é usada para obter a hora local atual do cliente.
Este artigo fornece as etapas para calcular a diferença entre dois campos de data em pop-up no Portal for ArcGIS Map Viewer. Neste exemplo, o número de dias exibido antes da última inspeção de hidrante no pop-up é obtido referenciando os valores do campo Data de Inspeção (como visto na imagem abaixo) e a hora local atual do cliente.



var <variableName> = Now() var <variableName1> = $feature.<date_fieldName>;
var <variableName2> = Floor(DateDiff(<variableName>, <variableName1>, 'years'));
var <variableName3> = DateAdd(<variableName1>, <variableName2>, 'years');
var <variableName4> = DateDiff(<variableName>, <variableName3>, 'days');
if (IsEmpty($feature.<date_fieldName>)){
return "<textValue>";
} else if (<variableName2> >= <numberValue>) {
return "<textValue1> " + <variableName2> + " <textValue2> " + Floor(<variableName4> , <numberValue1>) + " <textValue3>";
} else if (<variableName2> == <numberValue2>) {
return "<textValue4> " + Floor(<variableName4> , <numberValue1>) + " <textValue3>";
} else if (<variableName2> == <numberValue1> && <variableName4> >= <numberValue>) {
return "<textValue1> " + Floor(<variableName4> , <numberValue1>) + " <textValue3>";
} else if (<variableName2> == <numberValue1> && <variableName4> >= <numberValue2>) {
return "<textValue1> " + Floor(<variableName4> , <numberValue1>) + " <textValue5>";
} else if (<variableName2> == <numberValue1> && <variableName4> < <numberValue2>) {
return "<textValue6>";
}
O bloco de código a seguir demonstra o script de trabalho do Arcade completo.
var timeNow = Now();
var survey = $feature.DATEINSPECTED;
var y = Floor(DateDiff(timeNow, survey, 'years'));
var date1a = DateAdd(survey, y, 'years');
var d = DateDiff(timeNow, date1a, 'days');
if (IsEmpty($feature.DATEINSPECTED)){
return "-";
} else if (y >= 2) {
return "Last Inspection: " + y + " years and " + Floor(d , 0) + " days ago.";
} else if (y == 1) {
return "Last Inspection: 1 year and " + Floor(d , 0) + " days ago.";
} else if (y == 0 && d >= 2) {
return "Last Inspection: " + Floor(d , 0) + " days ago.";
} else if (y == 0 && d >= 1) {
return "Last Inspection: " + Floor(d , 0) + " day ago.";
} else if (y == 0 && d < 1) {
return "Last Inspection: today.";
}


A imagem abaixo mostra o campo Última Inspeção (dias) recém-adicionado no pop-up usando o ArcGIS Arcade para fornecer uma contagem dos dias ou anos desde que um hidrante foi inspecionado pela última vez.

ID do Artigo: 000028205
Obtenha ajuda de especialistas do ArcGIS
Comece a conversar agora