[gdal-dev] GetExtent method

Frank Warmerdam warmerdam at pobox.com
Tue Sep 2 11:55:25 EDT 2008


Clay, Bruce wrote:
> When I used the debugger to step into the OGRLayer GetExtent method I 
> noticed that it walks through all of the features in the dataset and 
> tests the envelope of each feature in the set.
> 
>  
> 
> Are there any driver specific optimizations (i.e. OCI)  that could be 
> called instead of this one since it does take a long time for a large 
> dataset?
> 
>  
> 
> I realize we can create our own but I would like to use a built in 
> function if it is available.
> 
>  
> 
> Frank: Since you are working in the OCI driver would this be a good time 
> to add something like:
> 
>             select min(a1.SHAPE.SDO_POINT.X),
> 
>  max(a1.SHAPE.SDO_POINT.X),
> 
>  min(a1.SHAPE.SDO_POINT.Y),
> 
>  max(a1.SHAPE.SDO_POINT.Y) from DatasetName a1;
> 
>  
> 
> Of course that falls back on the first question, is there already a 
> built in method.

Bruce,

We already have a specialized implementation of OGROCITableLayer::GetExtent()
at:

http://trac.osgeo.org/gdal/browser/trunk/gdal/ogr/ogrsf_frmts/oci/ogrocitablelayer.cpp#L1072

I wonder if this optimized case is failing for some reason for you?  Or
perhaps you are working with an result from ExecuteSQL()?

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent



More information about the gdal-dev mailing list