[postgis-devel] [PostGIS] #590: [raster] Two rasters version of ST_MapAlgebra

PostGIS trac at osgeo.org
Mon Oct 24 07:03:29 PDT 2011

#590: [raster] Two rasters version of ST_MapAlgebra
 Reporter:  pracine         |       Owner:  dustymugs    
     Type:  task            |      Status:  assigned     
 Priority:  critical        |   Milestone:  PostGIS 2.0.0
Component:  postgis raster  |     Version:  trunk        
 Keywords:                  |  

Comment(by pracine):

 Replying to [comment:15 bnordgren]:
 >  1. There is no reason whatsoever to assume that the two bands passed to
 this function come from the same table (and hence are imagined to be
 aligned for some special case). In fact, it will probably be common to
 combine tiles from different images.

 Right. This is why I planned that ST_MapAlgebra would implicitely
 resample. However nothing prevent us from forcing users to make explicit
 this resampling:

 SELECT ST_Mapalgebra(rast1, ST_Resample(rast2, rast1), expr,
 FROM cov1, cov2
 WHERE ST_Intersects(rast1, rast2)

 Are we losing performance here?

 >  1. There is nothing (and should be nothing) requiring rasters from the
 same table to be aligned (or even to have the same SRID). The data in the
 raster_columns table is informative, not normative. As Pierre once told
 me, there is no guarantee that someone didn't insert a rogue raster and
 mess up your nice table. If you are in fact shooting for "one table per
 logical theme", you'd better allow for that theme to be global and the
 table to contain all the UTM zones. One table per theme per UTM zone is
 insanity personified. Perhaps this should be broken off as a separate
 discussion. Is there any code which actually depends on all tiles in an
 individual table being of the same SRID and aligned?

 PostGIS in general assume that all the geometry in one table are of the
 same SRID. PostGIS DO NOT reproject geometries having different SRID in
 spatial relationship functions (like ST_Intersection). I think it is wise
 to follow the same rule (We do not reproject rasters when performing
 spatial operation between two raster having different SRID).

 The question we have to solve, since this is specific to raster, is
 "Should we resample implicitely when needed?" This is also the first time
 we are facing the issue since this is the first function involving two
 rasters (the question should have raised for ST_Intersects(raster, raster)
 however. Bborie, does that mean that it is possible for two rasters being
 resampled differently to return a different result for ST_Intersects()?).
 For sure there should be a warning if implicit resampling is performed.

Ticket URL: <https://trac.osgeo.org/postgis/ticket/590#comment:16>
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-devel mailing list