Using Qlik GeoAnalytics for Qlik Sense
This user guide explains how to use some of the unique features in GeoAnalytics. More detailed information is available in the documentation of the properties for each product. Another source of information are the examples and guides. Often it is efficient to use one of the examples as a starting point.
GeoAnalytics consists of two parts; the extensions that provides the visualization and a connector that provide load time operations. Both parts are installed at the same time but you can choose which to use.
The overall principle for GeoAnalytics is that the map and the various layers are separated in different components. The map and the data from Qlik displays on the GeoAnalytics map component but the dimensions and measures are connected to the layer components. The layer components automatically connect to the map component and display the data on it. If there are multiple maps on the page you need to specify which one the layer belongs to (Layer Options->Map ID).
The Map component is responsible for the background map and the layer components for application data on top of the map. There are several different layer components for different kinds of visualizations:
- Bubble Layer - symbols on points which can be colored and scaled by measures, also custom symbols and rotation is supported
- Line Layer - displays lines either from a start point to an end point or from geometries with breakpoints. Measures can control color and line width. Optionally lines can have arrows and be curved.
- Area Layer - shows areas in colors controlled by measures
- Heatmap Layer - displays point density with a color scale. Each point contributes to the intensity within a certain influence radius with a value that can come from a measure.
- Geodata Layer - visualizes background map data, either from a tile service or from a file, such as GeoJSON. The URL is an expression that is evaluated at each selection and data is reloaded when the URL changes. This way it can connect to external data services with dynamic data.
Locations of data can in GeoAnalytics be represented in several different ways. Locations are used for putting data on the map but also for analysis done at load time with the GeoAnalytics connector.
Location IDs are names of features that can be used instead of actual coordinates. These are sometimes called geokeys. They are typically names or codes of countries, regions, postal codes, airport codes etc. They are looked up in the GeoAnalytics Location Service, alternatively a geographic file (GeoJSON or GML) can be used for the mapping.
Geometries, Sense style, are strings of coordinates within brackets. For instance "[12, 57.7]" is a point, "[[12, 57.7], [121, 57.6]]" is a line etc. Note that longitude comes first in this format.
Latitude and Longitude values can be used directly in Bubble Layer and Line Layer.
Use settings under Location Options in each layer to control how locations are interpreted.
Load time operations with GeoAnalytics
GeoAnalytics comes with a connector. It provides several geographic operations that can be applied at load time. It also loads several types of geographic and non geographic data sources that the operations can be applied to. One type of data source is tables that are already loaded in Qlik. That way operations can be applied to loaded data.
The connector has a wizard that lets you choose operation and then provides fields for operation parameters and data sources to apply the operation at. Example of operations are:
- Within - returns a table with relations between geometries in one dataset to geometries that contains them in another dataset.
- Closest - returns a table with relations between geometries in one dataset to the closest geometry in another dataset.
- Dissolve - creates custom areas based on smaller areas.
- Cluster - calculates clusters from a point dataset.
- Binning - aggregates points in a rectangular or hexagonal grid.
Drill down hierarchies can be visualized in 2 ways. If the data in the different levels is of same kind (like all are areas) and should be visualized in the same way, a single layer can be used.
Use the drill-down as dimension and add measures as usual. The dimension can be a location id, geometry or just an id. When selecting a single object (in the map or outside the map) the next level will be displayed automatically.
If you want to display different drill-down levels differently you can restrict a layer to be displayed in just some levels. Write the levels you want the layer to be displayed, separated with commas, in Layer Options->Restrict Drill Down. The drill-down must be the dimension. Then add other layers that are restricted to other drill-down levels.
Binning - visualize large point datasets
Binning is a technique to cluster point data in regularly shaped areas such as rectangles or hexagon. The purpose can be to get a less cluttered aggregated view of the data or increase performance. Binning is often configured so that different binning is displayed in different scales and the actual data may be displayed when zooming in.
Binning in GeoAnalytics is available in the GeoAnalytics connector. In Qlik Sense, open the Data Load Editor and create a new connector "Qlik GeoAnalytics Connector" and then press the "Select Data" button.
In the wizard you can chose between Rectangular and Hexagonal bins and the size of the bins. The size is specified in degrees, one degree is approximately 100000 m. Good width-height-ratios varies depending on latitude. The default value is appropriate around latitude +-48 deg. For areas around +-60 deg use width-height-ratio 2 and near the equator 1. That is if you want near square bins.
Chose a Loaded Table as the dataset type and fill in the name of the table you want to apply binning to. Enter the necessary fields for the data. If you have not loaded the data chose another type.
Binning is often combined with techniques for displaying different aggregated data in different scales such as drill-down or select visible, see more in respective section.
Zooming and panning in large point datasets
Note, this only applies to GeoAnalytics for Qlik Sense.
Usually when browsing in large datasets a drill-down technique is applied. However, this is not optimal for map presentations. When you have zoomed in and pan to the side the natural behavior is that data for that areas is loaded, not as in drill down that nothing is displayed until you remove your selection and drill-down in a new area. The new feature called 'select visible' in GeoAnalytics makes this natural browsing of data possible. You can freely browse around in millions of points and the visualization automatically displays aggregated data when zoomed out and all the details when you are at more detailed scales.
To create an app that behaves in this way two things needs to be done. First, in the Data Load Editor create a Qlik GeoAnalytics Connector and open the wizard. Chose the SpatialIndex operation to be applied on your data. The default operation parameters are good enough in most cases.
Second, in the Map Settings, check 'Auto Select Visible'.
Now the map selects points based on what is visible in the map. To make this effective, you should add layers that are active in different resolution ranges. Display aggregated information (such as binned data, see section for Binning) when zoomed out and details when zoomed in. Control the resolution ranges where the layers are visible with 'In Resolution Limit' and 'Out Resolution Limit' in 'Layer Settings' for each layer. To determine good resolutions to use when switching layers, turn on debug information that displays current resolution in Map Settings->Debug->Show Debug Info.
To prevent Qlik from generating data for inactive layers when zoomed out, which can take a lot of time and memory for large datasets, you can check 'Disable when Inactive' in 'Layer Options' for each layer that presents detailed data. Note that you must save your app with a not too large selection, i.e. zoomed in, to prevent a large slow selection when the app is started. It is a technical limitation in Qlikthat the layer can not be disabled at the initial selection.
The first choice is to select which base map to use. This is done in the map settings at: Map Settings->Base Map
With the default and plain base maps you can select which layers should be visible by bringing up the layer control by checking: Interaction and Controls->Show Layer Control
When the layer control is visible on the map you can choose which layers that should be displayed.
Some layers comes in both an English and a local version. Layers ending in Eng contains English text and the others text in the local language. For instance, there is both a Borders and a BordersEng layer. Make sure only one of them is checked.
The visibility state of each layer is saved with the app so you can hide it when you are satisfied with the tuning.
Localization of labels in base map
See Tuning the base map.
Labels and pop-Ups
All layers that have measures can display labels next to the object. Labels can be any expression and for Bubble Layer the placement is configurable, see settings under Appearance->Label. Note that labels a single line texts without formatting codes.
Info bubbles are by default shown when hovering or clicking on an object. The default text contains the dimensions and measures. It can however be configured to display any html and is produced by an expression that composes the html string. The settings for the Info Bubble are found at Appearance>Info Bubble.
To build more customized behavior links and buttons can be used in the Info Bubbles. This is one place where a Qlik app can be integrated with other systems. A click at a button could for instance bring up another system displaying information about the selected feature.
What data is transferred to the server from the map extension?
This applies to users using GeoAnalytics servers hosted in cloud, not users with own server installations.
When using the Location Service the Location IDs are sent to our servers for lookup. However we don't log any of the location data. All we log is meta data (i.e. we log that a lookup has been made but not what was looked up).
Also when using the 'Load via Server' option to load files (
The extensions don't send any user information except for the license key in order to verify that the user has a valid license and we log those transactions of course.
To put it simply, when using the Location Service or when using 'Load via Server' we log that transactions have been made but not any of the data/information related to said transactions. In other words we don't log any user sensitive information.
What data is transferred to the server from the GeoAnalytics connector?
Using the standard connector, all datasets involved and all operation parameters are transferred to the server. However the server does not log any of the data. All that is logged is meta data (i.e. we log that an operation has been made but not the data).
When using GeoAnalytics Plus, data is sent to the server in fewer cases. Only data for lookup operations (standard areas and points, addresses, IP-lookups) and routing operations is sent to the server. All other operations take place locally and no data is transferred.
If you have lots of coordinates in another coordinate system than
To specify that you are using a non standard coordinate system, switch the base map in Map Settings to either 'Empty (undefined meters)' or 'Empty (WGS-84)', depending on if your coordinate system uses meters or degrees as length unit.
Then use a GeoData Layer to display your background map. See the reference documentation how you add an external tile service or a vector file like
Now layers will expect coordinates to be in the same coordinate system as your background map. Note that the location service currently is limited to