Dear All,
I have been discussing a little with aaime and daniele these days
about better ways to pick overviews in gridcoverage upon a read
request.
The assumption is that I am provided with the following:
- bbox + crs
- grid-to-world transform
- image range (minx,miny,w,h)
and I needed to do all the needed magic like, crop, select overview,
decimate, resample, etc...
Now, we have roughly identified 3 situations:
1> the coverage native CRS and the request crs are similar, i.e. no
reprojection is needed between them
2> the coverage native CRS and the request crs are NOT similar, i.e. a
reprojection is needed between them, and the requested envelope can be
reprojected to the coverage native CRS
3> the coverage native CRS and the request crs are similar, i.e. a
reprojection is needed between them, and the requested envelope can
NOT be reprojected to the coverage native CRS (this usually happens
when going from project to geo or the other way around).
Case 1 can be handled with no problems relying on the gridtoworld
transform of the request.
For 2 and 3 i would like to hear opinions from other people about how
to select the best overviews taking into account reprojection between
the two spaces. My thoughts are:
- In the past, especially for 2 I was reprojecting the requested
envelope to the coverage CRS for computing the needed stuff for doing
a read. However this implies doing an implicit reprojection on the
requested grid geometry imposing that the raster range stay unchanged.
Therefore this may lead to a degradation of the resolution for the
request and to the selection of an overviews at a resolution lower
than needed. This is not good since in the end we need to reproject
again, therefore we might have raster data at a quality lower than
expected.
- I am pretty sure we can merge 2 and 3 into a single case
- which assumption you'd expect for overviews? Many software have
great limitation (constant aspect ratio, constant scale factor==2,
etc..) and so do many important formats (jpeg2000 to mention one).
Ciao,
Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041 Camaiore (LU)
Italy
phone: +39 0584983027
fax: +39 0584983027
mob: +39 333 8128928
http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini
-------------------------------------------------------