2

I'm in the process of creating an offline Slippy Map using QML and their new QtLocation module (>=Qt5.4). I managed quite easily to display the tiles with an offline cache. Now I would like to add custom data to this map (a list of ~7000 airports). This huge list would have to be clustered depending on the zoom level (for performance and readability reasons, unless the QtLocation has built-in "optimizations"..?.

What would be to most elegant/best way to achieve this, staying as close as possible to the Qt/QML APIs?

I saw some interesting stuff about a similar approach here: How to handle large amounts of data on iOS Maps. But it's for native iOS.

Any advice is very welcome ;)

babou
  • 41
  • 5

2 Answers2

2

You might want to take a look at the new ESRI QT Api. It is made to deal with huge datasets, you might find something suitable. It is a commercial option, so its viability really depends on your use case and budget. The "Basic" license, which is free, might be enough for you.

https://developers.arcgis.com/qt/

Marco Piccolino
  • 814
  • 1
  • 7
  • 18
  • btw @babou, how did you implement the offline cache? do you have an online repo? – Marco Piccolino Mar 18 '15 at 10:36
  • Thanks Marco, I was thinking about a more "open" solution but I'll definitely give a try to that SDK, very interesting! For the offline cache I have my pre-rendered png tiles in an folder tree like the usual ../z/x/y.png, I run a simple http server on that folder and then redirect the address the qt tile fetcher looks for to localhost by editing my hosts file. Hope this helps. I wish the QtLocation module would propose one day to pass the tile url as a parameter (right now it is hardcoded). – babou Mar 19 '15 at 02:10
  • I am also getting started with the SDK and it looks promising, although I do agree that we still definitely need an easy-to-use open source alternative. If you can share any code about your local server solution do let me know, I'm really curious and wondering if it could easily work even on mobile platforms. You might want to answer my question here: http://stackoverflow.com/questions/29120160/qt-qml-how-to-include-map-tiles-for-offline-usage – Marco Piccolino Mar 19 '15 at 11:24
0

You need a custom model for that, which updates on zoomLevel changes, center changes and map size (width and height) changes

Pa_
  • 641
  • 1
  • 5
  • 17