Blog
I want to thank Vincent for adding my blog. For those who don't know me: I live in Schaffhausen (Switzerland) and I study computer science at ETH Zürich. I'm currently working on my Google Summer Of Code project, where I add local map rendering support for Open Street Map data to libchamplain. The roadmap can be found here.
GSoC Week 6
Due to the GCDS, I was only able to implement the basic functionality of the network-map-data-source. My next task is to add caching of rendered tiles.
GCDS
I left Gran Canaria yesterday. It was a great conference. Again, thanks to the GNOME Foundation for sponsoring me. See you next year!
Internet! Finally, I found an open access point. Yesterday I arrived at Gran Canaria and I had to suffer one day without internet. ;-)
I want to thank the GNOME Foundation for the sponsoring and the organisation of my apartment. It's my first GUADEC and I hope to meet a lot of inspiring people.
And I already did today. I met people from GNOME Switzerland and Codethink. We did a trip to the Mountains. We enjoyed the beautiful landscape and awesome views. Many thanks to Codethink for the great meal!
The rendering of local files is now implemented. If you want to try it, run the new demo: 'demos/local-rendering'. The Memphis map source supports changing the style/rules and the data source while rendering tiles. The ability to redraw all visible tiles required changes in some main classes of libchamplain (i.e. ChamplainView). If no rules or no data is provided the data source creates empty (black) tiles. I'm not sure if that's a good behavior. Should it draw 'error-tiles' instead?
This week I will create the network-map-data-source. It will download the map data from the OSM-API server and pass it to the renderer. The progress of this milestone will depend on the weather conditions in Gran Canaria ;-)
I will stay in Gran Canaria from the 1st to 11th of July. I hope to see you all at the GCDS!
I extended my local-map-source-prototype with a thread pool for rendering. Threads improved the responsivity a lot, especially on my weak (single core) laptop. The prototype uses at most four threads and draws tiles of 512x512 px (no caching). I haven't planned to spend any additional development time on the prototype. If you want to try it, checkout the branch 'local-rendering-prototype'.
Pierre-Luc and I discussed the class hierarchy of the new map sources. We decided to create one new map source called ChamplainMemphisMapSource, which does the rendering. This class is a client of an abstract map data source (ChamplainMapDataSource). I will implement two map data sources: ChamplainLocalMapDataSource (uses local XML data) and ChamplainNetworkMapDataSource (uses the OSM API). All future work will be done in the branch 'local-rendering'. This week, the 'local-rendering' branch will get at least the features of the prototype.
A screen shot of the local map rendering prototype! It works :-)
The full weekly report can be read here.