The ability to add maps to QlikView apps has a lot of kerb appeal. Putting aside the discussion about the validity of some types of geographic analysis (let us just call it the ‘sales where people live’ syndrome) I wanted to go through some of the mappings options I have come across while building with QlikView. I will try to be as impartial as possible and I am most definitely not sponsored by any of the commercial mapping vendors. This is in no-way going to be a exhaustive list of all mapping options, it is just the ones I have used.
I have broken them down into two groups:
- Commercial mappings solutions – Unsurprisingly these are solutions that carry a license cost.
- OpenSource mapping solutions – Further shock and horror, these solutions are free to use.
Commercial mappings solutions
I thought I would start with…
Google!?! They are free to use I hear you say. Wrong! If you were building a public-facing Qlikview application with moderate page-views, then yes, Google wont mind you using their mapping API and their maps. Anyone else, and especially anyone who is using Google maps on a private network requires a Google Maps For Business license, which i understand start at around £7,000 ($10,000) and increase according to expected number of API calls your users make. So always check with your organisations legal bods before diving into Google Maps.
Right, now the health warning is out of the way… Google provide a very nice set of visualisation methods that integrate with their ubiquitous (always have to think when i spell that) maps. Everyone who uses the internet should be comfortable with Google maps making visualisations that much easier to interpret.
QlikView can use Google maps in a number of ways, but the main ones I have worked with are the standard scatter chart and Alexander Karlsson’s mapping extensions.
This is taken from the updated version of the What’s New in QV11 demo app. If you are a customer of partner of Qlik, this app is free to download, so you can quite happily pillage the chart and the supporting scripting. I am a fan of the scatter chart, barring the mind-scrambling cosine equations that are used to calculate the bubble locations on a coordinate map it is simple to set up and does not need you to deploy any extensions to get working. I particularly like the fact that the map is effectively a dynamic background on a normal QlikView chart, meaning that it behaves just like a normal chart. Drawing a box around a set of bubbles and the map auto-zooming is always a crowd-pleaser. The only real limitation is that it only does bubbles. High densities of bubbles (even with transparency on) will overlap and you will lose some detail.
Alexander Karlsson’s mapping extensions
If you prefer a more packaged approach or you want to access the more advanced visualisations Google offer then I recommend looking at the extensions the Alexander has written.
He has 3 extensions available; A marker map, a cluster map and a heatmap
All 3 are configured almost identically making them quick and simple to get up-and-running. The cluster and heatmap visualisations are particularly effective when you have high density data and have that crowd-pleaser factor in spades. The only word of caution I have found is that these maps sometimes conflict with each other so try to avoid have more than one on a page. also there is the usual caveat about the use of non-supported extension objects. Make sure your IT admins (the serious ones that talk about compliance, ITIL and stuff like that) are happy for you to use unsupported extensions.
That is enough on Google, onto other vendor offerings…
I would say that GeoQlik is the ‘big dog’ when it comes to qlikView mapping options. It’s ability to provide independent layered mapping puts it in a league of its own.
You can, with perseverance, achieve the same kinds of Geo-analysis you would normally expect from a dedicated GIS package.
That being said it does have a few niggles. First a foremost is that it is an Adobe Flash application with a QlikView wrapper that backs onto GeoQlik’s own mapping servers for calls. So, no IOS, a limited future and the mapping response can be unpredictable, compared to something like Google. The second niggle is the interface which is evil and obscure. I would recommend anyone looking to use Geoqlik in anger to try and find some training and/or guidance to lead you up the brutal learning curve.
Idevio are the final commercial mapping solution I am going to cover. This is a simpler solution than Geoqlik. What you get is a regular extension object, but the click interactions and maps are retrieved via Idevio’s servers.
It is relatively easy to setup and use, but I tend to find the maps it produces does not have that crowd-pleaser factor you expect from Qlikview mapping. i actually think you can achieve a better look with the open-source options below.
OpenSource mapping solutions
Right, that is the commercial ones out of the way, now onto the open source offerings. As usual these have been written by some very clever people out of the goodness of their hearts. They do try to help if you have a question, but they certainly dont provide formal support for these solutions. As I said above you will need your IT admins’ (blah, blah, serious, blah blah ITL, etc) blessing before deploying unsupported code. That being said here are two very cool solutions available for you to just grab and use.
Written by Qlik’s own Brian Munz (link on the right). QuickMap is the successor to his previous KML extension and the mapping extension that came with 11.2 SR5. It uses the OpenStreetMap API and map tiles. You can use it to plot coordinates as dots , lines and shapes, but it also allows you to plot KML files onto the map providing great looking choropleth mapping.
Do not be tempted to dismiss OpenStreetMap just because it is not Google. The collaborative nature of its data and maps means that it has a wealth of details you wont find on Google. Especially in towns and cities you can regularly go down to individual buildings, and all for free.
It is not all good news… There is no multi-layering here so even though you can there is not much point putting dots and kml shapes on the same chart. There is also no calculation conditions so there is no way to stop the map trying to plot millions of dots if the user chooses the wrong filter. Also from experience keep your KML files to a sane level of detail. Boundaries with 20,000 points are not processing friendly.
Note: I am current writing another blog that uses Quickmap to do a great map showing Point-Of-Interest proximity.
Again this is a Brian Munz baby. SVG Mapper uses the Raphael.js rendering library to take svg images with shape/path keys and allows you to control the colour of those shapes. Voila! Quick and very simple choropleth maps that look great.
It comes with a whole set of pre-canned svg files for the countries around the globe, but there is the option to reference your own svg file. I have used SVG mapper to provide a choropleth map of a conference centres car-parks, and a warehouse’s bays. It doesn’t even had to be an svg of something physical. Although I never got to deliver it, I pitched using svg mapper to provide a production line status chart with each of the machining points represented by a different set of shapes.
Mapping, done right, is a powerful addition to QlikView and a real crowd-pleaser. I would recommend looking at Brian’s open-source options as your first port-of-call for mapping requirements, before you consider investing in one of the commercial options out there.
That’s it. Have fun with your mapping 🙂