GeoCouch: New release (0.10.0)
2009-09-19 22:35
Notice: This blog post is outdated, please move on :)
It has been way to long since the initial release, but it’s finally there: a new release of GeoCouch. For all first time visitors, GeoCouch is an extension for CouchDB to support geo-spatial queries like bounding box or polygon searches.
I keep this blog entry relatively short and only outline the highlights and requirements for the new release as GeoCouch finally has a real home at http://gitorious.org/geocouch/. Feel free to contribute to the wiki or fork the source.
Highlights
- Many geometries are supported: points, lines, polygons (using Shapely).
- Queries are largely along the lines of the OpenSearch-Geo extension draft. Currently supported are bounding box and polygon searches.
- Adding new backends (in addition to SpatiaLite) is easily possible.
Requirements
- Linux 2.6.26
- CouchDB 0.10.0
- Python 2.6.0
- couchdb-python 0.6.x (0.6.0 doesn't work)
- Shapely 1.0.12
- APSW - Another Python SQLite Wrapper 3.5.9-r2
- SpatiaLite 2.3.1
Other versions might work.
Download
If you don’t like Git, you can download GeoCouch 0.10.0 here.
Comments
2009-09-20 18:48:54
WHy didn't use GeoJSON http://pypi.python.org/pypi/geojson/1.0 in addition to Shapely ?
The management of geometry will be easier, no needs to declare holes in polygon.
2009-09-21 01:22:21
@ReLuc: the goal is to be able to geo-enable any CouchDB documents, no matter what schema they have. It would be quite limiting if I would allow GeoJSON only as input document format.
2009-09-21 09:24:31
Hi @Volker, If I suggest GeoJSON is not to limit GeoCouch to this schema, but to had it to GeoCouch.
GeoJSON is really easy to produce and display with web mapping application, and I would like to connect web mapping application and couchDB.
You made a great job.
2009-09-21 12:08:55
@ReLuc, I think I still haven't understood what you mean :) You can already use GeoJSON if you want to. For example look at the example for points at http://gitorious.org/geocouch/pages/GeometryDefinition There the examaple document is GeoJSON.
2009-09-21 13:52:34
@Volker, the problem for me is to declare holes for polygon. With GeoJSON you don't have to declare holes, but in your implementation we have to declare them. It's why I would like to use GeoJSON to store geometry in spatialite. But it's not necessary to store holes, it is ?
2009-09-21 17:34:06
@ReLuc: holes are optional. Take a look at the third example for polygons at http://gitorious.org/geocouch/pages/GeometryDefinition
2009-09-21 21:55:47
@Volker I see it...
2009-09-29 18:38:46
How will the SpatiaLite index handle large number of rows and will it apply several processes of couchdb to query it in the same time?
Is there a difference in performance from the built in couchdb index? I'm not talking about the difference between the couchdb B+Tree and the RTree but the way the index is implemented in couchdb and in SpatiaLite.
Do you expect PostGIS based index to produce better results?
Are you planning to support PostGIS?
thanks
2009-10-02 23:37:18
@pablo: Every request will create its own single process.
The tree implementation of CouchDB and SpatiaLite is completely different.
I expect PostGIS to perform better than SpatiaLite. The current plan to support PostGIS it when I need it (and currently I don't), if anyone needs it beforehand, feel free to code it yourself :)