[gdal-dev] Open source vector geoprocessing libraries?
Jan Hartmann
j.l.h.hartmann at uva.nl
Wed Jan 13 10:14:40 EST 2010
On 13-1-2010 15:49, Ari Jolma wrote:
> Jan Hartmann wrote:
>>
>>
>> Just curious, would it make sense / be possible to implement indexing
>> in OGR, something like a
>> generalized version of Mapserver's shptree, the "quadtree-based
>> spatial index for a shapefiles"?
>>
>> http://mapserver.org/utilities/shptree.html
>
> It could make sense to have a in-memory index for in-memory
> geometries. Pehaps use GiST library(1) (I don't know whether it can
> use in-memory indexes) for geometries in an OGRGeometryCollection or
> OGRMemLayer if it's available.
>
> For other formats it might not make sense because OGR is not
> responsible for the actual geometries. As have been said, one should
> use PostGIS format, which has this functionality built-in, for larger
> and more static datasets.
>
Is that so? Reading the OGR API tutorial
(http://www.gdal.org/ogr/ogr_apitut.html), I see that all geometries,
frowm whatever input source, are represented internally as a generic
OGRGeometry pointer, which is a virtual base class for all real geometry
classes (http://www.gdal.org/ogr/classOGRGeometry.html). Most of the
GEOS functionality can be implemented on OGRGeometries, so in principle
the same could be done with indexing libraries (GIST, b-tree, quadtree,
etc). Such indices should be written out to disk to be of any use at
all, of course, like shptree does.
Mind, I agree that this sort of thing is much better done with PostGIS,
it's just that not everyone has a PostGIS database at his disposal, and
even when you have one, it sometimes is easier to use flat files. For
some projects I (have to) use SQLite instead of PostgreSQL, and the same
would be true for an indexed OGR-functionality.
Again, I really don't know how difficult/desirable this would be to
implement.
Jan
More information about the gdal-dev
mailing list