Monday, February 29, 2016

New print from QGIS templates in GIS.lab Web

During implementation of print for our new generation of GIS.lab Web, our core developer Marcel came with very interesting proposal of interactive work with map content inside of print template produced by QGIS, which I haven't seen anywhere else.

The main idea is, that once print is activated in GIS.lab Web, it will download raw print output from QGIS Server using GetPrint request and will allow interactive visualization of map content directly in this template. You can zoom, pan and rotate map and see exactly how the result will look like. To get the better idea, see video below.

Print template in QGIS Print Composer
 Print template in GIS.lab Web

Video presentation of print in GIS.lab Web

Marcel and Rasto, thanks for very good work !

Monday, February 22, 2016

Upside Down

After more than decade of contributing my skills to my home country, my home region and town, I had a strong feeling, that I am missing the next mission. My company is already in hands of people, with more experience to deal with post-communist syndromes and I am free to start a new chapter.

Last year, I met great people from Land Information New Zealand, with passion to improve things, with lot of free software and open culture. Great challenge and huge space to move forward. No corruption and no dangerous immigrants :).

In few days, I am moving to Wellington. Packing 30 kg of life per family member and starting the great adventure. One thing for sure, I will greatly miss all the people left here. But I really believe, that at the end, it will proof as good decision for everybody. Including my new employer and Slovakia.
So Long, and Thanks for All the Fish.

Thursday, February 4, 2016

GIS.lab Web - New Generation QGIS Web and Mobile Interface

Last year, GIS.lab team has decided to start a development of brand new version of our GIS web publishing interface known as GIS.lab Web. Our goal is to have a web application built on top of modern technologies, with very modern UI, optimized for mobile devices. Also, we want to build a hybrid Android application from the same code base, but with native UI interface. All of this standing on the shoulders of our favourite QGIS desktop and server software.

We have realized very soon, that if we would separate this project from the core GIS.lab system, we can produce generally usable QGIS web interface, usable with or without GIS.lab infrastructure. Maybe, even replace current version of QGIS Web Client.

This week, first alpha version of GIS.lab Web was born.

For a quick look, see the screenshots below,

GIS.lab Web

watch our short screencast,

GIS.lab Web

or try it yourself.

Thanks to all helping this happen. Looking forward for any feedback.

GIS.lab Web on GitHub -

Thursday, July 24, 2014

FOSS4G Europe - hope we ALL meet together again

For me, it was very memorable week in Bremen. I came very excited and happy to home, to my family.

But, there is also one thing which makes me feel very bad.
At the same time, when all of us where enjoying this event, there was at least one person, speaking nearly the same language as me, who was probably little bit scared of how the return to home would look like. The home destroyed by madness and war.

Somehow I feel, that without a peace, nothing makes a sense. I hope, next year, we ALL meet together again and everybody will be returning to home with a smile on the face.
Tatiana, Ukraine, all peaceful people under the sun, god bless You !

Friday, January 31, 2014

High performance processing services in GIS.lab

This week I have attended GIS Ostrava conference in Czech republic with basic talk about GIS.lab. After my speech, I was asked to answer a question about missing Web Processing Service (WPS), namely PyWPS, in GIS.lab. Here is my short answer.

Currently, GIS.lab server acts as conventional server. It provides boot service, file, geo-database or chat server. From the first sight, it would be nice to implement also some WPS service there.
Since I have realized great and mostly free and unused power of bunch of modern multi-core client machines connected to GIS.lab network (which is increased by each connected machine), I have started thinking differently. I have started thinking about distributing load of all CPU intensive services also to all client machines in terms of load balancing. Modern multi-core machine wouldn't be hurt at all, if one of it's cores would be shortly occupied by computing task requested by some other member of GIS.lab network.

For better imagination, I would describe my idea on WMS service provided by QGIS Mapserver on which GIS.lab WebGIS application relies.
Currently, QGIS Mapserver is installed only on GIS.lab server and thus it can provide only limited number of concurrent requests. Moreover, too many concurrent WebGIS users could cause server overload and could slow down also all other server provided services.
Since all resources served by WebGIS are shared to all members of GIS.lab network and all members of network are running same operating system, it seems reasonable to implement load balancing service on top of QGIS Mapserver, which will redirect WMS requests randomly to all network members. In such way, we will improve situation drastically (disk load could be next bottleneck).
All we need, is to have all required server software installed on all machines in GIS.lab network. I am not in favor to install server software to all client machines. I am thinking about creating some processing software image (maybe LXC container) on server which will be mounted to all client machines and used in some chroot like environment.

This is simplified description of my idea, how to create high performance computing network from random office computers in a few minutes. Any comments ?

PS: Thanks for all listening my talk. Jachyme, once I will have this load balancing system, I will surely implement PyWPS on top of it.

Tuesday, January 21, 2014

Waiting for GIS.lab 0.3

GIS.lab 0.3 is going to be released in a few days. Here is a list of some interesting new features.

VirtualBox client support

Since 0.3, it will be possible to boot regular GIS.lab client session in VirtualBox and run it in full screen mode or in windowed mode along with applications of your favorite operating system (Linux, Windows, Mac).

Built-in IRC server

To allow effective communication between all GIS.lab users without a need of Internet connection, version 0.3 will provide built-in IRC server and prepared #gislab chat room.

Launching empty WebGIS project

Until now, WebGIS project was always based on some existing QGIS project. It means, that you had to create at least some basic skeleton of your project in QGIS, before it was possible to publish it on web.
Since 0.3, it will be possible to launch empty WebGIS project by visiting URL http://web.gis.lab in web browser or via applications menu GIS.lab > Empty WebGIS project. Empty WebGIS project will be automatically loaded with OSM and Google base maps and it will be prepared to start capturing initial data for your new project.

Data capturing and sharing in WebGIS

By my opinion, best new feature of 0.3 are improved data capturing tools, which allow to draw points, lines and polygons on top of WebGIS layers. All drawings are saved forever in GIS.lab database under unique ID and can be shared along with whole map via Permalink.


Simplified publishing of QGIS project in WebGIS

In 0.3 we have created QGIS plugin, which allows very simple publishing of created QGIS project to WebGIS. It provides possibility to choose desired base layers (OSM, Google) and automatically detects visible layers, zoom extent and used list of scales and more.

Detailed changelog can be seen here.

Thursday, January 2, 2014

QGIS development support in GIS.lab

One of a goals of GIS.lab project is to provide clean, uniform and predictable environment which can be easy used for GIS software development and testing. Support for GIS development is optional and can be enabled in configuration file before client image is installed.
GIS.lab project heavily relies on features provided by QGIS, therefore I have decided to put together some tools to automatize building and installation of this software from Git source code. Now we have two scripts which should be run on client machine.

  • gislab-dev-qgis-install - download latest QGIS source code and make install
  • gislab-dev-qgis - run QGIS installed from source code
These scripts are very simple. There is a lot of room for improvements. Any ideas ?

For more information see our wiki page.