Changes between Version 207 and Version 208 of WKTRaster/SpecificationWorking03

Show
Ignore:
Timestamp:
07/24/12 13:42:57 (10 months ago)
Author:
pracine
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WKTRaster/SpecificationWorking03

    v207 v208  
    1818== ''Note that accomplished objectives have been moved at the bottom of the page.'' == 
    1919 
    20 ---- 
    21 == '''Objective 2.0.04 - Implement better support for NULL, Empty, !HasNoBand(rast), !HasNoBand(rast, band) and !BandIsNoData rasters in all functions.''' == 
    22  
    23  Each function should better handle NULL rasters, empty rasterm rasters with no band and bands only filled with nodata values. 
    24  
    25   1) Generally, when NULL rasters are provided, return NULL. If the function involves a second non NULL raster and something can be done with it, do it. 
    26  
    27   2) Generally, when empty rasters are provided (ST_IsEmpty, width=0 or height=0), return an empty raster. If the function involves a second non empty raster and something can be done with it, do it. 
    28  
    29   2) Generally, when a !HasNoBand(rast) or a !HasNoBand(rast, band) raster is provided return a raster with no band but with the right extent. If the function involves a second raster having a band or the band, treat the first missing band like a !BandIsNoData. 
    30  
    31   4) A !BandIsNoData raster is a normal raster but many functions can be optimized with this type of raster. 
    32  
    33   5) All functions having missing the requested information (about its extent when it is a NULL or an empty raster or about its band when it is a !HasNoBand(rast) or a !HasNoBand(rast, band) raster) should return NULL or a documented value. 
    34  
    35   6) Try as less as possible to return EXCEPTION (or ERROR). 
    36  
    37  See discussion in http://trac.osgeo.org/postgis/ticket/594 
    38  
    39 '''ST_IsEmpty(rast) -> boolean''' 
    40  
    41  Returns TRUE if the raster width or the raster height is 0. 
    42  
    43 '''ST_HasNoBand''' 
    44  
    45  '''Variants''' 
    46  
    47   1) ST_HasNoBand(rast, band) -> boolean 
    48  
    49   2) ST_HasNoBand(rast) -> boolean 
    50  
    51  Returns TRUE if the the raster does not have this band. 
    52  
    53  Variant 2 returns TRUE if the the raster does not have any band. 
    54  
    55 '''ST_BandIsNoData'''  
    56  
    57  '''Variants''' 
    58  
    59   1) ST_BandIsNoData(rast, band) -> boolean 
    60  
    61   2) ST_BandIsNoData(rast) -> boolean 
    62  
    63  Returns TRUE if the specified raster band is only filled with no data value. 
    64  
    65  Variant 2 default to band 1. 
    66  
    67  '''Implementation details''' 
    68  
    69  This require a new flag to be set in the core at import and at edition. See discussion in http://trac.osgeo.org/postgis/ticket/593 
    7020 
    7121---- 
     
    510460 
    511461---- 
     462== '''Objective FV.22 - Implement better support for NULL, Empty, !HasNoBand(rast), !HasNoBand(rast, band) and !BandIsNoData rasters in all functions.''' == 
     463 
     464 Each function should better handle NULL rasters, empty rasterm rasters with no band and bands only filled with nodata values. 
     465 
     466  1) Generally, when NULL rasters are provided, return NULL. If the function involves a second non NULL raster and something can be done with it, do it. 
     467 
     468  2) Generally, when empty rasters are provided (ST_IsEmpty, width=0 or height=0), return an empty raster. If the function involves a second non empty raster and something can be done with it, do it. 
     469 
     470  2) Generally, when a !HasNoBand(rast) or a !HasNoBand(rast, band) raster is provided return a raster with no band but with the right extent. If the function involves a second raster having a band or the band, treat the first missing band like a !BandIsNoData. 
     471 
     472  4) A !BandIsNoData raster is a normal raster but many functions can be optimized with this type of raster. 
     473 
     474  5) All functions having missing the requested information (about its extent when it is a NULL or an empty raster or about its band when it is a !HasNoBand(rast) or a !HasNoBand(rast, band) raster) should return NULL or a documented value. 
     475 
     476  6) Try as less as possible to return EXCEPTION (or ERROR). 
     477 
     478 See discussion in http://trac.osgeo.org/postgis/ticket/594 
     479 
     480'''ST_IsEmpty(rast) -> boolean''' 
     481 
     482 Returns TRUE if the raster width or the raster height is 0. 
     483 
     484'''ST_HasNoBand''' 
     485 
     486 '''Variants''' 
     487 
     488  1) ST_HasNoBand(rast, band) -> boolean 
     489 
     490  2) ST_HasNoBand(rast) -> boolean 
     491 
     492 Returns TRUE if the the raster does not have this band. 
     493 
     494 Variant 2 returns TRUE if the the raster does not have any band. 
     495 
     496'''ST_BandIsNoData'''  
     497 
     498 '''Variants''' 
     499 
     500  1) ST_BandIsNoData(rast, band) -> boolean 
     501 
     502  2) ST_BandIsNoData(rast) -> boolean 
     503 
     504 Returns TRUE if the specified raster band is only filled with no data value. 
     505 
     506 Variant 2 default to band 1. 
     507 
     508 '''Implementation details''' 
     509 
     510 This require a new flag to be set in the core at import and at edition. See discussion in http://trac.osgeo.org/postgis/ticket/593 
     511 
     512---- 
    512513== '''Other functions''' == 
    513514  
     
    521522 
    522523== Accomplished objectives == 
    523