Opened 10 years ago

Closed 10 years ago

#739 closed defect (fixed)

Occassional Unknown node for ScaleCoverageExpr expression: trim error.

Reported by: James Passmore Owned by: Piero Campalani
Priority: critical Milestone: 9.0.x
Component: petascope Version: 9.0
Keywords: ScaleCoverageExpr Cc: Marcus Sen
Complexity: Medium

Description

I'm getting an odd behaviour from our rasdaman 9 service, compared to our rasdaman 8 service.

Some queries that return a result in rasdaman 8 are returning an error in rasdaman 9. The queries are all within the bounds of the coverage.

For example:

OLD (rasdaman 8) service query returns a black (area of no data) image with:

for v1 in (pga_cir) return
    encode(
        scale(
            trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
            {x:"http://www.opengis.net/def/crs/EPSG/0/27700"(262260:264575), 
             y:"http://www.opengis.net/def/crs/EPSG/0/27700"(720474:722657)}),
            {x:"CRS:1"(0:599), y:"CRS:1"(0:553)},
            {}
            ),
       "png"
    )

NEW (rasdaman 9) service query returns an error with:

for v1 in (pga_cir) return
    encode(
        scale(
            trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
            {E:"http://www.opengis.net/def/crs/EPSG/0/27700"(262260:264575), 
             N:"http://www.opengis.net/def/crs/EPSG/0/27700"(720474:722657)}),
            {E:"CRS:1"(0:599), N:"CRS:1"(0:553)},
            {}
        ),
       "png"
   )

ERROR is:

<ows:ExceptionReport version="2.0.0" xsd:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <ows:Exception exceptionCode="InvalidMetadata">
   <ows:ExceptionText>
    Unknown node for ScaleCoverageExpr expression: trim
   </ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>

Similarly

OLD (rasdaman 8) service query returns an image with:

for v1 in (pga_cir) return
    encode(
	scale(
	    trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
	    {x:"http://www.opengis.net/def/crs/EPSG/0/27700"(230000:231000), 
             y:"http://www.opengis.net/def/crs/EPSG/0/27700"(710000:711000)}),
	    {x:"CRS:1"(0:481), y:"CRS:1"(0:499)},
	    {}
	),
	"png"
    )

But NEW (rasdaman 9) service query returns an error with:

for v1 in (pga_cir) return
    encode(
	scale(
	    trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
	    {E:"http://www.opengis.net/def/crs/EPSG/0/27700"(230000:231000), 
             N:"http://www.opengis.net/def/crs/EPSG/0/27700"(710000:711000)}),
	    {E:"CRS:1"(0:481), N:"CRS:1"(0:499)},
	    {}
	),
	"png"
    )

See the below dump from catalina.out for this above error.

I don't always get errors though:

OLD service request returns image ~ a mix of aerial photo and no data (black):

for v1 in (pga_cir) return
    encode(
        scale(
	    trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
	    {x:"http://www.opengis.net/def/crs/EPSG/0/27700"(209208:211662), 
             y:"http://www.opengis.net/def/crs/EPSG/0/27700"(707380:709649)}),
	    {x:"CRS:1"(0:599), y:"CRS:1"(0:553)},
	    {}
	),
	"png"
    )

NEW service request returns image ~ a mix of aerial photo and no data (white):

for v1 in (pga_cir) return
    encode(
	scale(
	    trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
	    {E:"http://www.opengis.net/def/crs/EPSG/0/27700"(209208:211662), 
             N:"http://www.opengis.net/def/crs/EPSG/0/27700"(707380:709649)}),
	    {E:"CRS:1"(0:599), N:"CRS:1"(0:553)},
	    {}
	    ),
	"png"
    )

And finally OLD and NEW service return the same image.

OLD:

for v1 in (pga_cir) return
    encode(
        scale(
	    trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
	    {x:"http://www.opengis.net/def/crs/EPSG/0/27700"(440000:441000), 
             y:"http://www.opengis.net/def/crs/EPSG/0/27700"(500000:501000)}),
	    {x:"CRS:1"(0:481), y:"CRS:1"(0:499)},
	    {}
	),
	"png"
    )

NEW:

for v1 in (pga_cir) return
    encode(
        scale(
	    trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
	    {E:"http://www.opengis.net/def/crs/EPSG/0/27700"(440000:441000), 
             N:"http://www.opengis.net/def/crs/EPSG/0/27700"(500000:501000)}),
	    {E:"CRS:1"(0:481), N:"CRS:1"(0:499)},
	    {}
	),
	"png"
    )
