wiki:PetascopeSubsets

Version 2 (modified by Piero Campalani, 11 years ago) ( diff )

style

Subsets in Petascope

This page serves as reference point for the conclusions that have been reached in the discussion rasdaman-users::Subsets and pixel-domain indexes (Alan, Peter, Stephan, Marcus and Piero | July 2012), regarding how subsets should be interpreted by Petascope.

In general, pixel validity is meant as half open [min,max), whereas the subsets are meant as closed intervals [a,b]. Subsets with extent smaller than a pixel resolution return the pixel(s) that include(s) it.

This is probably better understood by means of examples:

--------------------
mean_summer_airtemp (EPSG:4326)
[0:885, 0:710]
x(111.975, 156.275)
y(-44.525, -8.975)
res(0.05, 0.05)
--------------------

   130.975  131.025  131.075  131.125  131.175
X:  ...o--------o--------o--------o--------o...
         cell380  cell381  cell382  cell383 
          [s1]
       [== s2 ==]
         [==== s3 ====]
         [======== s4 =======]
    [=================== s5 ===================] (BEYOND BBOX)

    -22.975  -22.925  -22.875  -22.825  -22.795
Y:  ...o--------o--------o--------o--------o...
         cell280  cell279  cell278  cell277 
          [s1]
       [== s2 ==]
         [==== s3 ====]
         [======== s4 =======]
    [=================== s5 ===================] (BEYOND BBOX)

s1: m[380:380, 280:280]
 - for m in (mean_summer_airtemp) return encode(trim(m, {x(131:131.01), y(-22.951:-22.95)}),"csv")
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=mean_summer_airtemp&
      subset=x(131,131.01)&subset=y(-22.951,-22.95)

s2: m[380:381, 279:280]
 - for m in (mean_summer_airtemp) return encode(trim(m, {x(130.975:131.025), y(-22.975:-22.925)}),"csv")
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=mean_summer_airtemp&
      subset=x(130.975,131.025)&subset=y(-22.975,-22.925)

s3: m[380:381, 279:280]
 - for m in (mean_summer_airtemp) return encode(trim(m, {x(131:131.05), y(-22.95:-22.9)}),"csv")
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=mean_summer_airtemp&
      subset=x(131,131.05)&subset=y(-22.95,-22.9)

s4: m[380:382, 278:280]
 - for m in (mean_summer_airtemp) return encode(trim(m, {x(131:131.1), y(-22.95:-22.85)}),"csv")
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=mean_summer_airtemp&
      subset=x(131,131.1)&subset=y(-22.95,-22.85)

s5: m[0:885, 0:710]
 - for m in (mean_summer_airtemp) return encode(trim(m, {x(100:200), y(-50:50)}),"csv")
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=mean_summer_airtemp&
      subset=x(100,200)&subset=y(-50,50)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

TIME AXIS EXAMPLE:

     09h20    10h20    11h20    12h20    13h20
T:     o--------o--------o--------o--------o
          cell0    cell1    cell2    cell3 
          [s1]
       [== s2 ==]
         [==== s3 ====]
         [======== s4 =======]
    [=================== s5 ===================]

------------------------------------------------------------------------------------------------
s1: (9h25,9h30) --> [LOx:HIx, LOy:HIy, 0:0]
 - http://localhost:8080/petascope/wcs2?
     service=WCS&version=2.0.0&request=GetCoverage&coverageid=MODIS_33N_2010170_WGS84&
     subset=x(10,11)&subset=y(45,46)&subset=t(2010-06-19T09:25,2010-06-19T09:30)
 - for c in (MODIS_33N_2010170_WGS84) return encode(
    trim(
      c,{t:"http://www.opengis.net/def/crs/ISO/0/8601"                        ("2010-06-19T09:25":"2010-06-19T09:30"),
         y:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (45:46),
         x:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (10:11)}),
  "csv")
------------------------------------------------------------------------------------------------
s2: (9h20,10h20) --> [LOx:HIx, LOy:HIy, 0:1]
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=MODIS_33N_2010170_WGS84&
      subset=x(10,11)&subset=y(45,46)&subset=t(2010-06-19T09:20,2010-06-19T10:20)
 - for c in (MODIS_33N_2010170_WGS84) return encode(
    trim(
      c,{t:"http://www.opengis.net/def/crs/ISO/0/8601"                        ("2010-06-19T09:20":"2010-06-19T10:20"),
         y:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (45:46),
         x:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (10:11)}),
  "csv")
------------------------------------------------------------------------------------------------
s3: (10h00,11h00) --> [LOx:HIx, LOy:HIy, 0:1]
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=MODIS_33N_2010170_WGS84&
      subset=x(10,11)&subset=y(45,46)&subset=t(2010-06-19T10:00,2010-06-19T11:00)
 - for c in (MODIS_33N_2010170_WGS84) return encode(
    trim(
      c,{t:"http://www.opengis.net/def/crs/ISO/0/8601"                        ("2010-06-19T10:00":"2010-06-19T11:00"),
         y:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (45:46),
         x:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (10:11)}),
  "csv")
------------------------------------------------------------------------------------------------
s4: (9h30,11h50) --> [LOx:HIx, LOy:HIy, 0:2]
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=MODIS_33N_2010170_WGS84&
      subset=x(10,11)&subset=y(45,46)&subset=t(2010-06-19T09:30,2010-06-19T11:50)
 - for c in (MODIS_33N_2010170_WGS84) return encode(
    trim(
      c,{t:"http://www.opengis.net/def/crs/ISO/0/8601"                        ("2010-06-19T09:30":"2010-06-19T11:50"),
         y:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (45:46),
         x:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (10:11)}),
  "csv")
------------------------------------------------------------------------------------------------
s5: (9h00,14h00) --> [LOx:HIx, LOy:HIy, 0:3]
 - http://localhost:8080/petascope/wcs2?
      service=WCS&version=2.0.0&request=GetCoverage&coverageid=MODIS_33N_2010170_WGS84&
      subset=x(10,11)&subset=y(45,46)&subset=t(2010-06-19T09:00,2010-06-19T14:00)
 - for c in (MODIS_33N_2010170_WGS84) return encode(
    trim(
      c,{t:"http://www.opengis.net/def/crs/ISO/0/8601"                        ("2010-06-19T09:00":"2010-06-19T14:00"),
         y:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (45:46),
         x:"http://kahlua.eecs.jacobs-university.de:8080/def/crs/EPSG/0/4326" (10:11)}),
  "csv")
------------------------------------------------------------------------------------------------

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.