= Grid Topologies = == Introduction == This page tries to inspect many of the different types of N-dimensional (spatiotemporal) gridded coverage topologies that could be stored in `rasdaman`, accompanying every case with GML Web Coverage Service (WCS) responses upon both trimming and slicing. Despite some cases might rarely have a practical real-world example, here we want to give examples for as many allowed geometries as possible. '''Slicing''' on a certain CRS axis means that its knowledge is removed in the output result, so that the dimensionality of the CRS gets decreased for each slicing appearing in the WCS request. However, this does not mean that the ''grid'' dimensionality gets decreasead as well: N-D grids can span an (N+M)-D CRS space, having (M>=0), so as long as the grids can exist in the sliced space, their dimensions will not be reduced. When a CRS is sliced on each of its defined axes, then it can be safely removed from the output description. However, a CRS might be ''partially'' sliced on a subsets of the axes it defines, hence this prompts the issue of defining a CRS URI nomencalture to specify that only certain axes are considered within that CRS definition. Still the issue is open, so by now we will propose an interim solution: e.g. if slicing on longitude is applied on a WGS84 geographic 3D CRS (e.g. EPSG:4327, axes `Lat`, `Long` and `h`), then we will identify the sliced CRS as `http://rasdaman.org:8080/def/crs/EPSG/0/4326?axes='Lat,h'`. All responses will highlight the `domainSet` of each [http://schemas.opengis.net/gmlcov/1.0/coverage.xsd coverage], which will all translate to some [http://www.schemacentral.com/sc/niem21/e-gml32_Grid.html gml:Grid] rectified or referenceable subtype. We will assume that warped grid will be described via `ReferenceableGridByArray`, although an alternative description via origin, offset vectors and matrices of coefficients is also possible. In case of mixed rectilinear/curvilinear geometries, a non-standard so-called `ReferenceableGridByArrayAndVectors` type ![1] will be used, for a more compact and convenient GML description. Coefficients in a `ReferenceableGridByVector` are also kept optional, to allow mixing of regularly and irregularly spaced axis in a same geometry (see again ![1]). It should be noted that in some examples the type of the geometry gets ''simplified'' from a referenceable to a rectified grid (e.g. see [#a2a-ITS case 2a-ITS]). This might happen that trimming or slicing would extract a part of the whole grid with simpler geometry indeed (think of a time slice in an irregular time series of regularly gridded images). Geometry simplification is not mandatory however, nor it is prescribed by WCS standard. A regular grid can always we described via a !ReferenceableGridBy* GML type. When determining which CRS type should be bound to a certain coverage, the term `SpatialCRS` will mean any Earth or Planetary (or Image) related CRS, like `VerticalCRS`, `GeographicCRS`, `ProjectedCRS`, etc. See GML 3.2.1 (OGC 07-036) for more info on the available CRS types. Finally, we will assume that all the time series will be referenced by the daily-resolution (UoM=days ['''d''']) [http://rasdaman.org:8080/def/crs/OGC/0/AnsiDate ANSI-Date] CRS along the temporal dimension, which (by default) has a '''`t`''' positive-onwards axis. By default the ''composition order'' of spatiotemporal CRSs here is first space, then time; this however is not required at all. NB. The axes labels expressed in the geometric domain of a coverage are the labels of the '''coverage''' axes, which here will be labelled as increasing numbers `(0, 1, 2, ...)`, by default. Indeed, they are independent from the axes labels of its '''CRS''', which are instead used in the WCS ''!GetCoverage'' requests. '''[GridTopologyIssues grid topology issues list] '''Abbreviations:''' * '''`GML`''' : Geographic Markup Language * '''`CRS`''' : Coordinate Reference System * '''`SO`''' : Single object * '''`RTS`''' : Regular Time Series * '''`ITS`''' : Irregular Time Series * '''`MRTS`''' : Moving Regular Time Series * '''`MITS`''' : Moving Irregular Time Series [[span(![1] P. Campalani, A. Beccati, and P. Baumann. Improving Efficiency of Grid Representation in GML, 2013. [http://www.informatik.uni-trier.de/~ley/db/conf/enviroinfo/enviroinfo2013.html EnviroInfo'13]., style=color: Black; font-size: 80%)]] == Topologies Index == Due to the high number of possible cases, hereinafter we propose a first main table for global view which puts purely-spatial types of topology per row, which can then be repeated, or evolve, in time with or without regular time steps (columns).[[BR]] Each cell then links to a dedicated subsection with the GML descriptions (assume default namespace is "`gml`"). [[span(In the 1D case, it is also clear how the gridded coverages can cover datasets which are not usually associated with the concept of ''grids'' (e.g. trajectories), style=color: Black; font-size: 80%)]] || '''id''' || || '''description''' || '''dim''' || '''SO''' || '''RTS''' || '''ITS''' || '''MRTS''' || '''MITS''' || || [#Case1 1] || || '''Temporal series of data with no spatial reference''' || 1D || --- || [#a1-RTS link ] || [#a1-ITS link ] || --- || --- || || [#Case2 2] || || '''Point measurements (''with'' spatial reference) on a straight line ...''' || 1D || |||| [#Case2a 2a] || ... parallel to a CRS axis (2D space) || " || [#a2a-SO link ] || [#a2a-RTS link ] || [#a2a-ITS link ] || [#a2a-MRTS link ] || [#a2a-MITS link ] || |||| [#Case2b 2b] || ... diagonal wrt CRS axes (in 2D space) || " || [#a2b-SO link ] || [#a2b-RTS link ] || [#a2b-ITS link ] || [#a2b-MRTS link ] || [#a2b-MITS link ] || |||| [#Case2c 2c] || ... diagonal wrt CRS axes (in 3D space) || " || [#a2c-SO link ] || [#a2c-RTS link ] || [#a2c-ITS link ] || [#a2c-MRTS link ] || [#a2c-MITS link ] || |||| [#Case2d 2d] || ... diagonal in 3D space with irregular spacing || " || [#a2d-SO link ] || [#a2d-RTS link ] || [#a2d-ITS link ] || [#a2d-MRTS link ] || [#a2d-MITS link ] || || [#Case3 3] || || '''Point measurements (''with'' spatial reference) on a curvilinear line ...''' || 1D || |||| [#Case3a 3a] || ... in the 2D space || " || [#a3a-SO link ] || [#a3a-RTS link ] || [#a3a-ITS link ] || [#a3a-MRTS link ] || [#a3a-MITS link ] || |||| [#Case3b 3b] || ... in the 3D space || " || [#a3b-SO link ] || [#a3b-RTS link ] || [#a3b-ITS link ] || [#a3b-MRTS link ] || [#a3b-MITS link ] || || [#Case4 4] || || '''Gridded geo-image in the 2D space ...''' || 2D || |||| [#Case4a 4a] || ... with regular spacing, aligned with CRS axes || " || [#a4a-SO link ] || [#a4a-RTS link ] || [#a4a-ITS link ] || [#a4a-MRTS link ] || [#a4a-MITS link ] || |||| [#Case4b 4b] || ... with regular spacing, and rotation || " || [#a4b-SO link ] || [#a4b-RTS link ] || [#a4b-ITS link ] || [#a4b-MRTS link ] || [#a4b-MITS link ] || |||| [#Case4c 4c] || ... with irregular spacing, and rotation || " || [#a4c-SO link ] || [#a4c-RTS link ] || [#a4c-ITS link ] || [#a4c-MRTS link ] || [#a4c-MITS link ] || |||| [#Case4d 4d] || ... with curvilinear axes (warped grid) || " || [#a4d-SO link ] || [#a4d-RTS link ] || [#a4d-ITS link ] || [#a4d-MRTS link ] || [#a4d-MITS link ] || |||| [#Case4e 4e] || ... warped grid, and 2 (real+simulation) time axes || " || --- || [#a4e-RTS link ] || [#a4e-ITS link ] || [#a4e-MRTS link ] || [#a4e-MITS link ] || || [#Case5 5] || || '''Gridded geo-image in the 3D space (oblique plane) ...''' || 2D || |||| [#Case5a 5a] || ... with regular spacing || " || [#a5a-SO link ] || [#a5a-RTS link ] || [#a5a-ITS link ] || [#a5a-MRTS link ] || [#a5a-MITS link ] || |||| [#Case5b 5b] || ... with irregular spacing || " || [#a5b-SO link ] || [#a5b-RTS link ] || [#a5b-ITS link ] || [#a5b-MRTS link ] || [#a5b-MITS link ] || |||| [#Case5c 5c] || ... with curvilinear axes (warped grid) || " || [#a5c-SO link ] || [#a5c-RTS link ] || [#a5c-ITS link ] || [#a5c-MRTS link ] || [#a5c-MITS link ] || || [#Case6 6] || || '''Gridded 3D geo-cubes ...''' || 3D || |||| [#Case6a 6a] || ... with regular spacing || " || [#a6a-SO link ] || [#a6a-RTS link ] || [#a6a-ITS link ] || [#a6a-MRTS link ] || [#a6a-MITS link ] || |||| [#Case6b 6b] || ... with regular XY spacing, but irregular heights || " || [#a6b-SO link ] || [#a6b-RTS link ] || [#a6b-ITS link ] || [#a6b-MRTS link ] || [#a6b-MITS link ] || |||| [#Case6c 6c] || ... with irregular XYH spacing || " || [#a6c-SO link ] || [#a6c-RTS link ] || [#a6c-ITS link ] || [#a6c-MRTS link ] || [#a6c-MITS link ] || |||| [#Case6d 6d] || ... with curvilinear axes (warped cube) || " || [#a6d-SO link ] || [#a6d-RTS link ] || [#a6d-ITS link ] || [#a6d-MRTS link ] || [#a6d-MITS link ] || |||| [#Case6e 6e] || ... warped cube, and 2 (real+simulation) time axes || " || --- || [#a6e-RTS link ] || [#a6e-ITS link ] || [#a6e-MRTS link ] || [#a6e-MITS link ] || == Examples == === __Case 1__ === '''1D TEMPORAL SERIES OF ASPATIAL DATA.''' This section covers time series of point observations with no spatial reference (or where the spatial reference was not considered relevant): in this case the only distinction is whether there is a regular time step between observations, or not. In its degenerate case, the series turns to a [#a1-SO single point]. ''(Attach a scan of the sketches here with all types in this subcategory?)'' ===== 1-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || TemporalCRS || 1D || * WCS trimming: ''`...subset=t("2013-01-21","2013-04-25")...`'' {{{ #!xml 0 4 0 150501 1 }}} * WCS slicing: ''`...subset=t("2013-01-21")...`'' {{{ #!xml }}} [#TopologiesIndex Up ] ===== 1-ITS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || ||!ReferenceableGridCoverage || !ReferenceableGridByVectors || TemporalCRS || 1D || * WCS trimming: ''`...subset=t("2013-01-21","2013-04-28")...`'' {{{ #!xml 0 4 0 150501 1 0 1 3 6 7 0 Linear }}} * WCS slicing: ''`...subset=t("2013-01-21")...`'' {{{ #!xml }}} [#TopologiesIndex Up ] ---- === __Case 2__ === '''1D SPATIAL OBSERVATIONS ON A STRAIGHT LINE ...''' This section covers (time series of) point observations ''with'' spatial reference. In particular here we have a measurements which lie along a ''straight'' (and not curvilinear) line. Several sub-cases are covered, depending on the regular/irregular spacing between the points, the alignment of this line to one of the axes of the CRS, and the dimensionality of the encompassing space (i.e. the dimensionality of the CRS). ''(Attach a scan of the sketches here with all types in this subcategory?)'' ==== Case 2a ==== '''''... parallel to a CRS axis.''''' ===== 2a-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS || 1D/2D || * WCS trimming: ''`...subset=D(25,105)...`'' {{{ #!xml 0 4 0 25 20 }}} * WCS slicing: ''`...subset=D(25)...`'' {{{ #!xml }}} [#TopologiesIndex Up ] ===== 2a-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS+TemporalCRS || 2D/3D || * WCS trimming: ''`...subset=D(25,105),subset=t("2013-01-06","2013-02-03")...`'' {{{ #!xml 0 0 4 3 0 1 25 150486 20 0 0 7 }}} * WCS slicing: ''`...subset=D(25,105),subset=t("2013-01-06")...`'' {{{ #!xml 0 4 0 25 20 }}} [#TopologiesIndex Up ] ===== 2a-ITS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS+TemporalCRS || 2D/3D || * WCS trimming: ''`...subset=D(25,105),subset=t("2013-01-06","2013-02-17")...`'' {{{ #!xml 0 0 4 3 0 1 25 150486 10 0 0 0 7 0 1 3 6 1 Linear }}} * WCS slicing: ''`...subset=D(25,105),subset=t("2013-01-06")...`''[[BR]] ''In this case the sliced geometry is regular, so we could either describe it via `RectifiedGrid` or, if we want to preserve the GML type of the whole coverage, as well as a `ReferenceableGridByVectors`.'' {{{ #!xml 0 3 0 25 10 }}} [#TopologiesIndex Up ] ===== 2a-MRTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArrayAndVectors || SpatialCRS+TemporalCRS || 2D/3D || * WCS trimming: ''`...subset=D(19,73),subset=t("2012-12-31","2013-01-15")...`'' {{{ #!xml 0 0 2 3 0 1 20 150480 23 150485 19 150490 18 150495 1 Linear 25 0 0 <\domainSet> }}} * WCS slicing (S): ''`...subset=D(25),subset=t("2012-12-31","2013-01-15")...`'' ...what to put in here? * WCS slicing (T): ''`...subset=D(19,73),subset=t("2012-12-31")...`'' See [#a2a-SO 2a-SO]. [#TopologiesIndex Up ] ===== 2a-MITS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArrayAndVectors || SpatialCRS+TemporalCRS || 2D/3D || * WCS trimming: ''`...subset=D(19,73),subset=t("2012-12-31","2013-01-11")...`'' {{{ #!xml 0 0 2 3 0 1 20 150480 23 15086 19 150489 18 150491 1 Linear 25 0 0 <\domainSet> }}} * WCS slicing (S): ''`...subset=D(25),subset=t("2013-01-01","2013-01-31")...`'' ...? * WCS slicing (T): ''`...subset=D(19,73),subset=t("2012-12-31")...`'' See [#a2a-SO 2a-SO]. [#TopologiesIndex Up ] ==== Case 2b ==== '''''... diagonal line, not parallel to a CRS axis.''''' ===== 2b-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS || 2D || * WCS trimming: ''`...subset=E(167000,169000),subset=N(4320000,4323000)...`'' {{{ #!xml 0 2 0 167000 4320000 1000 1500 }}} * WCS slicing: ''`...subset=E(167000,169000),subset=N(4320000)...`'' {{{ #!xml 0 0 0 167000 1000 }}} [#TopologiesIndex Up ] ===== 2b-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS+TemporalCRS || 3D || * WCS trimming: ''`...subset=E(167000,169000),subset=N(4320000,4323000),subset=t("2013-01-06","2013-02-15")...`'' {{{ #!xml 0 0 2 3 0 1 167000 4320000 150486 1000 1500 10 }}} * WCS slicing (S): ''`...subset=E(167000),subset=N(4320000),subset=t("2013-01-06","2013-02-15")...`'' {{{ #!xml 0 3 0 150486 10 }}} * WCS slicing (T): ''`...subset=E(167000,169000),subset=N(4320000,4323000),subset=t("2013-01-06")...`'' See [#a2b-SO 2b-SO]. [#TopologiesIndex Up ] ===== 2b-ITS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS+TemporalCRS || 3D || * WCS trimming: ''`...subset=E(167000,169000),subset=N(4320000,4324500),subset=t("2013-01-06","2013-02-05")...`'' {{{ #!xml 0 0 2 3 0 1 167000 4320000 150486 1000 1500 0 0 0 0 5 0 1 3 6 1 Linear }}} * WCS slicing (S): ''`...subset=E(167000),subset=N(4320000),subset=t("2013-01-06","2013-02-05")...`'' {{{ #!xml 0 3 1 150486 5 0 1 3 6 1 Linear }}} * WCS slicing (T): ''`...subset=E(167000,169000),subset=N(4320000,4324500),subset=t("2013-01-06")...`'' See [#a2b-SO 2b-SO]. [#TopologiesIndex Up ] ===== 2b-MRTS ===== [#TopologiesIndex Up ] ===== 2b-MITS ===== [#TopologiesIndex Up ] ==== Case 2c ==== '''''... diagonal line in the 3D geo-space.''''' ===== 2c-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,300)...`'' {{{ #!xml 0 2 0 40 9 200 0.5 0.5 50 }}} * WCS slicing: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200)...`'' {{{ #!xml 0 0 0 40 9 0.5 0.5 }}} [#TopologiesIndex Up ] ===== 2c-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS+TemporalCRS || 4D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,300),subset=t("2013-01-06","2013-01-21")...`'' {{{ #!xml 0 0 2 3 0 1 40 9 200 150486 0.5 0.5 50 5 }}} * WCS slicing (S): ''`...subset=Lat(40),subset=Long(9),subset=h(200),subset=t("2013-01-06","2013-01-21")...`'' {{{ #!xml 0 3 0 150486 5 }}} * WCS slicing (T): ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,300),subset=t("2013-01-06")...`'' See [#a2c-SO 2c-SO]. [#TopologiesIndex Up ] ===== 2c-ITS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS+TemporalCRS || 4D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,300),subset=t("2013-01-06","2013-02-05")...`'' {{{ #!xml 0 0 2 3 0 1 40 9 200 150486 0.5 0.5 50 0 0 0 0 0 5 0 1 3 6 1 Linear }}} * WCS slicing (S): ''`...subset=Lat(40),subset=Long(9),subset=h(200),subset=t("2013-01-06","2013-02-05")...`'' {{{ #!xml 0 3 1 150486 5 0 1 3 6 1 Linear }}} * WCS slicing (T): ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,300),subset=t("2013-01-06")...`'' See [#a2c-SO 2c-SO]. [#TopologiesIndex Up ] ===== 2c-MRTS ===== [#TopologiesIndex Up ] ===== 2c-MITS ===== [#TopologiesIndex Up ] ==== Case 2d ==== '''''... along a diagonal line in the 3D geo-space with irregular spacing.''''' ===== 2d-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,42),subset=Long(9,11),subset=h(200,400)...`'' {{{ #!xml 0 2 0 40 9 200 0.5 0.5 50 0 3 4 1 Linear }}} * WCS slicing: ''`...subset=Lat(40,42),subset=Long(9,11),subset=h(200)...`'' {{{ #!xml 0 0 0 40 9 0.5 0.5 0 1 Linear }}} [#TopologiesIndex Up ] ===== 2d-RTS ===== [#TopologiesIndex Up ] ===== 2d-ITS ===== [#TopologiesIndex Up ] ===== 2d-MRTS ===== [#TopologiesIndex Up ] ===== 2d-MITS ===== [#TopologiesIndex Up ] ---- === __Case 3__ === '''1D SPATIAL OBSERVATIONS ON A CURVILINEAR LINE ...''' This section covers (time series of) point observations ''with'' spatial reference. In particular here we have a measurements which lie along a ''curvilinear'' (and not straight) line. In this case, the only interesting distinction regards the dimensionality of the space (CRS) into which the points span. ''(Attach a scan of the sketches here with all types in this subcategory?)'' ==== Case 3a ==== '''''... in the 2D geo-space.''''' ===== 3a-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArray || SpatialCRS || 2D || * WCS trimming: ''`...subset=E(167000,169350),subset=N(4320000,4410000)...`'' {{{ #!xml 0 2 0 167000 4320000 167500 4350000 169350 4410000 Linear <\domainSet> }}} * WCS slicing (S): ''`...subset=E(167000),subset=N(4320000)...`'' {{{ #!xml }}} [#TopologiesIndex Up ] ===== 3a-RTS ===== [#TopologiesIndex Up ] ===== 3a-ITS ===== [#TopologiesIndex Up ] ===== 3a-MRTS ===== [#TopologiesIndex Up ] ===== 3a-MITS ===== [#TopologiesIndex Up ] ==== Case 3b ==== '''''... in the 3D geo-space.''''' ===== 3b-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArray || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,240)...`'' {{{ #!xml 0 2 0 40 9 200 40.1 9.2 240 41 10 215 Linear <\domainSet> }}} * WCS slicing (S): ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200)...`'' {{{ #!xml 0 0 0 40 9 Linear <\domainSet> }}} [#TopologiesIndex Up ] ===== 3b-RTS ===== [#TopologiesIndex Up ] ===== 3b-ITS ===== [#TopologiesIndex Up ] ===== 3b-MRTS ===== [#TopologiesIndex Up ] ===== 3b-MITS ===== [#TopologiesIndex Up ] ---- === __Case 4__ === '''2D GRIDDED GEO-IMAGE IN THE 2D SPACE ...''' This section covers (time series of) 2D geo-images which only span a 2-dimensional space (CRS). They can have different geometric layouts, depending on the regularity of the retained grid shape, going from a simple aligned grid with regular pixel size, to a completely warped grid like for instance would be applied to a raw unrectified spaceborne/airborne image. ''(Attach a scan of the sketches here with all types in this subcategory?)'' ==== Case 4a ==== '''''... with regular spacing, aligned with CRS axes.''''' ===== 4a-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS || 2D || * WCS trimming: ''`...subset=E(167000,169000),subset=N(4320000,4324500)...`'' {{{ #!xml 0 0 2 3 0 1 167000 4320000 1000 0 0 1500 }}} * WCS slicing: ''`...subset=E(167000,169000),subset=N(4320000)...`'' {{{ #!xml 0 2 0 1 167000 1000 }}} [#TopologiesIndex Up ] ===== 4a-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS+TemporalCRS || 3D || * WCS trimming: ''`...subset=E(167000,169000),subset=N(4320000,4324500),subset=t("2013-01-06","2013-01-26")...`'' {{{ #!xml 0 0 0 2 3 4 0 1 2 167000 4320000 150486 1000 0 0 0 1500 0 0 0 5 }}} * WCS slicing (S): ''`...subset=E(167000),subset=N(4320000,4324500),subset=t("2013-01-06","2013-01-26")...`'' {{{ #!xml 0 0 3 4 1 2 4320000 150486 1500 0 0 5 }}} * WCS slicing (T): ''`...subset=E(166000,169000),subset=N(4320000,4324500),subset=t("2013-01-06")...`'' See [#a4a-SO 4a-SO]. [#TopologiesIndex Up ] ===== 4a-ITS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS+TemporalCRS || 3D || * WCS trimming: ''`...subset=E(167000,170000),subset=N(4320000,4324500),subset=t("2013-01-02","2013-01-27")...`'' {{{ #!xml 0 0 0 2 3 4 0 1 2 167000 4320000 150482 1500 0 0 0 0 1500 0 1 0 0 5 0 1 3 5 2 Linear }}} * WCS slicing (S): ''`...subset=E(167000),subset=N(4320000),subset=t("2013-01-02","2013-01-27")...`'' {{{ #!xml 0 4 2 150482 5 0 1 3 5 2 Linear }}} * WCS slicing (T): ''`...subset=E(167000,170000),subset=N(4320000,4420000),subset=t("2013-01-02")...`'' See [#a4a-SO 4a-SO]. [#TopologiesIndex Up ] ===== 4a-MRTS ===== [#TopologiesIndex Up ] ===== 4a-MITS ===== [#TopologiesIndex Up ] ==== Case 4b ==== '''''... with regular spacing, and rotation.''''' ===== 4b-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS || 2D || * WCS trimming: ''`...subset=E(167400,168600),subset=N(4320000,4324500)...`'' {{{ #!xml 0 0 2 3 0 1 168000 4320000 300 1500 -200 750 }}} * WCS slicing: ''`...subset=E(167400,168600),subset=N(4320000)...`'' ([!] what to return in this case ?) [#TopologiesIndex Up ] ===== 4b-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS+TemporalCRS || 3D || * WCS trimming: ''`...subset=E(167400,168600),subset=N(4320000,4324500),subset=t("2013-01-06","2013-01-26")...`'' {{{ #!xml 0 0 0 2 3 4 0 1 2 168000 4320000 150486 300 1500 0 -200 750 0 0 0 5 }}} * WCS slicing (S): ''`...subset=E(167400),subset=N(4320000,4324500),subset=t("2013-01-06","2013-01-26")...`'' ...? * WCS slicing (T): ''`...subset=E(167400,168600),subset=N(4320000,4324500),subset=t("2013-01-06")...`'' See [#a4b-SO 4b-SO]. [#TopologiesIndex Up ] ===== 4b-ITS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS+TemporalCRS || 3D || * WCS trimming: ''`...subset=E(167400,168600),subset=N(4320000,4324500),subset=t("2013-01-02","2013-01-27")...`'' {{{ #!xml 0 0 0 2 3 4 0 1 2 168000 4320000 150482 300 1500 0 0 -200 750 0 1 0 0 5 0 1 3 5 2 Linear }}} * WCS slicing (S): ''`...subset=E(167400),subset=N(4320000,4324500),subset=t("2013-01-02","2013-01-27")...`'' ...? * WCS slicing (T): ''`...subset=E(167400,168600),subset=N(4320000,4324500),subset=t("2013-01-02")...`'' See [#a4b-SO 4b-SO]. [#TopologiesIndex Up ] ===== 4b-MRTS ===== [#TopologiesIndex Up ] ===== 4b-MITS ===== [#TopologiesIndex Up ] ==== Case 4c ==== '''''... with irregular spacing, and rotation.''''' ===== 4c-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS || 2D || * WCS trimming: ''`...subset=E(167000,170500),subset=N(4320000,4321500)...`'' {{{ #!xml 0 0 2 3 0 1 167000 4320000 100 500 0 1 3 0 Linear 500 100 0 4 5 7 1 Linear }}} * WCS slicing: ''`...subset=E(167000,170500),subset=N(4320000)...`'' ([!] what to return in this case ?) [#TopologiesIndex Up ] ===== 4c-RTS ===== [#TopologiesIndex Up ] ===== 4c-ITS ===== [#TopologiesIndex Up ] ===== 4c-MRTS ===== [#TopologiesIndex Up ] ===== 4c-MITS ===== [#TopologiesIndex Up ] ==== Case 4d ==== '''''... with curvilinear axes (warped grid).''''' ===== 4d-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArray || SpatialCRS || 2D || * WCS trimming: ''`...subset=E(167000,170000),subset=N(4320000,4419800)...`'' {{{ #!xml 0 0 2 3 0 1 167000 4320000 167500 4350000 169350 4410000 167200 4320500 167550 4354000 169650 4410700 167250 4320780 168900 4354550 169700 4412300 167280 4320790 168990 4357900 170000 4419800 Linear <\domainSet> }}} * WCS slicing (S): ''`...subset=E(160000,170000),subset=N(4320000)...`'' ([!] what to return in this case ?) [#TopologiesIndex Up ] ===== 4d-RTS ===== [#TopologiesIndex Up ] ===== 4d-ITS ===== [#TopologiesIndex Up ] ===== 4d-MRTS ===== [#TopologiesIndex Up ] ===== 4d-MITS ===== [#TopologiesIndex Up ] ==== Case 4e ==== '''''... warped grid, and 2 (real+simulation) time axes''''' ===== 4e-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArrayAndVectors || SpatialCRS+TemporalCRS+TemporalCRS || 4D || * WCS trimming: ''`...subset=E(167000,170000),subset=N(4320000,4419800),subset=t("2013-01-06","2013-01-18"),subset=t_sim("2013-02-06","2013-02-18")...`'' {{{ #!xml 0 0 0 0 2 3 4 4 0 1 2 3 167000 4320000 150486 150517 167500 4350000 150486 150517 169350 4410000 150486 150517 167200 4320500 150486 150517 167550 4354000 150486 150517 169650 4410700 150486 150517 167250 4320780 150486 150517 168900 4354550 150486 150517 169700 4412300 150486 150517 167280 4320790 150486 150517 168990 4357900 150486 150517 170000 4419800 150486 150517 0 1 Linear 0 0 3 0 2 0 0 0 3 3 <\domainSet> }}} * WCS slicing (S): ''`...subset=E(160000),subset=N(4320000),subset=t("2013-01-06","2013-01-18"),subset=t_sim("2013-02-06","2013-02-18")...`'' {{{ #!xml 0 0 4 4 2 3 150486 150517 3 0 0 3 }}} * WCS slicing (ST): ''`...subset=E(160000),subset=N(4320000),subset=t("2013-01-06"),subset=t_sim("2013-02-06","2013-02-18")...`'' {{{ #!xml 0 4 3 150517 3 }}} * WCS slicing (T): ''`...subset=E(167000,170000),subset=N(4320000,4419800),subset=t("2013-01-06"),subset=t_sim("2013-02-06")...`'' See [#a4d-SO 4d-SO]. [#TopologiesIndex Up ] ===== 4e-ITS ===== [#TopologiesIndex Up ] ===== 4e-MRTS ===== [#TopologiesIndex Up ] ===== 4e-MITS ===== [#TopologiesIndex Up ] ---- === __Case 5__ === '''2D GRIDDED GEO-IMAGE IN THE 3D SPACE (oblique plane) ...''' This section covers (time series of) 2D geo-images which transversely span a 3-dimensional space (CRS). They can have different geometric layouts, depending on the regularity of the retained grid shape, going from a simple aligned grid with regular pixel size, to a gridded curvilinear surface/drape. ''(Attach a scan of the sketches here with all types in this subcategory?)'' ==== Case 5a ==== '''''... with regular spacing.''''' ===== 5a-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10.5),subset=h(200,350)...`'' {{{ #!xml 0 0 2 3 0 1 40 9 200 0.5 0 0 0 0.5 50 }}} * WCS slicing: ''`...subset=Lat(40,41),subset=Long(9,10.5),subset=h(200)...`'' {{{ #!xml 0 0 2 0 0 1 40 9 0.5 0 0 0.5 }}} [#TopologiesIndex Up ] ===== 5a-RTS ===== [#TopologiesIndex Up ] ===== 5a-ITS ===== [#TopologiesIndex Up ] ===== 5a-MRTS ===== [#TopologiesIndex Up ] ===== 5a-MITS ===== [#TopologiesIndex Up ] ==== Case 5b ==== '''''... with irregular spacing.''''' ===== 5b-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41.5),subset=Long(9,11.4),subset=h(200,600)...`'' {{{ #!xml 0 0 2 3 0 1 40 9 200 0.5 0 0 0 1 3 0 Linear 0 0.3 50 0 3 6 8 1 Linear }}} * WCS slicing: ''`...subset=Lat(40,41.5),subset=Long(9,11),subset=h(200)...`'' {{{ #!xml 0 0 2 0 0 1 40 9 0.5 0 0 1 3 0 Linear 0 0.3 0 1 Linear }}} [#TopologiesIndex Up ] ===== 5b-RTS ===== [#TopologiesIndex Up ] ===== 5b-ITS ===== [#TopologiesIndex Up ] ===== 5b-MRTS ===== [#TopologiesIndex Up ] ===== 5b-MITS ===== [#TopologiesIndex Up ] ==== Case 5c ==== '''''... with curvilinear axes (warped grid).''''' ===== 5c-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArray || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,300)...`'' {{{ #!xml 0 0 2 3 0 1 40 9.2 200 40.1 9.3 200 40.3 9.5 200 40.1 9.3 240 40.3 9.5 240 40.4 9.7 240 40.4 9.4 245 40.7 9.7 245 40.8 9.8 245 40.6 9.5 290 40.8 9.7 290 41 9.9 300 Linear <\domainSet> }}} * WCS slicing: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(240)...`'' {{{ #!xml 0 3 1 40.1 9.3 40.3 9.5 40.4 9.7 Linear <\domainSet> }}} [#TopologiesIndex Up ] ===== 5c-RTS ===== [#TopologiesIndex Up ] ===== 5c-ITS ===== [#TopologiesIndex Up ] ===== 5c-MRTS ===== [#TopologiesIndex Up ] ===== 5c-MITS ===== [#TopologiesIndex Up ] ---- === __Case 6__ === '''3D GRIDDED GEO-CUBE ...''' This section covers (time series of) 3D geo-cubes. They can have different geometric layouts, depending on the regularity of the retained gridded shape, going from a simple aligned cube with regular voxel size, to a completely warped cube with curvilinear axes. ''(Attach a scan of the sketches here with all types in this subcategory?)'' ==== Case 6a ==== '''''... with regular spacing.''''' ===== 6a-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !RectifiedGridCoverage || !RectifiedGrid || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10.5),subset=h(200,260)...`'' {{{ #!xml 0 0 0 2 3 4 0 1 2 40 9 200 0.5 0 0 0 0.5 0 0 0 15 }}} * WCS slicing: ''`...subset=Lat(40),subset=Long(9,10.5),subset=h(200,260)...`'' {{{ #!xml 0 0 3 4 1 2 9 200 0.5 0 0 15 }}} [#TopologiesIndex Up ] ===== 6a-RTS ===== [#TopologiesIndex Up ] ===== 6a-ITS ===== [#TopologiesIndex Up ] ===== 6a-MRTS ===== [#TopologiesIndex Up ] ===== 6a-MITS ===== [#TopologiesIndex Up ] ==== Case 6b ==== '''''... with regular XY spacing, but irregular heights.''''' ===== 6b-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10.5),subset=h(200,305)...`'' {{{ #!xml 0 0 0 2 3 4 0 1 40 9 200 0.5 0 0 0 0 0.5 0 1 0 0 15 0 3 4 6 7 2 Linear }}} * WCS slicing: ''`...subset=Lat(40,41),subset=Long(9,10.5),subset=h(245)...`'' {{{ #!xml 0 0 2 3 0 1 40 9 0.5 0 0 0 0.5 1 }}} [#TopologiesIndex Up ] ===== 6b-RTS ===== [#TopologiesIndex Up ] ===== 6b-ITS ===== [#TopologiesIndex Up ] ===== 6b-MRTS ===== [#TopologiesIndex Up ] ===== 6b-MITS ===== [#TopologiesIndex Up ] ==== Case 6c ==== '''''... with irregular XYH spacing.''''' ===== 6c-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByVectors || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41.5),subset=Long(9,11.5),subset=h(200,305)...`'' {{{ #!xml 0 0 0 2 3 4 0 1 40 9 200 0.5 0 0 0 1 3 0 Linear 0 0.5 0 0 3 4 5 1 Linear 0 0 15 0 3 4 6 7 2 Linear }}} * WCS slicing: ''`...subset=Lat(40,41.5),subset=Long(9,11.5),subset=h(245)...`'' {{{ #!xml 0 0 2 3 0 1 40 9 0.05 0 0 1 3 0 Linear 0 0.05 0 3 4 5 1 Linear }}} [#TopologiesIndex Up ] ===== 6c-RTS ===== [#TopologiesIndex Up ] ===== 6c-ITS ===== [#TopologiesIndex Up ] ===== 6c-MRTS ===== [#TopologiesIndex Up ] ===== 6c-MITS ===== [#TopologiesIndex Up ] ==== Case 6d ==== '''''... with curvilinear axes (warped cube).''''' ===== 6d-SO ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArray || SpatialCRS || 3D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,295)...`'' {{{ #!xml 0 0 0 2 3 1 0 1 2 40 9.2 200 40.1 9.3 200 40.3 9.5 210 40.1 9.3 205 40.3 9.5 220 40.4 9.7 225 40.4 9.4 215 40.7 9.7 225 40.8 9.8 235 40.6 9.5 220 40.8 9.7 230 40.9 9.9 240 40.0 9.1 205 40.1 9.2 210 40.4 9.6 230 40.2 9.5 220 40.2 9.4 240 40.7 9.7 240 40.5 9.7 225 40.5 9.6 245 40.8 9.8 285 40.7 9.8 230 40.6 9.8 290 41 10 295 Linear <\domainSet> }}} * WCS slicing: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,295)...`'' ...? [#TopologiesIndex Up ] ===== 6d-RTS ===== [#TopologiesIndex Up ] ===== 6d-ITS ===== [#TopologiesIndex Up ] ===== 6d-MRTS ===== [#TopologiesIndex Up ] ===== 6d-MITS ===== [#TopologiesIndex Up ] ==== Case 6e ==== '''''... warped cube, and 2 (real+simulation) time axes.''''' ===== 6e-RTS ===== || '''GML coverage type''' || '''GML domainSet''' || '''native CRS''' || '''CRS dim''' || || !ReferenceableGridCoverage || !ReferenceableGridByArrayAndVectors || SpatialCRS+TemporalCRS+TemporalCRS || 5D || * WCS trimming: ''`...subset=Lat(40,41),subset=Long(9,10),subset=h(200,300),subset=t("2013-01-06","2013-01-09"),subset=t_sim("2013-02-06","2013-02-09")...`'' {{{ #!xml 0 0 0 0 0 2 3 1 1 1 0 1 2 3 4 40 9.2 200 150486 150517 40.1 9.3 200 150486 150517 40.3 9.5 210 150486 150517 40.1 9.3 205 150486 150517 40.3 9.5 220 150486 150517 40.4 9.7 225 150486 150517 40.4 9.4 215 150486 150517 40.7 9.7 225 150486 150517 40.8 9.8 235 150486 150517 40.6 9.5 220 150486 150517 40.8 9.7 230 150486 150517 40.9 9.9 240 150486 150517 40.0 9.1 205 150486 150517 40.1 9.2 210 150486 150517 40.4 9.6 230 150486 150517 40.2 9.5 220 150486 150517 40.2 9.4 240 150486 150517 40.7 9.7 240 150486 150517 40.5 9.7 225 150486 150517 40.5 9.6 245 150486 150517 40.8 9.8 285 150486 150517 40.7 9.8 230 150486 150517 40.6 9.8 290 150486 150517 41 9.9 295 150486 150517 0 1 2 Linear 0 0 0 3 0 3 0 0 0 0 3 4 <\domainSet> }}} * WCS slicing: [#TopologiesIndex Up ] ===== 6e-ITS ===== [#TopologiesIndex Up ] ===== 6e-MRTS ===== [#TopologiesIndex Up ] ===== 6e-MITS ===== [#TopologiesIndex Up ] ----