Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to add a spatial component to my Django application. I turned out to GeoDjango immediatly. I am wondering now if spatialite could be used as DBMS-server for an application in Prod. Grosso modo, the app will allow to store shapefiles, kml and others spatial data on server database an allow spatial queries on these files. Can spatialite be used for this?

Can spatialite achieve multi-task simultaneously, Many queries in the same time? I have read this and they say spatialite is for personal use only. Is it a limitation for a multi-users inline GeoDjango application?

I would prefer spatialite better than PostGIS for its simplicity and lightweight.

Do you have advices about feasability and performances issues, or else?

share|improve this question

It depends on how much use you expect your site to get. Spatialite is great for individual users, but it doesn't take many concurrent users to overwhelm it.

Also, security is a concern. I don't think there's any way to prevent someone who has access to a SQLite database from running any old query they like.

share|improve this answer
Security is a concern, but I don't think there is a lot of difference between the PostGIS and SpatiaLite cases here - the connection needs to be able to do the queries, and the front-end server needs to make sure whatever goes into that query is safe - no matter what the backend. – BradHards Mar 19 '13 at 20:27

If all you are doing is queries of (mostly) static data, I think SpatiaLite would be fine. You can do multiple readers in SpatiaLite - its really SQLite at this level.

The real difference between the capabilities of SpatiaLite and PostGIS are really around "PostGIS is a server", so if you want to run multiple instances of your server app (i.e. the GeoDjango bit) talking to a common / shared database, then you should use PostGIS. Otherwise, start with SpatiaLite and see how it goes - it should be easy to move to PostGIS afterwards if you find a real need.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.