Qlik Community

Qlik GeoAnalytics Documents

Documents related to Qlik GeoAnalytics.

Announcements
Coming your way, the Qlik Data Revolution Virtual Summit. October 27-29. REGISTER

Digitizing floor plans for use in Qlik GeoAnalytics (QGA)

Employee
Employee

Digitizing floor plans for use in Qlik GeoAnalytics (QGA)

Update, the example app now have the drawing as a background.

Floor plans and cad drawings can be useful, for instance in production dashboards, to visualize status and flows in a factory. However cad drawings are in many cases a mess to work with.

 

Here's a simple, pragmatic approach to digitize rather than import the actual drawing. The major issue with most CAD drawings is lack of structure, details without meaning and the objects on the right level are missing. It’s not the format or alignment that is the problem. In many cases it's better to use the drawing as a input to produce the polygons and information needed.

 

In this tutorial I use QGIS for digitizing and out put to a format that is easy to import to QGA. In this example the drawing is digitized in a local reference system, ie no alignment is made with the rest of the world.

Step-by-step guide

  1. Install QGA basic, Plus not needed if Dropbox et al is used.
  2. Install QGIS (https://www.qgis.org)
  3. Get a picture of the floor plan in an image format like PNG or JPG.
  4. Drag and drop the image to the layers panel of QGIS. Choose a meter based Coordinate Reference System, for instance EPSG:3857 is a good choice.

    step4.png

  5. Layer→ Create Layer→ New Shapefile Layer... Choose Polygon, same CRS, 3857. Add "Name" text field for convenience.

    step5.png

  6. Save layer in a folder. Preferable in dropbox folder.

    step6.png

  7. Right click on the new polygon layer and "Toggle editing" to start editing.

    step7.png
  8. Start adding features (Ctrl +)
    step8.png

  9. Click on the edges of the desired polygon, set id and name. Use node tool if fine tuning of edges is necessary.

    step9.png
  10. When done "Toggle editing"to save.

    step10.png
  11. Zip the shapefile to an archive and get the dropbox url. (replace www with dl to get direct link)
    step11.png

  12. Create a new Sense app and use the drop url in the Load operator of QGA connector. CRS: EPSG:3857. Note change url from 'www' to 'dl' for direct file access in dropbox.
    step12.png

Example app

The example app features sites and a drawing visible when one site is selected.app.png

 

If you want to add and image background, here's how to scale and translate the image, in my example:

image.png

 

 

 

 

 

Tip 1: get a white background use ='[[ [-180, -80], [-180,  80], [ 180,  80], [ 180, -80], [-180, -80] ]]' for location, set color to white and make the layer non selectable and not part of autozoom.

 

Tip 2, Use a bubble layer with coordinates for different sites, when one site is selected turn on drawing and the white background.

Tags (1)
Labels (1)
Attachments
Comments
Contributor II
Contributor II

Thanks for the tip Patric,

In the meanwhile I found this useful tutorial on youtube:

https://www.youtube.com/watch?v=hml7wX4O7Lw

And also there is a community post (with and example qvf attached):

https://community.qlik.com/t5/Qlik-Sense-Enterprise-Documents/Adding-a-background-layer-in-Qlik-Sens...

I also found out that for the moment there is no direct loading of local images, one has to set up an IIS locally to access them via URLs...it might be useful for the dev road-map to have also this functionality available (local files loading from file-system not URL). The thing that currently really beats my mind is how to set the bubble size according to the dimension / measure value.

Thanks

Radu

0 Likes
Employee
Employee

One way would be to use a Base64 data URI as the URL string.

https://www.base64-image.de/

Or to upload the image to the QS media library and then find out the URL to the image with  JS dev tools F12.

Contributor II
Contributor II

Thanks, for those in need here is a tried and verified setup:

1) The folder to load images from could be any custom XXX folder under:

...AppData\Local\Programs\Qlik\Sense\Client\img\...

2) The URL should look like:

='http://localhost:4848/resources/img/XXX/YYY.png'

@Patric_Nordstrom : I am still struggling with the topleft and rightbottom values according to the height/width value from the custom image in order not to have the image shrink inside the object canvas...

I thought that according to the above mentioned tutorial I need a loading script that should have this section:

bounds:
load * inline [
bid,by,bx
topleft,461,0
bottomright,0,909
];

where first parameter after topleft = image height (in pixels)

and second parameter after bottomright = image width (in pixels)

After that in the Background layer the Top (latitude) = image height (in pixels)

and Right (longitude) = image width (in pixels)

But still the image is not centered and shrinked inside the object canvas. Do you have any hints why?

 

Thanks

 

Employee
Employee

Please check settings in the app from the post.

In that example the image is 1182x1915px.

img_bg.png

Btw, serving images from localhost won't work in a network. Better to use the full URL.

0 Likes
Partner
Partner

Hello,

@jfdierckx  and @paulriedel have you already found an solution to bring in the background image into the GeoAnalytics map?

I can create the shapefile in QGIS and I manage to load to shapefile into Qlik Sense with the GeoAnalytics operations 'Load'. Furthermore the polygons are on the GeoAnalytics map.

But how can I add the background image to the GeoAnalytics map@Patric_Nordstrom  or @Christof_Schwarz  do you have an advice for me/us? Or should we use the 'standard' Qlik Sense map instead of the GeoAnalytics map for custom maps?

0 Likes
Version history
Revision #:
2 of 2
Last update:
‎2020-05-25 03:41 AM
Updated by: