[
https://issues.apache.org/jira/browse/SIS-327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Desruisseaux updated SIS-327:
------------------------------------
Affects Version/s: 0.7
Fix Version/s: (was: 0.7)
0.8
> Defer loading of datum shift grid files
> ---------------------------------------
>
> Key: SIS-327
> URL: https://issues.apache.org/jira/browse/SIS-327
> Project: Spatial Information Systems
> Issue Type: Improvement
> Components: Referencing
> Affects Versions: 0.7
> Reporter: Martin Desruisseaux
> Priority: Minor
> Fix For: 0.8
>
>
> When a {{CoordinateOperation}} is created, its {{MathTransform}} is created
> immediately. This is usually not so costly, except in the case of datum shift
> based on a grid files where the grid files is loaded immediately. This is a
> waste of resources when the caller needs create many such operations, compare
> their {{domainOfValidity}} and retain only one operation at the end.
> The proposal is to load the datum shift grid files only the first time that
> {{getMathTransform()}} is invoked. In addition to reduce the amount of
> resources to load, another effect of this would be to reduce the amount of
> warnings emitted because of grid files not present.
> *How to reproduce:* the snippet below produces a lot of warnings if the grid
> files are not present. After this issue is fixed, we should have at most 1
> warning.
> {code:java}
> CoordinateReferenceSystem sourceCRS = CRS.forCode("EPSG:4267");
> CoordinateReferenceSystem targetCRS = CRS.forCode("EPSG:4326");
> CoordinateOperation op = CRS.findOperation(sourceCRS, targetCRS, null);
> {code}
> *Note:* we could defer the creation of all {{MathTransform}} objects, but
> this is advantageous only for the cases where many operations exist between
> the same pair of CRS. This is the case of datum shift mostly.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)