[ 
https://issues.apache.org/jira/browse/SIS-610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17980041#comment-17980041
 ] 

Martin Desruisseaux commented on SIS-610:
-----------------------------------------

May be seen as a generalization of SIS-514.

> GridDerivation.subgrid(…) should accept AOI with less dimensions than the grid
> ------------------------------------------------------------------------------
>
>                 Key: SIS-610
>                 URL: https://issues.apache.org/jira/browse/SIS-610
>             Project: Spatial Information Systems
>          Issue Type: Improvement
>          Components: Coverage
>    Affects Versions: 1.0, 1.1, 1.2, 1.3, 1.4
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Major
>
> When an Area Of Interest (AOI) is specified by a call to 
> {{GridGeometry.derive().subgrid(…)}}, the current implementation requires 
> that the AOI has at least as many dimensions as the original grid, because 
> the result of this operation is a grid having the number of dimensions of the 
> original grid. The problem is that we sometime have a two-dimensional only 
> AOI and nevertheless want to apply it to a three- or four-dimensional grid. 
> Apache SIS should be able to modify the {{GridGeometry}} only in the 
> dimensions specified by the AOI, and leave the other dimensions unchanged.
> As a special case, SIS 1.5 accepts an AOI with less dimensions if all extra 
> dimensions have a number of cells equals to 1 (i.e., the grid is a slice). 
> This issue is about removing that restriction.
> To reproduce (expected behavior is success, current behavior is 
> {{OperationNotFoundException}} between “WGS 84” and “WGS 84 + Ellipsoidal 
> height +…”):
> {code:java}
> private static void testMultidimensionalSlicing() throws Exception {
>     var sourceEnv = new GeneralEnvelope(CRS.compound(
>             CommonCRS.defaultGeographic(),
>             CommonCRS.Vertical.ELLIPSOIDAL.crs(),
>             CommonCRS.Temporal.JAVA.crs()
>     ));
>     sourceEnv.setRange(0, 10, 20);
>     sourceEnv.setRange(1, 30, 40);
>     sourceEnv.setRange(2, 0, 2);
>     sourceEnv.setRange(3, 0, 2);
>     var sourceGrid = new GridGeometry(
>             new GridExtent(null, new long[4], new long[] { 2, 2, 2, 2 }, 
> false),
>             sourceEnv,
>             GridOrientation.DISPLAY
>     );
>     var targetGrid = new GridGeometry(
>             new GridExtent(2, 2),
>             new Envelope2D(CommonCRS.defaultGeographic(), 10, 30, 10, 10),
>             GridOrientation.DISPLAY
>     );
>     var slice = sourceGrid.derive()
>                           .subgrid(targetGrid)
>                           .build();
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to