1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
.. _history:
History of Rtree
------------------------------------------------------------------------------
`Rtree`_ was started by `Sean Gillies`_ as a port of the `libspatialindex`_
linkages that `QGIS`_ maintained to provide on-the-fly indexing support for
GUI operations. A notable feature of `R-trees`_ is the ability to insert data
into the structure without the need for a global partitioning bounds, and this
drove Sean's adoption of this code. `Howard Butler`_ later picked up `Rtree`_
and added a number of features that `libspatialindex`_ provided including disk
serialization and bulk loading by writing a C API for `libspatialindex`_ and
re-writing `Rtree`_ as a `ctypes`_ wrapper to utilize this C API. `Brent
Pedersen`_ came along and added features to support alternative coordinate
ordering, augmentation of the pickle storage, and lots of documentation.
Mattias (http://dr-code.org) added support for custom storage backends to
support using `Rtree`_ as an indexing type in `ZODB`_.
`Rtree`_ has gone through a number of iterations, and at
0.5.0, it was completely refactored to use a new internal architecture (ctypes
+ a C API over `libspatialindex`_). This refactoring has resulted in a number
of new features and much more flexibility. See :ref:`changes` for more detail.
.. note::
A significant bug in the 1.6.1+ `libspatialindex`_ C API was found where
it was using unsigned integers for index entry IDs instead of signed
integers. Because `Rtree`_ appeared to be the only significant user of the
C API at this time, it was corrected immediately. You should update
immediately and re-insert data into new indexes if this is an important
consideration for your application.
Rtree 0.5.0 included a C library that is now the C API for libspatialindex and
is part of that source tree. The code bases are independent from each other
and can now evolve separately. Rtree is pure Python as of 0.6.0+.
.. _`Sean Gillies`: http://sgillies.net/blog/
.. _`Howard Butler`: http://hobu.biz
.. _`Brent Pedersen`: http://hackmap.blogspot.com/
.. _`QGIS`: http://qgis.org
.. _`ZODB`: http://www.zodb.org/
.. _`R-trees`: http://en.wikipedia.org/wiki/R-tree
.. _`ctypes`: http://docs.python.org/library/ctypes.html
.. _`libspatialindex`: http://libspatialindex.github.com
.. _`Rtree`: http://rtree.github.com
|