Accéder au contenu principal

Qlik Sense GeoOperations

Qlik Sense GeoOperations permet d'effectuer des calculs géographiques et d'utiliser des fonctions telles que le calcul d'itinéraires ou de zones de circulation. Cela permet également de charger des données géographiques depuis une grande variété de sources de données. Qlik Sense GeoOperations permet de résoudre des problèmes géographiques avec les données, par exemple, d'effectuer les opérations suivantes :

  • Déterminer le nombre de clients qui vivent à 15 minutes en voiture de l'emplacement d'un magasin
  • Associer des positions GPS à des lieux, des régions ou des réseaux routiers
  • Créer des zones commerciales personnalisées à partir d'une liste de municipalités
  • Trouver l'hôpital le plus proche pour une liste de patients

Les fonctions GeoOperations sont disponibles dans le script pour le script de chargement de données et dans les expressions de visualisation. Les fonctions GeoOperations peuvent chacune charger des données de manière implicite. Les fonctions GeoOperations permettent également de transformer des données géographiques ou d'effectuer des calculs.

Note InformationsPour savoir comment utiliser GeoOperations, voir Exemple GeoOperations.

Fonctions

  • Disponible dans le langage de script dans Qlik Sense SaaS.

  • Extrait des relations spatiales, afin que Qlik puisse les manipuler.
  • Recherches de temps de chargement d'emplacements (comme alternative aux recherches de temps de présentation dans le graphique de carte).
  • Agrégation de points dans des clusters ou des compartiments.
  • Spécifiez les emplacements comme suit :
    • Géométries de type point, ligne ou zone au même format que QlikGeoAnalytics et Qlik Sense
    • Champs de latitude et de longitude
    • Points ou zones nommés
  • Chargez des données géographiques depuis une gamme de formats d'entrée.
  • Utilisez des opérations sur les données déjà chargées dans Qlik.

Principe de fonctionnement de GeoOperations

Qlik Sense GeoOperations fonctionne en envoyant un script et éventuellement une table à l'extension GeoOperations dans le script de chargement. L'extension côté serveur renvoie ensuite les données. GeoOperations met à disposition un objet Intégration de l'analytique avancée appelé "GeoOperations" dans le langage de script, qui fournit la fonction ScriptEval pour envoyer le script et la table à l'extension. Par exemple, voici le script de chargement permettant d'appliquer l'opération TravelAreas à la table précédemment chargéeMyPoints et de spécifier les paramètres de taille/coût de la zone de circulation :

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

 

Le script est envoyé comme premier paramètre à ScriptEval et la table comme deuxième paramètre.

GeoOperations est un ensemble de fonctions qui s'appliquent aux ensembles de données. Les ensembles de données proviennent des données chargées dans Qlik Sense ou de sources externes telles que des fichiers géographiques ou le service de localisation. Les données envoyées du script sont disponibles sous forme d'ensemble de données nommé INTABLE. Si vous souhaitez spécifier des paramètres supplémentaires sur ces données, vous devez les déclarer après l'appel de la fonction sous forme de DATASOURCE. Par exemple :

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

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

 

Il convient toujours de déclarer d'autres sources de données et de spécifier des paramètres tels que des URL. Dans chaque opération, vous pouvez spécifier les sources de données à utiliser. Par défaut, les opérations sélectionnent les ensembles de données disponibles tel que décrit pour chaque opération dans Operation (uniquement en anglais).

Où utiliser GeoOperations

Toutes les opérations peuvent être utilisées dans le script de chargement de données. Certaines opérations peuvent également être utilisées dans des expressions dans des scripts de graphique pour cartes afin d'effectuer des calculs dynamiques. L'opération est exécutée à chaque changement de sélection. Lorsque GeoOperations est utilisé dans des graphiques, les données ne sont pas transmises au modèle de données, empêchant ainsi leur analyse plus poussée.

Sélection et renommage de champs GeoOperations

Les fonctions GeoOperations renvoient des champs. Par défaut, tous les champs sont renvoyés et inclus. Vous pouvez faire précéder les fonctions GeoOperations d'une instruction SELECT pour sélectionner et éventuellement renommer des champs spécifiques qui vous intéressent. Par exemple, ce script utilise SELECT pour charger uniquement deux des champs de code postal provenant du service de localisation :

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

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

 

L'utilisation d'une instruction SELECT dans le script GeoOperations peut s'avérer plus efficace que la spécification de champs dans l'instruction Qlik LOAD, car les données ne sont pas chargées dans Qlik Sense si elles ne sont pas sélectionnées dans le script GeoOperations.

SELECT peut être utilisé pour éviter de calculer certains champs en choisissant de ne pas les renvoyer dans les résultats. Par exemple, il est possible d'exclure les champs en chevauchement relatifs renvoyés par Intersects.

Note Informations

Si, dans votre script de chargement, vous utilisez plusieurs fois la même opération, utilisez une instruction SELECT pour renommer les champs.

Restrictions

Les restrictions suivantes s'appliquent à la taille maximale des ensembles de données :

  • Nombre maximal de lignes : 50 000
  • Taille d'ensemble de données maximale en mémoire : 150 Mo
  • Nombre maximal de lignes avec routage : 400
  • Nombre maximal de lignes avec recherches de nom : 20 000

Certaines opérations prennent en charge les données diffusées par Qlik Engine. Les données diffusées par Qlik Engine peuvent être plus volumineuses, mais la taille limite pour le routage continue de s'appliquer.

Syntaxe de script

La syntaxe du script à envoyer à GeoOperations est la suivante :

1. Opération

La forme la plus simple du script effectue une opération.

 

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

 

Cluster(distance="100000")

 

Pour plus d'informations, voir la liste des opérations et leurs paramètres.

2. Ensemble de données

La deuxième étape consiste à charger un ensemble de données auquel appliquer la ou aux opérations de votre choix.

 

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

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

 

Within()

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

 

Pour plus d'informations, voir la liste des ensembles de données et leurs paramètres.

3. Combinaison des différents éléments

Voici ce à quoi le script terminé ressemblerait dans Éditeur de chargement de données :

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

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

’, MyTable);

 

Dans cet exemple, MyTable peut être n'importe quelle autre table contenant des points, des lignes, des zones nommées ou d'autres données géographiques.

4. Champs de filtre

Les ajouts suivants permettent de filtrer davantage les résultats de l'opération.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

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

’, MyTable{Name, Point});

Les noms de paramètre et les noms de champ sont sensibles à la casse, mais les opérations, les options de paramètre (telles que meters, minutes, , etc.) ou les mots clés tels que SELECT et FROM ne le sont pas.