Ir para conteúdo principal

Qlik Sense GeoOperations

Qlik Sense O GeoOperations permite funções e cálculos geográficos, como o cálculo de rotas ou áreas de viagem. Ele também permite o carregamento de dados geográficos de uma ampla variedade de fontes de dados. O Qlik Sense GeoOperations permite que você resolva problemas geográficos com seus dados, como:

  • Determinando quantos clientes moram a menos de 15 minutos de carro de uma loja
  • Vincular posições de GPS a locais, regiões ou redes rodoviárias
  • Criar áreas de vendas personalizadas a partir de uma lista de municípios
  • Encontrar o hospital mais próximo para obter uma lista de pacientes

As funções do GeoOperations estão disponíveis na criação de script para o script de carregamento de dados e em expressões de visualização. Cada uma das funções do GeoOperations pode carregar dados implicitamente. As funções do GeoOperations também podem ser usadas para transformar dados geográficos ou fazer cálculos.

Nota informativaPara um exemplo de como usar o GeoOperations, consulte exemplo de GeoOperations.

Recursos

  • Disponível na linguagem de script no Qlik Sense SaaS.

  • Extrai relações espaciais para que possam ser tratadas pelo Qlik.
  • Carregar pesquisas de tempo de locais (como uma alternativa para as pesquisas de tempo de apresentação no gráfico de mapa).
  • Agregação de pontos em agrupamentos ou compartimentos.
  • Especifique locais como:
    • Geometrias de ponto, linha ou área no mesmo formato que QlikGeoAnalytics e Qlik Sense
    • Campos de latitude e longitude
    • Pontos ou áreas nomeadas
  • Carregue dados geográficos de uma variedade de formatos de entrada.
  • Use operações em dados já carregados no Qlik.

Como funciona o GeoOperations

 

O Qlik Sense GeoOperations funciona enviando script e, opcionalmente, uma tabela para a extensão GeoOperations no script de carregamento. A extensão no lado do servidor retornará os dados. O GeoOperations disponibiliza um objeto do Advanced Analytics Integration chamado GeoOperations, disponível na linguagem de script, que fornece a função ScriptEval para enviar o script e a tabela para a extensão. Por exemplo, o seguinte é o script de carregamento para aplicar a operação TravelAreas à tabela MyPoints carregada anteriormente e especificar parâmetros para o tamanho/custo da área de viagem:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

 

O script é enviado como o primeiro parâmetro para ScriptEval e a tabela como o segundo.

O GeoOperations são funções que operam em conjuntos de dados. Os conjuntos de dados vêm de dados carregados no Qlik Sense ou de fontes externas, como arquivos geográficos ou o serviço de localização. Os dados enviados do script estão disponíveis como um conjunto de dados denominado INTABLE. Se você deseja especificar parâmetros adicionais nesses dados, você precisa declará-los após a chamada de função como um DATASOURCE. Por exemplo:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")

DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

 

Outras fontes de dados sempre precisam ser declaradas, e parâmetros como URLs precisam ser especificados. Em cada operação, você pode especificar as fontes de dados a serem usadas. Por padrão, as operações selecionam os conjuntos de dados disponíveis conforme descrito para cada operação em Operação (somente em inglês).

Onde usar o GeoOperations

Todas as operações podem ser usadas no script de carregamento de dados. Algumas operações podem ser usadas em expressões em scripts de gráficos para mapas, bem como para permitir cálculos dinâmicos. Cada vez que a seleção muda, a operação é executada. Os dados não vão para o modelo de dados quando o GeoOperations é usado em gráficos, impedindo uma análise mais aprofundada desses dados.

Selecionando e renomeando campos do GeoOperations

As funções do GeoOperations retornam campos. Por padrão, todos os campos são retornados e incluídos. Você pode preceder as funções do GeoOperations com uma instrução SELECT para selecionar e, opcionalmente, renomear campos específicos de interesse. Por exemplo, este script usa SELECT para carregar apenas dois dos campos de código postal do serviço de localização:

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

 

Usar um comando SELECT no script GeoOperations pode ser mais eficiente do que especificar campos no comando Qlik LOAD, pois os dados não são carregados no Qlik Sense se não estiverem selecionados no script do GeoOperations.

O SELECT pode ser usado para evitar o cálculo de alguns campos, optando-se por não retorná-los nos resultados. Por exemplo, os campos de sobreposição relativos retornados por Intersects podem ser excluídos.

Nota informativa

Se você estiver usando a mesma operação várias vezes em seu script de carregamento, use um comando SELECT para renomear os campos.

Limitações

As seguintes limitações se aplicam ao tamanho máximo dos conjuntos de dados:

  • Número máximo de linhas: 50.000
  • Tamanho máximo do conjunto de dados na memória: 150 MB
  • Máximo de linhas com roteamento: 400
  • Máximo de linhas com pesquisas de nome: 20,000

Algumas operações suportam fluxo de dados do Qlik Engine. Os dados transmitidos do Qlik Engine podem ser maiores, mas o limite de tamanho para roteamento ainda é aplicável.

Sintaxe do script

O script que pode ser enviado ao GeoOperations tem a seguinte sintaxe:

1. Operação

A forma mais simples do script executa uma operação.

Sintaxe:  

Operation(paramName="paramValue", ...)

Exemplo:  

Cluster(distance="100000")

 

Para obter mais informações, consulte a lista de operações e seus parâmetros.

2. Conjunto de dados

A segunda etapa é carregar um conjunto de dados para as operações escolhidas a serem aplicadas.

Sintaxe:  

Operation(paramName="paramValue", ...)

DATASOURCE name TYPE paramName="paramvalue", ...

Exemplo:  

Within()

DATASOURCE states LOCATIONSERVICE type="STATE", country="US"

 

Para obter mais informações, consulte a lista de conjuntos de dados e seus parâmetros.

3. Reunindo tudo

É assim que o script completo ficaria no Editor de carregamento de dados:

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable);

 

Neste exemplo, MyTable pode ser qualquer outra tabela carregada contendo pontos, linhas, áreas nomeadas ou outros dados geográficos.

4. Filtrar campos

As adições a seguir permitem que os resultados da operação sejam filtrados ainda mais.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable{Name, Point});

Nomes de parâmetros e nomes de campos diferenciam maiúsculas de minúsculas, mas o mesmo não ocorre com operações, opções de parâmetros (como meters, minutes, car e assim por diante) ou palavras-chave, como SELECT e FROM.