| Version 1 (modified by , 13 years ago) ( diff ) |
|---|
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)
-
sequenceRules.png
(106.6 KB
) - added by 12 years ago.
Explanation of the linear sequence rule.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.
