[postgis-tickets] [PostGIS] #3920: [raster] _add_raster_constraint_coverage_tile and memory issue with large tile coverage

PostGIS trac at osgeo.org
Thu Oct 26 12:13:39 PDT 2017


#3920: [raster] _add_raster_constraint_coverage_tile and memory issue with large
tile coverage
---------------------------+-----------------------
 Reporter:  mloskot        |      Owner:  dustymugs
     Type:  defect         |     Status:  new
 Priority:  medium         |  Milestone:
Component:  raster         |    Version:  2.3.x
 Keywords:  tile coverage  |
---------------------------+-----------------------
 TL:TR: Export of large raster (eg. 230K x 210K pixel) as tile coverage
 with regular blocking fails during addition of constraints due to `invalid
 memory alloc request size 1932000000 (XX000)`

 The `_add_raster_constraint_coverage_tile` function blank raster with
 rasterised whole spatial extent of the tile coverage, that is a raster
 with dimensions of the whole coverage. That blank raster is used as RHS
 operand in `ST_IsCoverageTile`.

 The `_add_raster_constraint_coverage_tile` function sequence is
 `ST_AsRaster` followed by bands & data removal with `ST_MakeEmptyRaster`.

 The problem is, AFAIU, that `ST_AsRaster` already requires allocation of a
 huge raster for the whole tile coverage, that obviously fails. The
 following bands clean-up is really a cosmetic optimisation after the fact.

 Perhaps, a feasible solution would be to have internal `ST_AsRaster` that
 already creates a dummy band-less raster without attempt to allocate
 memory for data.

--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3920>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list