Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Brian_Munz
Employee
Employee

Open Source Geospatial Mapping Extension using KML files

A little while back, I posted a few mapping extensions that read in various kinds of data to allow mapping of regions and data on Google Maps.  One major problem with those is that Google is now charging money for useof their mapping product, so in order to use this extension on any grand scale,they'd need to purchase licensing.

So, in response to this, I've built an extension which uses all open source (free) products to provide some similar mapping capabilities(and then some).  The tool which provides the scrolling and "slippy" map features is called OpenLayers which reads in map imagery from OpenStreetMap. What I've done this time, however, is built the extension to read in KML files for the regions.  KML is a format that is very common in the industry (Google Earth uses and creates the files) ,and there are many tools out there to convert other formats (like shape files) into the KML format.

So, for example, I went and found a KML file for the US 50 states and put it into this new extension, and was able to create a map similar to my other US Map extension:

map_shot.png

New Features


Above and beyond the normal features of the extensions I created for Google, this extension provides a few new features:

  • No more setting the zoom and center point - In the other extensions, you had to set the default center point of the map as well as how far in it should be zoomed when it loads.  In order to make the map more user friendly and intuitive, this extension automatically determines the center point of all of the regions and sets the window to show the whole map.  This way, also, if you click on a region, the map window will only show the selected region:
    one_state.png
  • Select Box -With this extension, if you hold down the shift key and drag an area with your mouse, a select box will appear, allowing you to select many regions at once:
    select_box.png
    Once the selection is made, the window will adjust itself to only show that region:chosen.png
  • Loading KML files - Loading KML files into the extension eliminates a lot of the manual work that was need for the other extensions.  This way, as long as the KML names and QlikView dimension match up, KML files containing any kinds of regions can be used.  So, for example, if a company has custom regions representing different sales regions, etc. in a KML file, it would be very easy to plug it into this extension.

  • It's free- It uses open source technology so nobody will have to worry about licensing or being chased down by Google.

I've attached the extension as well as a QVW and quick guide.  In the extension is a sample KML file called us_states.kml that can be used with the example QVW.

Please let me know if you have any questions.  Hopefully this is useful to people.

UPDATE

Due to some issues with versions of Internet Explorer prior to 9 and how it handles different data formats, it is now necessary to change the KML file into an XML file prior to loading it into the extension.  So, for example, if you have a KML named "counties.kml" you need to change the file extension so it becomes "counties.xml".  Hopefully I'll eventually get time so this last step can be avoided, but for now it's necessary in order for the extension to work in IE8.

I've updated the attatchments on this post to use an XML file, so the examples should now work.

176 Replies
Not applicable

Hi Brian,

Excellent work! Congratulations..

I have a problem getting this extension to work for a file of postcode boundaries. This kml file renders fine on googleearth.

All I get is a blank extension. I have made sure that <name> tag of the kml matches the region dimension (which is the postcode) in this caseUntitled.jpg

Can you please advise?

Julie_Main
Employee
Employee

Deepa, can you attach the KML file?  and I'll have a look at it?  Also, see my folder above, there is a working UK KML file in there, although to get it hooked in, you need to pull out the first part of the postcode (i.e, B, BS etc..), although I think I may also have included a file in the QAR above that would allow you to hook this into existing post codes (i.e. will take BS48 and break it out into BS.

Not applicable

Hi Jgo,

Many thanks for your quick response to my question.

I have now figured out that the issue is due to plotting of more than 10,000 postcodes. I have around 35,000 postcodes for which I have kml polygons. They show absolutely fine on google earth.

I will need to do the below:

* Plot all of the existing 35000 odd postcodes,

* Cluster the postcodes into short postcodes (i.e) BS10 etc,

* Be able to uncluster them on selection/ zooming in

* Show markers displaying the calculated expression and the postcode

With my limited js knowledge, I am not sure how to go about the above.

Can you please advise?

Julie_Main
Employee
Employee

Deepa,

If you bring in the 'Full PostCode File New.xls',  that you can find in my QAR file and link it to the short code in your existing data set, this has the short codes, BS48 etc.. and links those to PostCode Area (BS, B etc..) - the KML file that is also enclosed in the QAR file 'AllPostcodes.kml' links into those PostCode Areas.  This is a good polygon / KML representation of Post Code's in the UK and also links to Postcode Town's and Regions.  This doesn't zoom, although it allows you to use heat mapping and you could potentially use a standard google / scatter chart overlay to allow you to drill into these in more detail either in another tab or another visualisation / chart on the same screen.

I'm not sure how to do what you want above, but just wanted to explain how I had linked into Post Codes, in my app's.  However you could link in your existing data and information into the OpenLayers extension Object that Brian created, with the UK additions that I have made.  My QAR contains Brian's Extension Objects, plus examples of a QVW that works for the UK, plus extra data files in excel for enrichment of post code information and also a UK Post code KML file. You can find my files above, although I will add it again below this thread for ease of finding.

ernstblaauw
Partner - Contributor III
Partner - Contributor III

Earlier I asked for support for multipolygon, as I thought that it was not supported. However, the problem I had was caused by the fact that multiple placemarks had the same name and thus not all were shown. I now have removed the duplicates and now it is working as I hoped. Thanks for this great plugin!

I still have one question: what does the setting 'hot color' do?

Not applicable

Brian,

I am new to Qlikview but this extension looks exciting! I have loaded it in ver. 11 using IE8. When I open the QVW though it looks like this. Can you help me figure out what I am doing wrong? Thanks Marcia B.

Capture.JPG

Not applicable

Brian,

I am new to Qlikview but this extension looks exciting! I have loaded it in ver. 11 using IE8. When I open the QVW though it looks like this. Can you help me figure out what I am doing wrong? Thanks Marcia B.

Capture.JPG

Not applicable

Brian,

I am new to Qlikview but this extension looks exciting! I have loaded it in ver. 11 using IE8. When I open the QVW though it looks like this. Can you help me figure out what I am doing wrong? Thanks Marcia B.

Capture.JPG

Not applicable

Brian,

I am new to Qlikview but this extension looks exciting! I have loaded it in ver. 11 using IE8. When I open the QVW though it looks like this. Can you help me figure out what I am doing wrong? Thanks Marcia B.

Capture.JPG

Not applicable

Brian,

I am new to Qlikview but this extension looks exciting! I have loaded it in ver. 11 using IE8. When I open the QVW though it looks like this. Can you help me figure out what I am doing wrong? Thanks Marcia B.

Capture.JPG