O Dashboard for ArcGIS nos permite apresentar informações através de elementos visuais como, mapas, gráficos e indicadores de forma simples e rápida. O item principal para que você tenha um dashboard atraente e que possibilite a obtenção de resultados são os dados bem estruturados. Exemplos disso são:
Precisar de um novo campo para ter o resultado de um cálculo realizado com algum campo;
Agrupar itens de vários campos em um único para exibição;
Desaguar informações de um único campo afim de obter um gráfico organizado;
Esse tipo de alteração pode ser complexa se você não for o dono do conjunto de dados e gerar muito retrabalho para a equipe, que terá de reestruturar o mesmo, gerando um atraso na criação do Dashboard e conclusão de suas atividades.
A fim de otimizar problemas como esses, a nova atualização do Dashboard agora nos permite criar “Expressões de Dados”.
Mas o que são expressões de dados?
Expressões de dados são expressões em Arcade com uma linguagem de programação, após escritas nos retornam um FeatureSet que é utilizado como fonte de dados para alguns elementos disponíveis no Dashboard.
Com uso do Arcade teremos a possibilidade de realizar cálculos matemáticos, manipular qualquer tipo de textos em campos variados, criar declarações logicas de verdadeiro ou falso e muitas outras funcionalidades que você pode encontrar consultando o material da linguagem Arcade, todas essas possibilidades nos ajudam a ter um Dashboard que proporciona uma experiencia completa a seu usuário com elementos mais atrativos e com informações objetivas.
Adicionando Expressão de dados no Dashboard
Para adicionar uma expressão é bem simples, basta selecionar o elemento no Dashboard na qual deseja incluir e selecionar a opção “Nova expressão de dados” como no exemplo abaixo.
Após isso, você pode dar um nome a sua expressão, o que facilita muito na hora de replicar para outros elementos, se necessário, pode definir um intervalo de atualização de sua expressão e no espaço em branco você escreve a expressão a ser implementada.
Outro ponto importante é o de que esse tipo de expressão de dados não aceita variáveis globais, então utilizamos a função do Arcade chamada FeatureSetByPortalItem
Obs.: O uso de expressões robustas pode prejudicar o desempenho de seu Dashboard, portanto utilize as mesmas quando forem viáveis de serem implementadas. O intervalo de atualização também influencia muito, portanto defina intervalos que façam sentido em relação a frequência que os dados são utilizados, você pode por exemplo rodar somente uma vez ao dia ao invés de rodar a cada minuto.
Exemplos de problemas comuns
Vamos exemplificar problemas comuns que podem ser resolvidos de maneira simples utilizando expressões de dados.
Exemplos de problemas comuns
Vamos exemplificar problemas comuns que podem ser resolvidos de maneira simples utilizando expressões de dados.
1- Dividir dados
Para quem já utiliza nossa ferramenta para trabalhos em campo Survey123, sabe que quando utilizamos uma pergunta com a opção de múltipla escolha, nos resultados os dados vêm de forma agrupada em um único campo, impossibilitando a criação de gráficos legíveis.
Como exemplo temos uma base de dados exibida abaixo:
Foi criado um gráfico sem utilizar expressões e ele agrupará os itens respondidos separando por “,” e torando a experiência e interpretação dos dados ruins, como exemplo abaixo:
Onde as informações são exibidas de forma agrupada, de acordo com o que os usuários foram inserindo, criando vários resultados diferentes impossibilitando a obtenção de um número total de cada escolha.
Com o uso das expressões de dados conseguimos separar os dados e apresentar esse valor separado por item, vamos ao exemplo.
Inserimos a expressão:
// Reference layer using the FeatureSetByPortalItem() function.
var fs = FeatureSetByPortalItem(Portal(‘https://www.arcgis.com’), ‘b9e8dbd7f4c4ccbd0a938a506c5’ , 0, [‘frutas’], false);
// Empty dictionary to capture each hazard reported as separate rows.
var choicesDict = {‘fields’: [{ ‘name’: ‘split_choices’, ‘type’: ‘esriFieldTypeString’}],
‘geometryType’: ”, ‘features’: []};
var index = 0;
// Split comma separated hazard types and store in dictionary.
for (var feature in fs) {
var split_array = Split(feature[“frutas”], ‘,’)
var count_arr = Count(split_array)
for(var i = 0; i < count_arr; i++ ){
choicesDict.features[index++] = {
'attributes': { 'split_choices': Trim(split_array[i]),
}}
}}// Convert dictionary to featureSet.
var fs_dict = FeatureSet(Text(choicesDict));// Return featureset after grouping by hazard types.
return GroupBy(fs_dict, ['split_choices'],
[{ name: 'split_count', expression: 'split_choices', statistic: 'COUNT' }]);
A FeatureSet resultante passa a ser uma tabela com a contagem de cada tipo de fruta escolhida separadas uma das outras, como exibido abaixo.
Com essa nova estrutura conseguimos montar um novo gráfico com informações mais claras e legíveis, proporcionando uma experiência melhor ao usuário, conforme abaixo:
2- Trabalhando dados brutos
Quando trabalhamos com dados brutos e precisamos montar uma lista para exibir informações sobre ele, conseguimos montar os resultados a nível de linhas, registro por registro como exibido abaixo.
Ao aplicarmos uma expressão de dados, conseguimos saber de maneira agrupada as informações de qualquer campo e exibi-las no elemento de lista tornando sua experiência mais atrativa, vamos ao exemplo.
Inserimos a expressão:
var fs = FeatureSetByPortalItem(Portal(‘https://arcgis.com/’), ‘3d3d53d5fa8c4ed39fa196a3d63d7d57’, 0, [‘nome’,’estado’,’frutas’,’alimentacao’], false);
// Return a featueset with multiple group by statistics.
return GroupBy(fs, [‘estado’], [
{name: ‘Alimentam Bem’, expression: ‘alimentacao’, statistic: ‘COUNT’ }]);
A FeatureSet resultante será uma lista com as respostas agrupadas por Estado como pedido na expressão.
Com isso conseguimos montar uma lista que exibe os valores já contabilizados por estado e ainda nos permite a criação de uma exibição avançada no elemento de lista, como descrito em sua documentação.
Exemplo do resultado após aplicarmos a expressão é da contagem de respostas por estado, como abaixo.
Conclusão
O uso das expressões de dados nos auxilia muito na padronização e reestruturação dos dados a fim de exibir informações no Dashboard, vimos alguns exemplos de problemas que são facilmente resolvidos e temos outras várias possibilidades para aplicar, basta mergulhar na documentação sobre o Arcade e descobrir tudo o que a linguagem pode nos oferecer.
Fique por dentro de todas as novidades do Portal GEO. Faça grátis sua inscrição!
Você também pode gostar:
O poder do encontro da análise espacial e da ciência de dados
Entendendo a plataforma ArcGIS
Utility Network aplicado nos setores elétrico e saneamento
A batalha por dados precisos e as pandemias
Você gostou desse artigo?
O Portal GEO está sempre trabalhando para trazer novidades, tendências e o que há de melhor em dicas do universo GIS. Clique abaixo e faça sua inscrição gratuita para receber com comodidade todos os nossos artigos, que tenho certeza, vão te apoiar em seu cotidiano profissional e pessoal, te deixando sempre bem informado: