Tag: GDAL

Using MongoDb to store geographic data

Posted by on December 6, 2009

The NoSQL movement

In the last months there has been a plenty of activity in the non relational (NoSQL) database world.

NoSQL database tries to solve 3 main RDBMS problems:

Basically there are several different kinds of NoSQL database:

  • Key/Value (Scalaris, Tokio Cabinet, Voldemort): store data in key/value pairs: very efficient for performance and higly scalable, but difficult to query and to implement real world problems
  • Tabular (Cassandra, HBase, Hypertable, Google BigTable): store data in tabular structures, but columns may vary in time and each row may have only a subset of the columns
  • Document Oriented (CouchDb, MongoDb, Riak, Amazon SimpleDb): like Key/Value but they let you nest more values for a key. This is a nice paradigm for programmers as it becomes easy, specially with script languages (Python, Ruby, PHP…), to implement a one to one mapping relation between the code objects and the objects (documents) in the database
  • Graph (Neo4J, InfoGrid, AllegroGraph): stores objects and relationships in nodes and edges of a graph. For situations that fit this model, like hierarchical data, this solution can be much much faster than the other ones

MongoDb is a document oriented NoSQL database. With such a database it is very easy to map the programming objects (documents) we want to store to the database. JSON is a very viable standard to do this mapping, and so MongoDb does: it stores JSON documents in the database.

To makes performance better JSON is stored by MongoDb in a efficient binary format called BSON. BSON is a binary serialization of JSON-like documents and stands for Binary JSON.

For getting more information on the topic I highly recommend reading this interesting article: NoSQL Ecosystem

More…

A day with GeoDjango

Posted by on April 1, 2009

This time i will introduce a really brilliant framework that every serious Web/GIS developers should be aware of: GeoDjango.

Django is a Python Web framework for agile developers. It implements best web frameworks practices like coding by convention, MVC, ORM, REST, URL dispatcher and so on. Django is for Python what Rails is for Ruby, Grails is for Java, and MonoRail (and now ASP.NET MVC) is for .NET.

GeoDjango is a Django application that is now included in the Django trunk with a lot of excellent stuff for developing GIS web application.

GeoDjango Building Blocks

GeoDjango installation is based on Python, Django and two kinds of components: a Spatial Database and Geospatial libraries

1) Spatial Database
A spatial database like PostGis (recommended), MySQL Spatial and Oracle Spatial (and since some day also SpatiaLite, that is an excellent option for development purposes)

More…

A day with TileCache: generating KML Super-Overlays

Posted by on August 6, 2008

My friend Diego Guidi is the smartest GIS/.NET developer I personally know here in Italy. He is the developer of NetTopologySuite, the port in the .NET world of the popular Java’s JTS Topology Suite from VIVID Solutions. I wanted, sooner or later, write some stuff here about WMS and TMS, and now I am very happy that Diego asked me to publish this brilliant article about this topic.

First of all, let me thanks Paolo for hosting this post! I hope that this article can be interesting and useful like other stuff that you can find here

Introduction

There are a lot of discussions out there about how to define Google Earth, Google Maps, and related apps… are they GIS? Viewers? Video games? Even a neologism was created: Neogeography. I think that all the folks out there have the same idea in mind: maybe Google don’t make the same business as ESRI, but Google Earth is cool, and it’s funny to play with it!

More…