------START REQUEST--------
query=for+v1+in+%28pga_cir%29+return%0D%0A%09%09encode+%28%0D%0A%09%09%09scale%28%0D%0A%09%09%09%09trim%28struct+%7Bred+%3A+%28char%29+v1.red%3B+green+%3A+%$
------END REQUEST------

 TRACE [12:39:50] PetascopeInterface@253: GET Query string   : null
 TRACE [12:39:50] PetascopeInterface@257: Request parameters : {subbtn=go, query=for+v1+in+%28pga_cir%29+return%0D%0A%09%09encode+%28%0D%0A%09%09%09scale%28$
 DEBUG [12:39:50] PetascopeInterface@266: Analyzing path info "/ows" for REST interface checks.
 DEBUG [12:39:50] PetascopeInterface@343: Received Abstract Syntax Request via GET:
                for v1 in (pga_cir) return
                encode (
                        scale(
                                trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
                                {E:"http://www.opengis.net/def/crs/EPSG/0/27700"(230000:231000), N:"http://www.opengis.net/def/crs/EPSG/0/27700"(710000:711000)}),
                                {E:"CRS:1"(0:481), N:"CRS:1"(0:499)},
                                {}
                                ),
                        "png"
                        )
 TRACE [12:39:50] RasUtil@245: Parsing abstract WCPS query...
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 230000
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 231000
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 710000
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 711000
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 0
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 481
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 0
 TRACE [12:39:50] NumericScalarExpr@49: NumericScalarExpr 499
 TRACE [12:39:50] RasUtil@254: Converting parsed request to XML...
 DEBUG [12:39:50] RasUtil@256: Done, xml query: <?xml version="1.0" encoding="UTF-8" ?>
<ProcessCoveragesRequest xmlns="http://www.opengis.net/wcps/1.0" service="WCPS" version="1.0.0">
<query><xmlSyntax><coverageIterator><iteratorVar>v1</iteratorVar><coverageName>pga_cir</coverageName></coverageIterator><encode store="false"><scale><trim><$
 DEBUG [12:39:50] PetascopeInterface@367: Petascope Request:
------START REQUEST--------
<?xml version="1.0" encoding="UTF-8" ?>
<ProcessCoveragesRequest xmlns="http://www.opengis.net/wcps/1.0" service="WCPS" version="1.0.0">
<query><xmlSyntax><coverageIterator><iteratorVar>v1</iteratorVar><coverageName>pga_cir</coverageName></coverageIterator><encode store="false"><scale><trim><$
------END REQUEST------

 DEBUG [12:39:50] PetascopeInterface@371: Root Element name: ProcessCoveragesRequest
 DEBUG [12:39:50] PetascopeInterface@665: Received a ProcessCoverages request:
