Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
In the ISO 19111 ParameterValue class, values that are too complex for being expressed as an int[], double[] or String type may be encoded in auxiliary files. It is the case, for example, of gridded data such as datum shift grids. The name of an auxiliary file is given by ParameterValue.valueFile, but often as a relative path. The directory where that file is located is unspecified by ISO 19111 and depends on the operation using the parameter. For example, datum shift grids used by coordinate transformations are searched by Apache SIS in the $SIS_DATA/DatumChanges directory, where $SIS_DATA is the value of the environment variable. However, the latest approach requires that all potentially used auxiliary files are preexisting on the local machine. This assumption may be applicable for parameters coming from a well-known registry such as EPSG, but cannot work with arbitrary operations where the auxiliary files need to be transferred together with the parameter values. For the latter case, an alternative is to consider the auxiliary files as relative to the GML document or WKT file that provides the parameter values. For allowing users to resolve or download auxiliary files in that way, a getSourceFile() method needs to be added to Apache SIS DefaultParameterValue class. Operations can then use URI.resolve(URI) for getting the absolute path of an auxiliary file from the same server or directory than the GML or WKT file of parameter values.