Major update
now supporting QGis 1.1 current development version

The QuantumGis-Janus experimental branch [alpha preview]

janus image QuantumGis is a very popular and widespread open source GIS tool [viewer/editor].
It currently supports the following vector data sources: The goal of the Janus project is integration between QGis and SQLite DBs using the SpatiaLite spatial extension.

SQLite is a light weighted and zero-administration DBMS, so it seems very well suited for deployment on desktop environments; SpatiaLite supports a set of spatial SQL features very close to one implemented by PostGIS.
And a further advantage they can offer is data portability, i.e. a whole GeoDB can be immediately transferred from one platform to another with no frills, because a whole SQLite DB simply is an ordinary file.

the Janus project implementation

QGis supports a sophisticated plug-in architecture, and vector data sources are always accessed using an appropriate data provider; so it was quite easy for me to develop the SpatiaLite data provider and integrate it into the main GUI:
  1. I started from the latest stable QGis sources, i.e.qgis_0.11.0
  2. I picked up the already existing PostGIS data provider sources, using them as a guide line
  3. Then I developed the SpatiaLite data provider
  4. And after this I've modified the QGis GUI in order to add the new button "add a SpatiaLite layer"
  5. That's all ...

Testing QGis-Janus

Pre-compiled binaries are available for Windows only.
I tested them on Windows XP; if you follow instructions, they'll work ... I hope ...

On Linux you can do a build from sources; I tested this on Ubuntu Hardy Heron, and this works too ...

Installing QGis-Janus on Windows:
Disclaimer: this one is an alpha preview release: i.e., this SW is expected to be strongly unstable.
You are welcomed to use it for testing purposes, but you are warned not to use it for any other practical purpose.

Sample Test DB

A predefined GQis project [.qgs file] corresponding to each sample DB is included.
Remember: a SpatiaLite DB is an ordinary file, so it is connected simply using its path.
In order to get a working project (avoiding any path resolution problem), you have to:
this one is a very simple test DB, using only 3 layers
basically it's the standard SpatiaLite test DB
3.5 MB test-2.3.7z
a more realistic test bed, based on GIS data sets availabale for public download on the Merano Local Council WEB site.
Merano is a medium sized town [36.000 peoples], and the whole data set counts some 250.000 geometric features.
I presume this one can be considered as a quite heavy [and thus realistic] example
17 MB merano.7z
exactly the same as above, but using R*Tree Spatial Indices for each layer counting more than 1.000 features.
Using Spatial Indices introduces obvious speed benefits, but not so dramatic as you can expect; this 250.000 rows dataset simply is too small to take full advantage from spatial indices.
As from my preliminary tests, you can really notice the difference spatial indices can do only when using a 1 million rows (or more) dataset.
19 MB merano-rtree.7z
another variation on the theme, this time using MBR-cached Spatial Indices for each layer counting more than 1.000 features. 17 MB merano-cached.7z

Building Janus from sources

I'll start from the assumption your building environment is already configured in order to complete an ordinary QGis build.
In order to build Janus you have to:
  1. download the qgis_0.11.0.tar.gr sources, then unpack them on some directory [qgisdir prefix]
  2. download the Janus.tar.gz sources, then unpack them on a different dir [janusdir prefix]
  3. now you have to merge the Janus sources into the QGis sources, so:
  4. and now you are ready to build QGis-Janus
Linux hint: some conflict arises with CMAKE, because the standard GEOS, PROJ4 and SQLITE3 packages are obsolete; you can fix anything this way:
  1. run cmake .
  2. the manually edit the file CMakeCache.txt
  3. run cmake . again
2009-03-05 Update: sources for QGis 1.1
current unstable development version
SpatiaLite data provider
patches only
82 KB qgis_spatialite_patches.tar.gz
QGis 1.1 sources [rev.10264] + SpatiaLite data provider 34 MB qgis_spatialite.tar.gz
Very important: a detailed how-to-build guide 123 KB SpatiaLite_QGis.pdf