A new milestone has been reached: GeoCouch is now an extension for CouchDB that can be easily installed with your already running instance of CouchDB. Installing the GeoCouch extension is as easy as using the GeoCouch Git-based source with your existing CouchDB source base (>=1.0.2).

The new GeoCouch also contains a number of improvements over the original implementation. In particular, a new bulk-insertion system improves the speed of index building significantly (up to 10x) and the size (on disk) of the built index is much smaller (up to 10x smaller). Users of databases with frequent updates will love the support for compaction.

GeoCouch also got a new home at Couchbase’s Github repository. The installation instructions can be found in the README.

For those who would like to have an easy installation, download a copy of Couchbase Server, which has GeoCouch included.

Highlights of this release:

  • GeoCouch is no longer a full fork, but an extension
  • Spatial index building is up to 10x faster
  • Spatial index file size is up to 10x smaller
  • Support for compaction and index cleanups
  • Not only the bounding box, but also the geometry is returned with every query
  • Better than ever

Breaking changes:

  • GeoCouch did some implicit wrapping at the bounds of [-180,-90,180,90] when the coordinates of the requested bounding box were flipped. The implicit wrapping was removed. Instead, you will receive an error unless you use the explicit parameter plane_bounds. See the README for more information.
  • The API for the list function changed. The handler is no longer called _spatiallist, but _spatial/_list. Please upgrade your code to use the new format. The old handler is deprecated, but will work for now and put warnings into the logs.
  • In the list functions the row object property key was renamed to bbox.

A technical blog post on why the spatial index gained so much speed increase/file size reduction will follow shortly.

Author

Posted by Volker Mische, Software Engineer, Couchbase

Volker Mische is a Software Engineer, Couchbase. He is in the view-engine team working mostly in Erlang, C/C++ to improve the geospatial & mapreduce indexing.

7 Comments

  1. Alexey Tigarev March 18, 2011 at 9:32 am

    Does latest Couchbase server include the latest GeoCouch?
    Have I to modify application to use new API in this case?

    1. @Alexey Yes Couchbase contains the latest GeoCouch version. You only need to change the things that are listed at \”breaking changes\”. If you have only used the most basic features, you probably don\’t need to change anything.

      1. Thanks Volker! Will switch to it, eliminating the need of two separate servers.

  2. Great !
    Would it be possible to see your backlog published in couchbase.com ?

    1. What exactly do you mean with the backlog? The changes that were made? So do you mean we should put them somewhere on the website at not only mention them in the blog?

  3. Tape Degaussing Service May 11, 2011 at 10:39 am

    your command is very nice.I read your command and it is really good.

  4. James Williams April 9, 2013 at 6:58 am

    Hello

    Niceextension developing need time to make but facing problem of time, because
    there is no time have anyone and we want develop something new at this time
    because people want change in every sector especially in IT. Magento extensions
    make changing your IT sector and make it different from others. Even magento
    has press release extension and that is helping to add your content on your
    site and it also known as magento CMS based extension. I am working on http://www.fmeextensions.com/e… please give me feedback
    how I am working and give me suggestions.

Leave a reply