You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@sis.apache.org by "Martin Desruisseaux (Jira)" <ji...@apache.org> on 2022/10/03 10:56:00 UTC

[jira] [Updated] (SIS-442) Cache CRS.findOperation(…, areaOfInteret) when area of interest is non null

     [ 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: 1.4
                       (was: 1.3)

> 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.4
>
>
> 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.20.10#820010)