• 24 Jan 2014, The PostGIS cookbook is here!

    After 18 months of hard work in our spare time, the PostGIS cookbook has been finally published! The book, in a friendly tutorial fashion, covers a plethora of PostGIS related topics such as: Importing and exporting data Vectorial and Raster management and analysis functions Using desktop clients such as QGIS, OpenJump, gvSIG and UDig pgRouting and how to use the Nth dimension writing PostGIS programs with Python using PostGIS to do web GIS with web…

  • 08 Mar 2012, The power of GDAL virtual formats

    GDAL is most likely the most powerfull GIS toolset out there, with very geekish features that may seem complicated at first, but become extremely powerful and simple at the same time once you master them. One of these features I most like is the virtual format concept, valid both for raster data sources (GDAL) and for vectorial data sources (OGR). Basically GDAL gives to the user a very simple mechanism to create virtual formats from…

  • 03 Feb 2012, Python for geospatial developers

    There is a recurring question at GIS mailing lists, forum and at some extent in my mailbox: what is the best way to master Python for developing geospatial applications? I myself had this question far away in 2006 when I started switching from proprietary software to open source, and had identified in Python the way to go. In this post I will try to quickly summarize what is the best way to go in my…

  • 10 Jan 2012, Playing with the Esri File Geodatabase and the Google Fusion Tables GDAL drivers

    Today in the GDAL mailing list Frank Warmerdam has announced that GDAL 1.9.0 has finally been released. Being a major new release, it offers many new features, but what I was waiting for is the support for Esri File GDB and Google Fusion Table. So I couldn’t resist to install it and giving a try. Using GDAL with Esri File Geodatabase For using the File Geodatabase driver I had to dowload the ESRI File Geodatabase…

  • 05 Jan 2012, Managing documentation’s translations with Open Source tools

    Today together with Paolo Cavallini, I have been trying to figure out a workflow for managing documentation’s translations for QGIS. There are many tools for managing documentation workflows out there: a common approach to which I have been exposed by following both the Python and the OSGeo communities is to keep the documentation source files in the restructured text markup format, and to generate the end user documentation with tools like docutils and Sphinx to…

  • 25 Apr 2011, PostGIS in action

    PostGIS in action has landed: finally a book about PostGIS, we were all missing it! A software project that has a public visibility since almost 10 years, with a large community and a long series of use cases, finally has its deserved book. I started using PostGIS in 2006 in a situation where the company I were working for at that time had to cut the cost of licenses and maintenance. Opting for FOSS gave…

  • 23 Mar 2011, A quick look at the WFS GDAL Driver

    If you have ever tried to interact with a WFS (via a browser, or curl, or OpenLayers or whatever), you are fully aware that it has alway been a pain to interact with, and until now the only Python library that made life simpler was the excellent OWSLib by Sean Gillies (that, BTW, will deserve itself another post at this blog in the next weeks). But since some weeks, from the release of the GDAL…

  • 22 Mar 2011, Compiling GDAL with Oracle Spatial support

    These are my quick notes for installing Oracle Instant Client on a Linux box (currently I have tested this on a Ubuntu 10.10 64 bit box and with Oracle 11.2 and GDAL 1.8.0), and then configuring GDAL for using Oracle (OCI and GeoRaster drivers support). Finally I will show how to configure GeoDjango to use an Oracle spatial database by using the Cx_Oracle Python library. Installation of Oracle Instant Client First download Oracle Client files…

  • 09 Mar 2011, Why I have moved my blog to Blogofile

    So, after five years of blogging I have sent my Wordpress blog to pension and I have moved my blog to Blogofile. You may wonder why I have moved my blog from a spread and fully featured platform to an almost unknown exotic one. Basically I wanted to have the following advantages: Python framework, with the possibility to write in this language plugins and extensions ability to write my blog posts offline, in a markup…

  • 29 Nov 2010, After the GFOSS Day 2010, the Italian FOSS4G event

    Last week I have been attending the GFOSS Day 2010 in Foligno, basically the FOSS4G Italian Event that is held every year. The conference was split in two days: in the first days a good number of workshop and tutorials were given, related to a number of geospatial technologies. In the second day there were the instutional talks, mostly related on the open data theme. This year I myself gave two talks at the conference:…

  • 17 Sep 2010, Geocoding in web applications: OpenLayers and geoPy to the rescue!

    In many situations, in your web applications, you will need a feature for geocoding an address, a city, a country… A possible approach is to use the Javascript API of the main geocoding services (Google Maps, Yahoo! Maps, GeoNames…). But as I have showed in a previous post, if you are using Python, there is an excellent API that will take care of this, without Javascript headaches: geoPy. In this post I will show how…

  • 11 Sep 2010, FOSS4G 2010 in Barcelona

    This year I was enough lucky to have the possibility to attend at the FOSS4G World conference in Barcelona (thanks to my company for having send me there!) - that has been run just this week, as many of you may already know. I just came back home yesterday night and until my impression are still very clear, I were thinking it is a good idea to post them here. The conference, as you may…

  • 06 Dec 2009, Using MongoDb to store geographic data

    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: Scalability, for example the ability to automatically partitioning data across multiple machines Performance, in some case RDBMS can be very slow Fixed schema: RDBMS have nice goodness (referential integrity, relationships, triggers…) but force you to store any object to a fixed schema (migrations are a…

  • 14 Oct 2009, Geocoding with GeoPy

    There are now may geocoding web services out there, like Google geocoder, Yahoo geocoder, geocoder.us (only for US address), Microsoft MapPoint, GeoNames and MediaWiki. Normally you may access this web services API directly with HTTP REST request, and get a response in common formats like xml, json, kml. For example you may geocode with the Google geocoder an address like this one: “1071 5th Avenue, New York, NY” with a request like this one: http://maps.google.com/maps/geo?q=1071+5th+Avenue,+New+York,+NY&output=json&oe=utf8&sensor=true_or_false=&key=your_apy_key…

  • 01 Apr 2009, A day with GeoDjango

    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…

  • 06 Aug 2008, A day with TileCache: generating KML Super-Overlays

    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…

  • 06 Jun 2008, Spatial Database for Postgres and ArcGis users: how to choose

    As many of you can have already read, ArcSde for Postgres is coming out at ArcGis 9.3 (it is currently in the release candidate state). It will let you store geometries in two formats, Esri geometry and PostGis geometry, in the same fashion ArcSde for Oracle is letting Esri or Oracle geometries be stored. I have seen some interest in the GIS community about this new, and i was reading interesting posts by Bill Dollins,…

  • 03 May 2008, A day with FeatureServer #2

    In the previous post we have seen an introduction to FeatureServer, and we were just playing with the base edit sample, with the scribble layer. Now it is time to use FeatureServer with our datasets: I am assuming that you will want to create FeatureServer services for shapefiles, PostGis layers, OpenStreetMap, Twitter and Flickr. Data preparation for this demo 1) shapefiles If you want to follow my steps, you can download the sample shapefiles of…

  • 21 Feb 2008, A day with FeatureServer #1

    Some friends already spoke me well about FeatureServer by MetaCarta in the last weeks, so I already was waiting for having a bit of time to get started with it. Then James posted this on his blog, and my curiosity was definitely fired. So I decided to spend a day for installing and testing it, without thinking of the lack of documentation (FeatureServer is still a young project, so no wonder here if the only…

  • 30 Mar 2007, Union of two geometries in PostGIS

    For people not familiar with the Spatial SQL, I post this quick sample showing its beauty and simplicity at the same time. We will go using PostGIS, but this could be performed in a similiar way with any GIS Database compliant with OGC Simple Feature Access - SQL Option. The geomunion function The geomunion Open GIS function make it possible to combine two geometries and getting from these a single geometry. FUNCTION geomunion(geometry, geometry) RETURNS…

  • 30 Jun 2006, Geometry creation with GeoTools 2 (Java): merge shapefile polygons on a common attribute (polygon geoprocessing)

    Here I post a sample java class I developed some months ago, working with geometry creation in GeoTools 2. This class, given an input shapefile, will elaborate an output shapefile merging the input polygons on a common field. Geotools is an open source (LGPL) Java code library which provides standards compliant methods for the manipulation of geospatial data, for example to implement Geographic Information Systems (GIS). The Geotools library implements Open Geospatial Consortium (OGC) specifications…