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

Martin Desruisseaux updated SIS-442:
------------------------------------
        Fix Version/s:     (was: 1.1)
                       1.2
    Affects Version/s: 1.1
                       1.0

> Cache CRS.findOperation(…, areaOfInteret) when area of interest is non null
> ---------------------------------------------------------------------------
>
>                 Key: SIS-442
>                 URL: https://issues.apache.org/jira/browse/SIS-442
>             Project: Spatial Information Systems
>          Issue Type: Task
>          Components: Referencing
>    Affects Versions: 0.7, 0.8, 1.0, 1.1
>            Reporter: Martin Desruisseaux
>            Priority: Major
>             Fix For: 1.2
>
>
> Calls to {{CRS.findOperation(sourceCRS, targetCRS, areaOfInterest)}} 
> currently cache the {{CoordinateOperation}} only when {{areaOfInterest}} is 
> null. It is hard to implement a general cache mechanism for all non-null area 
> of interest, but we can implement an intermediate solution:
> # When {{EPSGFactory}} or {{CoordinateOperationRegistry}} detects that there 
> is only one {{CoordinateOperation}} for given source and target CRS, it 
> automatically adds some sentinel value in {{PositionalAccuracy}} metadata. It 
> could be some internal sub-class.
> # When {{DefaultCoordinateOperationFactory}} sees above sentinel values, it 
> allows caching even if {{areaOfInterest}} is non-null. Otherwise caching is 
> enabled only if {{areaOfInterest}} is null, as today.
> # After this optimization has been implemented, we should search for 
> occurrences of {{factory()}} in {{Envelopes}} and replace them by calls to 
> {{Envelope.findOperation(Envelope, Envelope)}}.
> We could also take this opportunity for adding an information message if we 
> detected may transformations for the same pair of CRS. Something like _"Note: 
> many transformations are defined for this pair of referencing systems in 
> different domains of validity."_



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to