sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SIS-359) Support coordinate transformations between CRS having duplicated axis orientations
Date Tue, 03 Oct 2017 12:32:00 GMT

     [ https://issues.apache.org/jira/browse/SIS-359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Martin Desruisseaux updated SIS-359:
------------------------------------
    Affects Version/s: 0.8
        Fix Version/s: 1.0

> Support coordinate transformations between CRS having duplicated axis orientations
> ----------------------------------------------------------------------------------
>
>                 Key: SIS-359
>                 URL: https://issues.apache.org/jira/browse/SIS-359
>             Project: Spatial Information Systems
>          Issue Type: Improvement
>          Components: Referencing
>    Affects Versions: 0.6, 0.7, 0.8
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Minor
>             Fix For: 1.0
>
>
> Coordinate systems are usually not allowed to have two axes with the same orientation.
For example it is considered an error to have two axes oriented toward East. But there is
at least two exceptions to this rule:
> * {{AxisDirection.OTHER}}: there is actually no way to know which direction it is, so
two {{OTHER}} orientations may be actually different directions.
> * {{AxisDirection.FUTURE}}: meteorological data can have two time axes. For more information,
see [OGC Best Practice for using Web Map Services (WMS) with Time-Dependent or Elevation-Dependent
Data|http://www.opengis.net/doc/bp/wms-tnz/1.0] (OGC 12-111r1).
> Currently, attempt to transform two CRS having duplicated axis orientation produces an
exception like below:
> {noformat}
> org.opengis.util.FactoryException: Ne peut pas créer l’objet géodétique pour « CompoundCRS[“grib-lonlat-crs+Java…”]
→ CompoundCRS[“grib-lonlat-crs+Java…”] ».
>     at org.apache.sis.referencing.operation.CoordinateOperationFinder.createOperation(CoordinateOperationFinder.java:206)
>     at org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory.createOperation(DefaultCoordinateOperationFactory.java:750)
>     at org.apache.sis.referencing.CRS.findOperation(CRS.java:610)
>     ... 22 more
>     Caused by: java.lang.IllegalArgumentException: Les directions d’axes Other et Other
sont colinéaires.
>     at org.apache.sis.referencing.operation.matrix.Matrices.createTransform(Matrices.java:267)
>     at org.apache.sis.referencing.operation.matrix.Matrices.createTransform(Matrices.java:440)
>     at org.apache.sis.referencing.cs.CoordinateSystems.swapAndScaleAxes(CoordinateSystems.java:280)
>     at org.apache.sis.referencing.operation.CoordinateOperationFinder.createOperation(CoordinateOperationFinder.java:204)
>     ... 26 more
> {noformat}
> One possible approach may be to remember the indirect association between axes and CRS
during the computation performed by {{Matrices.createTransform(…)}}. If two axes have the
same axis direction but we can still distinguish the axes by the enclosing CRS instance, then
we can avoid throwing the exception.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message