<?xml version="1.0" encoding="UTF-8" ?>
<ProcessCoveragesRequest xmlns="http://www.opengis.net/wcps/1.0" service="WCPS" version="1.0.0">
<query><xmlSyntax><coverageIterator><iteratorVar>v1</iteratorVar><coverageName>pga_cir</coverageName></coverageIterator><encode store="false"><scale><trim><$
 DEBUG [12:39:50] PetascopeInterface@667: -------------------------------------------------------
 DEBUG [12:39:50] PetascopeInterface@668: Converting to rasql
  INFO [12:39:50] Wcps@61: WCPS: Loading and parsing XML Schema ...
  INFO [12:39:50] Wcps@69: WCPS: Finished loading the schema.
 TRACE [12:39:50] DynamicMetadataSource@56: Creating dynamic metadata source from: DbMetadataSource
 DEBUG [12:39:50] DbMetadataSource@684: SQL query:  SELECT name FROM ps_coverage ORDER BY name
 DEBUG [12:39:50] ProcessCoveragesRequest@99: Found XML Syntax query.
 DEBUG [12:39:50] XmlQuery@99: Processing XML Request: xmlSyntax
  INFO [12:39:50] XmlQuery@110: The current node is: coverageIterator
 TRACE [12:39:50] CoverageIterator@45: coverageIterator
 TRACE [12:39:50] CoverageIterator@61: Iterator variable: v1
 TRACE [12:39:50] CoverageIterator@64: Coverage reference : pga_cir
  INFO [12:39:50] XmlQuery@110: The current node is: encode
 TRACE [12:39:50] EncodeDataExpr@51: encode
 TRACE [12:39:50] CoverageExpr@57: scale
 TRACE [12:39:50] ScaleCoverageExpr@52: scale
 TRACE [12:39:50] ScaleCoverageExpr@118: coverage expression
 TRACE [12:39:50] CoverageExpr@57: trim
 TRACE [12:39:50] SubsetOperationCoverageExpr@63: trim
 TRACE [12:39:50] SubsetOperationCoverageExpr@66:   trim child
 TRACE [12:39:50] TrimCoverageExpr@49: trim
 TRACE [12:39:50] TrimCoverageExpr@73:   coverage
 TRACE [12:39:50] CoverageExpr@57: rangeConstructor
 TRACE [12:39:50] InducedOperationCoverageExpr@42: rangeConstructor
 TRACE [12:39:50] RangeCoverageExpr@43: rangeConstructor
 TRACE [12:39:50] RangeComponent@48: component
 TRACE [12:39:50] RangeComponent@63:   field: red
 TRACE [12:39:50] CoverageExpr@57: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@42: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: fieldSelect
 TRACE [12:39:50] InducedOperationCoverageExpr@42: fieldSelect
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: coverage
 TRACE [12:39:50] DynamicMetadataSource@104: Reading metadata for dynamic coverage: pga_cir
 TRACE [12:39:50] DynamicMetadataSource@110: coverages: [glasgow_lac_b, l7_refl_p206r020d20000505, l7_refl_p202r024d20010512, l7_refl_p204r020d20010510, gla$
 DEBUG [12:39:50] DbMetadataSource@803: Reading metadata for coverage 'pga_cir'
 DEBUG [12:39:50] DbMetadataSource@833: SQL query:  SELECT id, name, gml_type_id, native_format_id FROM ps_coverage WHERE name='pga_cir'
 DEBUG [12:39:50] DbMetadataSource@853: SQL query:  SELECT metadata_type_id, value FROM ps_extra_metadata WHERE coverage_id=6
 DEBUG [12:39:50] DbMetadataSource@888: SQL query:  SELECT (SELECT idx(ps_domain_set.native_crs_ids,ps_crs.id)) AS idx, ps_crs.uri FROM ps_domain_set,ps_crs$
  INFO [12:39:50] DbMetadataSource@902: Decoding http://www.opengis.net/def/crs/EPSG/0/27700 ...
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: OGC(0):Index2D/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
 DEBUG [12:39:50] CrsUtil@1123: http://www.opengis.net/def/crs/EPSG/0/27700 CRS is already decoded in cache.
  INFO [12:39:50] CrsUtil@159: http://www.opengis.net/def/crs/EPSG/0/27700 definition is already in cache: do not need to fetch GML definition.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: OGC(0):Index2D/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
 TRACE [12:39:50] DbMetadataSource@909: Coverage pga_cir CRS decoded: it has 2 axes.
 DEBUG [12:39:50] DbMetadataSource@931: SQL query:  SELECT name, data_type_id, field_table, field_id FROM ps_range_type_component WHERE coverage_id=6 ORDER $
 DEBUG [12:39:50] DbMetadataSource@2086: SQL query: SELECT quantity_id,interval_id FROM ps_quantity_interval WHERE quantity_id=11
 DEBUG [12:39:50] DbMetadataSource@2155: SQL query:  SELECT ps_uom.code,ps_quantity.label,ps_quantity.description,ps_quantity.definition_uri, array_agg(ps_n$
 TRACE [12:39:50] RangeElement@65: Range Element { name 'b1', type 'unsigned char'}
 DEBUG [12:39:50] DbMetadataSource@953: Added range element: Range Element { name 'b1', type 'unsigned char'}
 DEBUG [12:39:50] DbMetadataSource@2086: SQL query: SELECT quantity_id,interval_id FROM ps_quantity_interval WHERE quantity_id=11
 DEBUG [12:39:50] DbMetadataSource@2155: SQL query:  SELECT ps_uom.code,ps_quantity.label,ps_quantity.description,ps_quantity.definition_uri, array_agg(ps_n$
 TRACE [12:39:50] RangeElement@65: Range Element { name 'b2', type 'unsigned char'}
 DEBUG [12:39:50] DbMetadataSource@953: Added range element: Range Element { name 'b2', type 'unsigned char'}
 DEBUG [12:39:50] DbMetadataSource@2086: SQL query: SELECT quantity_id,interval_id FROM ps_quantity_interval WHERE quantity_id=11
 DEBUG [12:39:50] DbMetadataSource@2155: SQL query:  SELECT ps_uom.code,ps_quantity.label,ps_quantity.description,ps_quantity.definition_uri, array_agg(ps_n$
 TRACE [12:39:50] RangeElement@65: Range Element { name 'b3', type 'unsigned char'}
 DEBUG [12:39:50] DbMetadataSource@953: Added range element: Range Element { name 'b3', type 'unsigned char'}
 DEBUG [12:39:50] DbMetadataSource@980: SQL query:  SELECT storage_table, storage_id FROM ps_range_set WHERE coverage_id=6
 DEBUG [12:39:50] DbMetadataSource@1003: SQL query:  SELECT name, oid FROM ps_rasdaman_collection WHERE id=6
 TRACE [12:39:50] DbMetadataSource@1015: Coverage 'pga_cir' has range-set data in pga_cir:7681.
 DEBUG [12:39:50] DbMetadataSource@1025: SQL query:  SELECT grid_origin FROM ps_gridded_domain_set WHERE coverage_id=6
 DEBUG [12:39:50] DbMetadataSource@1037: Grid origin component: 82000.25
 DEBUG [12:39:50] DbMetadataSource@1037: Grid origin component: 1220999.75
 TRACE [12:39:50] DbMetadataSource@1040: Gridded coverage 'pga_cir' has origin '[82000.25, 1220999.75]'
 DEBUG [12:39:50] DbMetadataSource@1066: SQL query:  SELECT id, rasdaman_order FROM ps_grid_axis WHERE gridded_coverage_id=6 ORDER BY rasdaman_order
 DEBUG [12:39:50] DbMetadataSource@1082: Found axis with id 11
 DEBUG [12:39:50] DbMetadataSource@1089: SQL query:  SELECT offset_vector FROM ps_rectilinear_axis WHERE grid_axis_id=11
 DEBUG [12:39:50] DbMetadataSource@1098: Offset-vector 11 component: 0.5
 DEBUG [12:39:50] DbMetadataSource@1098: Offset-vector 11 component: 0
 TRACE [12:39:50] DbMetadataSource@1101: Axis 11 has offset-vector [0.5, 0]
 DEBUG [12:39:50] DbMetadataSource@1858: RasQL query : select sdom(c)[0]from pga_cir AS c where oid(c) = 7681
rasj[0] rasj: rasdaman Java API. rasdaman 6.1test -- generated Tue Jan  6 17:52:20 CET 2009.
rasj[0]  Using server http://localhost:7001
 TRACE [12:39:50] RasUtil@135: Executing query select sdom(c)[0]from pga_cir AS c where oid(c) = 7681
 DEBUG [12:39:50] DbMetadataSource@1131: SQL query:  SELECT COUNT(*), MAX(coefficient) FROM ps_vector_coefficients WHERE grid_axis_id=11
 TRACE [12:39:50] DbMetadataSource@1150: Axis 0 of coverage 'pga_cir' is not irregular.
 TRACE [12:39:50] CellDomainElement@51: cell domain -356000:791999
 DEBUG [12:39:50] DbMetadataSource@1164: Added WCPS `cellDomain' element: CellDomainElement#0 [-356000, 791999]
 DEBUG [12:39:50] DbMetadataSource@1082: Found axis with id 12
 DEBUG [12:39:50] DbMetadataSource@1089: SQL query:  SELECT offset_vector FROM ps_rectilinear_axis WHERE grid_axis_id=12
 DEBUG [12:39:50] DbMetadataSource@1098: Offset-vector 12 component: 0
 DEBUG [12:39:50] DbMetadataSource@1098: Offset-vector 12 component: -0.5
 TRACE [12:39:50] DbMetadataSource@1101: Axis 12 has offset-vector [0, -0.5]
 DEBUG [12:39:50] DbMetadataSource@1858: RasQL query : select sdom(c)[1]from pga_cir AS c where oid(c) = 7681
rasj[0] rasj: rasdaman Java API. rasdaman 6.1test -- generated Tue Jan  6 17:52:20 CET 2009.
rasj[0]  Using server http://localhost:7001
 TRACE [12:39:50] RasUtil@135: Executing query select sdom(c)[1]from pga_cir AS c where oid(c) = 7681
 DEBUG [12:39:50] DbMetadataSource@1131: SQL query:  SELECT COUNT(*), MAX(coefficient) FROM ps_vector_coefficients WHERE grid_axis_id=12
 TRACE [12:39:50] DbMetadataSource@1150: Axis 1 of coverage 'pga_cir' is not irregular.
 TRACE [12:39:50] CellDomainElement@51: cell domain -1260000:1171999
 DEBUG [12:39:50] DbMetadataSource@1164: Added WCPS `cellDomain' element: CellDomainElement#1 [-1260000, 1171999]
 DEBUG [12:39:50] Vectors@77: dot-product between [0.5, 0] and [0, -0.5] is: 0.0
 TRACE [12:39:50] DomainElement@118: Domain #0 {Name:E | Type:x | UoM:metre | [82000.00,656000.00] | CRS:http://www.opengis.net/def/crs/EPSG/0/27700'}
 DEBUG [12:39:50] CoverageMetadata@184: Added WCPS `domain' element: Domain #0 {Name:E | Type:x | UoM:metre | [82000.00,656000.00] | CRS:http://www.opengis.$
 TRACE [12:39:50] DomainElement@118: Domain #1 {Name:N | Type:y | UoM:metre | [5000.00,1221000.00] | CRS:http://www.opengis.net/def/crs/EPSG/0/27700'}
 DEBUG [12:39:50] CoverageMetadata@184: Added WCPS `domain' element: Domain #1 {Name:N | Type:y | UoM:metre | [5000.00,1221000.00] | CRS:http://www.opengis.$
  INFO [12:39:50] CrsUtil@1215: EPSG(0):27700/EPSG(0):4326 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):27700/EPSG(0):4326 comparison is cached: *no* need to ask SECORE.
 TRACE [12:39:50] Bbox@150: CRS 'http://www.opengis.net/def/crs/EPSG/0/27700' { Bounding Box [x(82000.00, 656000.00), y(5000.00, 1221000.00)] }
 TRACE [12:39:50] DbMetadataSource@1219: Caching coverage metadata..
 TRACE [12:39:50] CoverageExpr@87: Found simple coverage definition: v1, pga_cir
 TRACE [12:39:50] FieldName@46: name
 TRACE [12:39:50] FieldName@51: Found field name: red
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: select
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: fieldSelect
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: type
 TRACE [12:39:50] RangeField@41: type
 TRACE [12:39:50] RangeField@52: Range field type: char
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: cast
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] RangeComponent@48: component
 TRACE [12:39:50] RangeComponent@63:   field: green
 TRACE [12:39:50] CoverageExpr@57: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@42: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: fieldSelect
 TRACE [12:39:50] InducedOperationCoverageExpr@42: fieldSelect
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: coverage
 TRACE [12:39:50] DynamicMetadataSource@104: Reading metadata for dynamic coverage: pga_cir
 TRACE [12:39:50] DynamicMetadataSource@110: coverages: [glasgow_lac_b, l7_refl_p206r020d20000505, l7_refl_p202r024d20010512, l7_refl_p204r020d20010510, gla$
 DEBUG [12:39:50] DbMetadataSource@803: Reading metadata for coverage 'pga_cir'
 TRACE [12:39:50] DbMetadataSource@812: Returning cached coverage metadata.
 TRACE [12:39:50] CoverageExpr@87: Found simple coverage definition: v1, pga_cir
 TRACE [12:39:50] FieldName@46: name
 TRACE [12:39:50] FieldName@51: Found field name: green
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: select
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: fieldSelect
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: type
 TRACE [12:39:50] RangeField@41: type
 TRACE [12:39:50] RangeField@52: Range field type: char
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: cast
 TRACE [12:39:50] RangeComponent@63:   field: blue
 TRACE [12:39:50] CoverageExpr@57: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@42: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: fieldSelect
 TRACE [12:39:50] InducedOperationCoverageExpr@42: fieldSelect
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: coverage
 TRACE [12:39:50] DynamicMetadataSource@104: Reading metadata for dynamic coverage: pga_cir
 TRACE [12:39:50] DynamicMetadataSource@110: coverages: [glasgow_lac_b, l7_refl_p206r020d20000505, l7_refl_p202r024d20010512, l7_refl_p204r020d20010510, gla$
 DEBUG [12:39:50] DbMetadataSource@803: Reading metadata for coverage 'pga_cir'
 TRACE [12:39:50] DbMetadataSource@812: Returning cached coverage metadata.
 TRACE [12:39:50] CoverageExpr@87: Found simple coverage definition: v1, pga_cir
 TRACE [12:39:50] FieldName@46: name
 TRACE [12:39:50] FieldName@51: Found field name: blue
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: select
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: fieldSelect
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: type
 TRACE [12:39:50] RangeField@41: type
 TRACE [12:39:50] RangeField@52: Range field type: char
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: cast
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] TrimCoverageExpr@67:   axis
 TRACE [12:39:50] DimensionIntervalElement@76: axis
 TRACE [12:39:50] DynamicMetadataSource@104: Reading metadata for dynamic coverage: pga_cir
 TRACE [12:39:50] DynamicMetadataSource@110: coverages: [glasgow_lac_b, l7_refl_p206r020d20000505, l7_refl_p202r024d20010512, l7_refl_p204r020d20010510, gla$
 DEBUG [12:39:50] DbMetadataSource@803: Reading metadata for coverage 'pga_cir'
 TRACE [12:39:50] DbMetadataSource@812: Returning cached coverage metadata.
 TRACE [12:39:50] AxisName@43: axis
 TRACE [12:39:50] AxisName@46:   axis name: E
 TRACE [12:39:50] Crs@55: srsName
 TRACE [12:39:50] Crs@63: Found CRS: http://www.opengis.net/def/crs/EPSG/0/27700
 TRACE [12:39:50] Crs@55: lowerBound
 TRACE [12:39:50] NumericScalarExpr@85: numericConstant
 TRACE [12:39:50] NumericScalarExpr@145:   operation: value, binary: false
 TRACE [12:39:50] ScalarExpr@104: Matched numeric scalar expression.
 TRACE [12:39:50] CellDomainElement@51: cell domain 1:1
 TRACE [12:39:50] DomainElement@118: Domain #0 {Name:x | Type:x | UoM:10^0 | [1,1] | CRS:CRS:1'}
 TRACE [12:39:50] RangeElement@65: Range Element { name 'dynamic_type', type 'unsigned int'}
 TRACE [12:39:50] Bbox@150: CRS 'CRS:1' { Bounding Box [x(1, 1)] }
 TRACE [12:39:50] Crs@55: upperBound
 TRACE [12:39:50] NumericScalarExpr@85: numericConstant
 TRACE [12:39:50] NumericScalarExpr@145:   operation: value, binary: false
 TRACE [12:39:50] ScalarExpr@104: Matched numeric scalar expression.
 TRACE [12:39:50] CellDomainElement@51: cell domain 1:1
 TRACE [12:39:50] DomainElement@118: Domain #0 {Name:x | Type:x | UoM:10^0 | [1,1] | CRS:CRS:1'}
 TRACE [12:39:50] RangeElement@65: Range Element { name 'dynamic_type', type 'unsigned int'}
 TRACE [12:39:50] Bbox@150: CRS 'CRS:1' { Bounding Box [x(1, 1)] }
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] RangeComponent@48: component
  TRACE [12:39:50] RangeComponent@63:   field: blue
 TRACE [12:39:50] CoverageExpr@57: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@42: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: cast
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: fieldSelect
 TRACE [12:39:50] InducedOperationCoverageExpr@42: fieldSelect
 TRACE [12:39:50] UnaryOperationCoverageExpr@64: fieldSelect
 TRACE [12:39:50] CoverageExpr@57: coverage
 TRACE [12:39:50] DynamicMetadataSource@104: Reading metadata for dynamic coverage: pga_cir
 TRACE [12:39:50] DynamicMetadataSource@110: coverages: [glasgow_lac_b, l7_refl_p206r020d20000505, l7_refl_p202r024d20010512, l7_refl_p204r020d20010510, gla$
 DEBUG [12:39:50] DbMetadataSource@803: Reading metadata for coverage 'pga_cir'
 TRACE [12:39:50] DbMetadataSource@812: Returning cached coverage metadata.
 TRACE [12:39:50] CoverageExpr@87: Found simple coverage definition: v1, pga_cir
 TRACE [12:39:50] FieldName@46: name
 TRACE [12:39:50] FieldName@51: Found field name: blue
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: select
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: fieldSelect
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] UnaryOperationCoverageExpr@110:   child name: type
 TRACE [12:39:50] RangeField@41: type
 TRACE [12:39:50] RangeField@52: Range field type: char
 TRACE [12:39:50] UnaryOperationCoverageExpr@149:   operation: cast
 TRACE [12:39:50] InducedOperationCoverageExpr@55: induced Operation SUCCESS: cast
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] CoverageExpr@132: Matched induced coverage expression operation.
 TRACE [12:39:50] TrimCoverageExpr@67:   axis
 TRACE [12:39:50] DimensionIntervalElement@76: axis
 TRACE [12:39:50] DynamicMetadataSource@104: Reading metadata for dynamic coverage: pga_cir
 TRACE [12:39:50] DynamicMetadataSource@110: coverages: [glasgow_lac_b, l7_refl_p206r020d20000505, l7_refl_p202r024d20010512, l7_refl_p204r020d20010510, gla$
 DEBUG [12:39:50] DbMetadataSource@803: Reading metadata for coverage 'pga_cir'
 TRACE [12:39:50] DbMetadataSource@812: Returning cached coverage metadata.
 TRACE [12:39:50] AxisName@43: axis
 TRACE [12:39:50] AxisName@46:   axis name: E
 TRACE [12:39:50] Crs@55: srsName
 TRACE [12:39:50] Crs@63: Found CRS: http://www.opengis.net/def/crs/EPSG/0/27700
 TRACE [12:39:50] Crs@55: lowerBound
 TRACE [12:39:50] NumericScalarExpr@85: numericConstant
 TRACE [12:39:50] NumericScalarExpr@145:   operation: value, binary: false
 TRACE [12:39:50] ScalarExpr@104: Matched numeric scalar expression.
 TRACE [12:39:50] CellDomainElement@51: cell domain 1:1
 TRACE [12:39:50] DomainElement@118: Domain #0 {Name:x | Type:x | UoM:10^0 | [1,1] | CRS:CRS:1'}
 TRACE [12:39:50] RangeElement@65: Range Element { name 'dynamic_type', type 'unsigned int'}
 TRACE [12:39:50] Bbox@150: CRS 'CRS:1' { Bounding Box [x(1, 1)] }
 TRACE [12:39:50] Crs@55: upperBound
 TRACE [12:39:50] NumericScalarExpr@85: numericConstant
 TRACE [12:39:50] NumericScalarExpr@145:   operation: value, binary: false
 TRACE [12:39:50] ScalarExpr@104: Matched numeric scalar expression.
 TRACE [12:39:50] CellDomainElement@51: cell domain 1:1
 TRACE [12:39:50] DomainElement@118: Domain #0 {Name:x | Type:x | UoM:10^0 | [1,1] | CRS:CRS:1'}
 TRACE [12:39:50] RangeElement@65: Range Element { name 'dynamic_type', type 'unsigned int'}
 TRACE [12:39:50] Bbox@150: CRS 'CRS:1' { Bounding Box [x(1, 1)] }
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
INFO [12:39:50] CrsUtil@1215: OGC(0):Index2D/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
 DEBUG [12:39:50] CrsUtil@1123: http://www.opengis.net/def/crs/EPSG/0/27700 CRS is already decoded in cache.
  INFO [12:39:50] CrsUtil@159: http://www.opengis.net/def/crs/EPSG/0/27700 definition is already in cache: do not need to fetch GML definition.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: OGC(0):Index2D/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
 DEBUG [12:39:50] DimensionIntervalElement@234: [Transformed] requested subsettingCrs is 'http://www.opengis.net/def/crs/EPSG/0/27700', should match now nat$
 TRACE [12:39:50] TrimCoverageExpr@67:   axis
 TRACE [12:39:50] DimensionIntervalElement@76: axis
 TRACE [12:39:50] DynamicMetadataSource@104: Reading metadata for dynamic coverage: pga_cir
 TRACE [12:39:50] DynamicMetadataSource@110: coverages: [glasgow_lac_b, l7_refl_p206r020d20000505, l7_refl_p202r024d20010512, l7_refl_p204r020d20010510, gla$
 DEBUG [12:39:50] DbMetadataSource@803: Reading metadata for coverage 'pga_cir'
 TRACE [12:39:50] DbMetadataSource@812: Returning cached coverage metadata.
 TRACE [12:39:50] AxisName@43: axis
 TRACE [12:39:50] AxisName@46:   axis name: N
 TRACE [12:39:50] Crs@55: srsName
 TRACE [12:39:50] Crs@63: Found CRS: http://www.opengis.net/def/crs/EPSG/0/27700
 TRACE [12:39:50] Crs@55: lowerBound
 TRACE [12:39:50] NumericScalarExpr@85: numericConstant
 TRACE [12:39:50] NumericScalarExpr@145:   operation: value, binary: false
 TRACE [12:39:50] ScalarExpr@104: Matched numeric scalar expression.
 TRACE [12:39:50] CellDomainElement@51: cell domain 1:1
 TRACE [12:39:50] DomainElement@118: Domain #0 {Name:x | Type:x | UoM:10^0 | [1,1] | CRS:CRS:1'}
 TRACE [12:39:50] RangeElement@65: Range Element { name 'dynamic_type', type 'unsigned int'}
 TRACE [12:39:50] Bbox@150: CRS 'CRS:1' { Bounding Box [x(1, 1)] }
 TRACE [12:39:50] Crs@55: upperBound
 TRACE [12:39:50] NumericScalarExpr@85: numericConstant
 TRACE [12:39:50] NumericScalarExpr@145:   operation: value, binary: false
 TRACE [12:39:50] ScalarExpr@104: Matched numeric scalar expression.
 TRACE [12:39:50] CellDomainElement@51: cell domain 1:1
 TRACE [12:39:50] DomainElement@118: Domain #0 {Name:x | Type:x | UoM:10^0 | [1,1] | CRS:CRS:1'}
 TRACE [12:39:50] RangeElement@65: Range Element { name 'dynamic_type', type 'unsigned int'}
 TRACE [12:39:50] Bbox@150: CRS 'CRS:1' { Bounding Box [x(1, 1)] }
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: OGC(0):Index2D/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
 DEBUG [12:39:50] CrsUtil@1123: http://www.opengis.net/def/crs/EPSG/0/27700 CRS is already decoded in cache.
  INFO [12:39:50] CrsUtil@159: http://www.opengis.net/def/crs/EPSG/0/27700 definition is already in cache: do not need to fetch GML definition.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: EPSG(0):4326/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
  INFO [12:39:50] CrsUtil@1215: OGC(0):Index2D/EPSG(0):27700 comparison is cached: *no* need to ask SECORE.
 DEBUG [12:39:50] DimensionIntervalElement@234: [Transformed] requested subsettingCrs is 'http://www.opengis.net/def/crs/EPSG/0/27700', should match now nat$
 TRACE [12:39:50] TrimCoverageExpr@92: Number of dimensions: 2
 TRACE [12:39:50] TrimCoverageExpr@102: Axis list count: 2
 TRACE [12:39:50] TrimCoverageExpr@114: Axis ID: 0
 TRACE [12:39:50] TrimCoverageExpr@115: Axis name: E
 TRACE [12:39:50] TrimCoverageExpr@122:   axis: Getting coordinates.
 TRACE [12:39:50] TrimCoverageExpr@128:     axis coords: -60000:-58000
 ERROR [12:39:50] ScalarExpr@148: Invalid coverage Expression, next node: trim
 ERROR [12:39:50] ScaleCoverageExpr@124: Unknown node for ScaleCoverageExpr expression: trim
 ERROR [12:39:50] PetascopeInterface@461: Error stack trace:
InvalidMetadata: Unknown node for ScaleCoverageExpr expression: trim
        at petascope.PetascopeInterface.handleProcessCoverages(PetascopeInterface.java:725)
        at petascope.PetascopeInterface.doGet(PetascopeInterface.java:379)
        at petascope.PetascopeInterface.doPost(PetascopeInterface.java:232)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:701)
Caused by: InvalidMetadata: Unknown node for ScaleCoverageExpr expression: trim
        at petascope.wcps.server.core.ScaleCoverageExpr.<init>(ScaleCoverageExpr.java:125)
        at petascope.wcps.server.core.CoverageExpr.<init>(CoverageExpr.java:92)
        at petascope.wcps.server.core.EncodeDataExpr.<init>(EncodeDataExpr.java:77)
        at petascope.wcps.server.core.XmlQuery.startParsing(XmlQuery.java:120)
        at petascope.wcps.server.core.ProcessCoveragesRequest.<init>(ProcessCoveragesRequest.java:102)
        at petascope.wcps.server.core.Wcps.pcPrepare(Wcps.java:118)
        at petascope.wcps.server.core.Wcps.pcPrepare(Wcps.java:112)
        at petascope.PetascopeInterface.handleProcessCoverages(PetascopeInterface.java:671)
        ... 16 more
 DEBUG [12:39:50] PetascopeInterface@513: Done marshalling Error Report.

Attachments (1)

cir-coverage-some-of-the-holes2.png (74.6 KB ) - added by James Passmore 10 years ago.
holes in the pga-cir coverage

Download all attachments as: .zip

Change History (10)

comment:1 by Dimitar Misev, 10 years ago

Component: undecidedpetascope
Owner: changed from Dimitar Misev to Piero Campalani
Status: newassigned

comment:2 by Piero Campalani, 10 years ago

Hi James,

thanks for the comprehensive report.

Regarding the transparency and black/white differences, I know there is some (currently unilateral) discussion going on, thanks to the (great) post by Marcus.

Regarding the error: I cannot reproduce it… I can successfully run:

for v1 in (rgb) return
encode( scale(
    trim(struct {red : (char) v1.red; green : (char) v1.green; blue : (char) v1.blue},
      {i:"http://localhost:8090/def/crs/OGC/0/Index2D"(0:100), 
       j:"http://localhost:8090/def/crs/OGC/0/Index2D"(0:200)}), 
    {i:"CRS:1"(0:300),
     j:"CRS:1"(0:600)}, {})
, "png"

Which kind of coverage is pga_cir ?

comment:3 by James Passmore, 10 years ago

The pga_cir coverage is a digital orthophoto colour infra-red aerial photography mosaic, covering most of the UK.

DescribeCoverage output for the pga_cir coverage (NEW SERVICE) is below:

<?xml version="1.0" encoding="UTF-8"?>
<wcs:CoverageDescriptions xsi:schemaLocation="http://www.opengis.net/wcs/2.0 http://schemas.opengis.net/wcs/2.0/wcsAll.xsd" xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:crs="http://www.opengis.net/wcs/service-extension/crs/1.0" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink">
  <wcs:CoverageDescription gml:id="pga_cir" xmlns="http://www.opengis.net/gml/3.2" xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0" xmlns:swe="http://www.opengis.net/swe/2.0">
    <boundedBy>
      <Envelope srsName="http://www.opengis.net/def/crs/EPSG/0/27700" axisLabels="E N" uomLabels="metre metre" srsDimension="2">
        <lowerCorner>82000 5000</lowerCorner>
        <upperCorner>656000 1221000</upperCorner>
      </Envelope>
    </boundedBy>
    <wcs:CoverageId>pga_cir</wcs:CoverageId>
    <domainSet>
      <RectifiedGrid dimension="2" gml:id="pga_cir-grid">
        <limits>
          <GridEnvelope>
            <low>-356000 -1260000</low>
            <high>791999 1171999</high>
          </GridEnvelope>
        </limits>
        <axisLabels>E N</axisLabels>
        <origin>
          <Point gml:id="pga_cir-origin" srsName="http://www.opengis.net/def/crs/EPSG/0/27700" axisLabels="E N" uomLabels="metre metre" srsDimension="2">
            <pos>82000.25 1220999.75</pos>
          </Point>
        </origin>
        <offsetVector srsName="http://www.opengis.net/def/crs/EPSG/0/27700" axisLabels="E N" uomLabels="metre metre" srsDimension="2">0.5 0</offsetVector>
        <offsetVector srsName="http://www.opengis.net/def/crs/EPSG/0/27700" axisLabels="E N" uomLabels="metre metre" srsDimension="2">0 -0.5</offsetVector>
      </RectifiedGrid>
    </domainSet>
    <gmlcov:rangeType>
      <swe:DataRecord>
        <swe:field name="b1">
          <swe:Quantity>
            <swe:label>pixel_value</swe:label>
            <swe:uom code="undefined"/>
          </swe:Quantity>
        </swe:field>
        <swe:field name="b2">
          <swe:Quantity>
            <swe:label>pixel_value</swe:label>
            <swe:uom code="undefined"/>
          </swe:Quantity>
        </swe:field>
        <swe:field name="b3">
          <swe:Quantity>
            <swe:label>pixel_value</swe:label>
            <swe:uom code="undefined"/>
          </swe:Quantity>
        </swe:field>
      </swe:DataRecord>
    </gmlcov:rangeType>
    <wcs:ServiceParameters>
      <wcs:CoverageSubtype>RectifiedGridCoverage</wcs:CoverageSubtype>
      <CoverageSubtypeParent xmlns="http://www.opengis.net/wcs/2.0">
        <CoverageSubtype>AbstractDiscreteCoverage</CoverageSubtype>
        <CoverageSubtypeParent>
          <CoverageSubtype>AbstractCoverage</CoverageSubtype>
        </CoverageSubtypeParent>
      </CoverageSubtypeParent>
      <wcs:nativeFormat>application/octet-stream</wcs:nativeFormat>
    </wcs:ServiceParameters>
  </wcs:CoverageDescription>
</wcs:CoverageDescriptions>

comment:4 by James Passmore, 10 years ago

The coverage was loaded as a series of small image tiles (1 sq km) using rasimport. The image tiles do not cover the whole domain.

http://rasdaman.org/raw-attachment/ticket/739/cir-coverage-some-of-the-holes2.png

Last edited 10 years ago by James Passmore (previous) (diff)

by James Passmore, 10 years ago

holes in the pga-cir coverage

comment:5 by James Passmore, 10 years ago

Looking at the comparable WCS requests for the same extents causing an error in rasdaman 9 WCPS query…

OLD service gives an image:

http://.../petascope?service=WCS&Request=GetCoverage&version=2.0.0&CoverageId=pga_cir&format=image/tiff&subset=x(230000,231000)&subset=y(710000,711000)&

NEW service gives an error:

http://.../rasdaman/ows?service=WCS&Request=GetCoverage&version=2.0.1&CoverageId=pga_cir&format=image/tiff&subset=E(230000,231000)&subset=N(710000,711000)&
<ows:ExceptionReport version="2.0.0" 
  xsd:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd" 
  xmlns:ows="http://www.opengis.net/ows/2.0" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <ows:Exception exceptionCode="WcpsError">
    <ows:ExceptionText>
    Error converting WCPS query to rasql query: Invalid coverage Expression, next node: trim - Unknown node for TrimCoverage expression: trim[Invalid coverage Expression, next node: trim - Invalid cell domain element: lower bound -60000 cannot be larger than upper bound -58000]
    </ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>

Which is an odd error because -60000 is not larger than -58000 in a CRS

comment:6 by Piero Campalani, 10 years ago

Hi James,
that's bad.. you are probably hit by the bad critical bug #686, whose fix is included in v9.0.1. Are you running v9.0.0?

comment:7 by Marcus Sen, 10 years ago

We are indeed using v9.0.0 so we'll try v9.0.1. (I had thought the v9.0.1 fixes were just to do with upgrading from older v8 installations).

comment:8 by Marcus Sen, 10 years ago

I confirm that upgrading to v9.0.1 has fixed the errors in the queries above. So this ticket can be closed. (The 0,0,0 pixels appearing white instead of black seems to be the separate issue #741 of v9+ always setting these to transparent rather than using any explicit nodata parameter set in the WCPS query. That's not a problem in this case.)

comment:9 by Marcus Sen, 10 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.