You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/01/02 13:35:05 UTC

[sis] branch master updated (f3f3169460 -> 459597c6a6)

This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sis.git


    from f3f3169460 Merge branch 'geoapi-3.1'
     add d8cb52a4ca Resolve more cases about FMA identified by "JDK9" comment.
     add 4f11c0244d Add more verifications of `GeneralMatrix` validity. Fix a bug in `GeneralMatrix.setElements(double[])` identified by above-cited verifications.
     add 17ac6d41c2 More attemps to fix accuracy problems, in particular in `LinearTransform1D`. Include deprecation of `InterpolatedMolodenskyTransform`.
     add 468894b82c Use of FMA in series expansion of map projections. Documentation fixes.
     add 422c7f36fe Reduce the amount of `@SuppressWarnings("null")` annotations. There is too many false positives for making null check useful. This commit contains opportunistic comment formatting in modified files.
     add a2eed4d0f8 Resolve compiler warnings about non-serializable fields. https://issues.apache.org/jira/browse/SIS-567
     add c7d4b3ede7 Merge branch 'geoapi-4.0' into geoapi-3.1 Mostly use of Math.fma(…) and resolution of some compiler warnings.
     new 459597c6a6 Merge branch 'geoapi-3.1'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../java/org/apache/sis/console/CommandRunner.java |   2 +-
 .../org/apache/sis/gui/coverage/GridTileCache.java |   2 +-
 .../org/apache/sis/gui/dataset/ResourceEvent.java  |   3 +
 .../java/org/apache/sis/coverage/Category.java     |   2 +
 .../org/apache/sis/coverage/RegionOfInterest.java  |   6 +-
 .../org/apache/sis/coverage/SampleDimension.java   |   2 +
 .../org/apache/sis/coverage/SampleRangeFormat.java |   2 +-
 .../main/java/org/apache/sis/coverage/ToNaN.java   |   2 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   5 +-
 .../java/org/apache/sis/coverage/package-info.java |   2 +-
 .../org/apache/sis/feature/AbstractFeature.java    |   2 +-
 .../apache/sis/feature/AbstractIdentifiedType.java |   4 +
 .../apache/sis/feature/DefaultAssociationRole.java |  14 +-
 .../apache/sis/feature/DefaultAttributeType.java   |   1 +
 .../org/apache/sis/feature/DefaultFeatureType.java |   5 +
 .../java/org/apache/sis/feature/DenseFeature.java  |   2 +
 .../org/apache/sis/feature/EnvelopeOperation.java  |   2 +
 .../java/org/apache/sis/feature/FeatureFormat.java |   5 +-
 .../sis/feature/FeatureOperationException.java     |   1 +
 .../sis/feature/InvalidFeatureException.java       |   1 +
 .../org/apache/sis/feature/NamedFeatureType.java   |   2 +
 .../org/apache/sis/feature/SingletonAttribute.java |   1 +
 .../java/org/apache/sis/feature/SparseFeature.java |   1 +
 .../apache/sis/feature/StringJoinOperation.java    |   2 +
 .../apache/sis/feature/builder/TypeBuilder.java    |   1 -
 .../java/org/apache/sis/filter/BinaryFunction.java |   4 +-
 .../apache/sis/filter/BinaryGeometryFilter.java    |   5 +-
 .../org/apache/sis/filter/ComparisonFilter.java    |   1 -
 .../org/apache/sis/filter/ConvertFunction.java     |   2 +-
 .../org/apache/sis/filter/DefaultSortProperty.java |   2 +-
 .../java/org/apache/sis/filter/DistanceFilter.java |   2 +-
 .../java/org/apache/sis/filter/LeafExpression.java |   2 +-
 .../java/org/apache/sis/filter/LikeFilter.java     |   2 +-
 .../java/org/apache/sis/filter/LogicalFilter.java  |   4 +-
 .../java/org/apache/sis/filter/PropertyValue.java  |   3 +-
 .../java/org/apache/sis/filter/UnaryFunction.java  |   2 +-
 .../org/apache/sis/index/tree/NodeIterator.java    |   1 +
 .../java/org/apache/sis/index/tree/PointTree.java  |  15 +-
 .../org/apache/sis/index/tree/PointTreeNode.java   |  15 +-
 .../org/apache/sis/index/tree/QuadTreeNode.java    |   7 +-
 .../org/apache/sis/internal/feature/Resources.java |   1 -
 .../internal/feature/SpatialOperationContext.java  |   8 +-
 .../sis/internal/feature/j2d/ShapeWrapper.java     |   1 +
 .../feature/jts/PackedCoordinateSequence.java      |   5 +
 .../sis/internal/filter/GeometryConverter.java     |   2 +-
 .../sis/internal/filter/SortByComparator.java      |   1 +
 .../internal/filter/sqlmm/FunctionWithSRID.java    |   1 +
 .../internal/filter/sqlmm/GeometryConstructor.java |   1 +
 .../sis/internal/filter/sqlmm/OneGeometry.java     |   3 +-
 .../apache/sis/internal/filter/sqlmm/ST_Point.java |   1 +
 .../sis/internal/filter/sqlmm/ST_Transform.java    |   1 +
 .../sis/internal/filter/sqlmm/TwoGeometries.java   |   2 +
 .../sis/internal/processing/isoline/Fragments.java |   2 +-
 .../sis/internal/jaxb/IdentifierMapAdapter.java    |   2 +-
 .../sis/internal/jaxb/NonMarshalledAuthority.java  |   1 -
 .../sis/internal/jaxb/SpecializedIdentifier.java   |   2 +-
 .../sis/internal/jaxb/lan/LocaleAndCharset.java    |   4 +-
 .../apache/sis/internal/metadata/Resources.java    |   1 -
 .../sis/internal/simple/SimpleAttributeType.java   |   1 +
 .../internal/simple/SimpleIdentifiedObject.java    |   1 +
 .../sis/internal/simple/SimpleIdentifier.java      |   1 +
 .../org/apache/sis/metadata/MetadataFormat.java    |   2 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   2 +-
 .../org/apache/sis/metadata/iso/ISOMetadata.java   |   2 +-
 .../apache/sis/metadata/sql/MetadataWriter.java    |   6 +-
 .../org/apache/sis/util/iso/DefaultRecord.java     |   2 +-
 .../org/apache/sis/util/iso/DefaultRecordType.java |   2 +-
 .../org/apache/sis/util/iso/DefaultTypeName.java   |   2 +-
 .../org/apache/sis/util/iso/RecordDefinition.java  |   2 +-
 .../main/java/org/apache/sis/xml/NilReason.java    |   3 +-
 .../src/main/java/org/apache/sis/xml/XLink.java    |   1 +
 .../sis/metadata/iso/extent/ExtentsTest.java       |   1 -
 .../apache/sis/test/xml/DocumentComparator.java    |   6 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |  12 +-
 .../org/apache/sis/geometry/ArrayEnvelope.java     |   1 +
 .../org/apache/sis/geometry/CoordinateFormat.java  |   8 +-
 .../org/apache/sis/geometry/DirectPosition1D.java  |   1 +
 .../org/apache/sis/geometry/DirectPosition2D.java  |   1 +
 .../java/org/apache/sis/geometry/Envelope2D.java   |   1 +
 .../java/org/apache/sis/geometry/Envelopes.java    |   3 -
 .../apache/sis/geometry/GeneralDirectPosition.java |   1 +
 .../org/apache/sis/geometry/GeneralEnvelope.java   |   5 +-
 .../java/org/apache/sis/geometry/Shapes2D.java     |   1 -
 .../internal/referencing/EPSGParameterDomain.java  |   1 +
 .../apache/sis/internal/referencing/Formulas.java  |  10 +-
 .../apache/sis/internal/referencing/RTreeNode.java |   1 +
 .../referencing/j2d/AffineTransform2D.java         |   2 +-
 .../referencing/j2d/IntervalRectangle.java         |   8 +-
 .../referencing/j2d/ParameterizedAffine.java       |   3 +-
 .../sis/internal/referencing/j2d/package-info.java |   2 +-
 .../sis/internal/referencing/package-info.java     |   2 +-
 .../referencing/provider/DatumShiftGridFile.java   |   3 +
 .../referencing/provider/DatumShiftGridGroup.java  |   5 +-
 .../provider/FranceGeocentricInterpolation.java    |   5 +-
 .../referencing/provider/GeocentricAffine.java     |   1 -
 .../provider/MolodenskyInterpolation.java          |   3 +
 .../sis/internal/referencing/provider/NADCON.java  |   5 +-
 .../sis/internal/referencing/provider/NTv2.java    |   3 +-
 .../referencing/provider/package-info.java         |   2 +-
 .../main/java/org/apache/sis/io/wkt/Formatter.java |   1 -
 .../apache/sis/io/wkt/GeodeticObjectParser.java    |   1 -
 .../java/org/apache/sis/io/wkt/StoredTree.java     |   1 +
 .../main/java/org/apache/sis/io/wkt/WKTFormat.java |   5 +-
 .../main/java/org/apache/sis/io/wkt/Warnings.java  |  25 +--
 .../java/org/apache/sis/io/wkt/package-info.java   |   2 +-
 .../parameter/DefaultParameterDescriptorGroup.java |   3 +-
 .../sis/parameter/DefaultParameterValue.java       |   4 +-
 .../apache/sis/parameter/FilteredParameters.java   |   3 +-
 .../sis/parameter/MapProjectionParameters.java     |   3 +
 .../org/apache/sis/parameter/ParameterFormat.java  |   6 +-
 .../apache/sis/parameter/ParameterValueList.java   |   4 +-
 .../java/org/apache/sis/parameter/Parameters.java  |   3 +-
 .../org/apache/sis/parameter/TensorParameters.java |   2 +-
 .../org/apache/sis/parameter/TensorValues.java     |   2 +-
 .../sis/parameter/UninitializedParameter.java      |   2 +-
 .../parameter/UnmodifiableParameterValueGroup.java |   4 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   8 +-
 .../sis/referencing/AbstractReferenceSystem.java   |   4 +-
 .../sis/referencing/ImmutableIdentifier.java       |   4 +-
 .../org/apache/sis/referencing/Properties.java     |   1 +
 .../apache/sis/referencing/crs/AbstractCRS.java    |   2 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   2 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |   1 +
 .../sis/referencing/crs/DefaultEngineeringCRS.java |   2 +-
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |   1 +
 .../sis/referencing/crs/DefaultImageCRS.java       |   1 +
 .../sis/referencing/crs/DefaultTemporalCRS.java    |   1 +
 .../sis/referencing/crs/DefaultVerticalCRS.java    |   1 +
 .../org/apache/sis/referencing/cs/AbstractCS.java  |   2 +-
 .../sis/referencing/cs/DefaultCompoundCS.java      |   5 +-
 .../cs/DefaultCoordinateSystemAxis.java            |   1 +
 .../sis/referencing/datum/AbstractDatum.java       |   3 +
 .../sis/referencing/datum/BursaWolfParameters.java |   2 +
 .../sis/referencing/datum/DatumShiftGrid.java      |   3 +
 .../sis/referencing/datum/DefaultEllipsoid.java    |   1 +
 .../referencing/datum/DefaultGeodeticDatum.java    |   2 +
 .../referencing/datum/DefaultPrimeMeridian.java    |   1 +
 .../org/apache/sis/referencing/datum/Sphere.java   |   3 -
 .../factory/ConcurrentAuthorityFactory.java        |   1 -
 .../factory/UnavailableFactoryException.java       |   4 +-
 .../sis/referencing/factory/package-info.java      |   2 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |   1 -
 .../operation/AbstractCoordinateOperation.java     |  14 +-
 .../operation/AbstractSingleOperation.java         |   4 +-
 .../operation/CoordinateOperationContext.java      |   2 +-
 .../operation/CoordinateOperationFinder.java       |  24 +--
 .../operation/DefaultConcatenatedOperation.java    |   2 +-
 .../sis/referencing/operation/DefaultFormula.java  |   4 +-
 .../operation/DefaultOperationMethod.java          |   4 +-
 .../operation/DefaultPassThroughOperation.java     |   2 +-
 .../operation/InverseOperationMethod.java          |   2 +-
 .../operation/builder/LinearTransformBuilder.java  |   1 -
 .../builder/LocalizationGridException.java         |   1 +
 .../operation/builder/ResidualGrid.java            |   1 +
 .../operation/matrix/GeneralMatrix.java            |  67 +++++--
 .../sis/referencing/operation/matrix/Matrices.java |  55 +++---
 .../referencing/operation/matrix/MatrixSIS.java    |  10 +-
 .../operation/matrix/UnmodifiableMatrix.java       |   1 +
 .../referencing/operation/matrix/package-info.java |   2 +-
 .../sis/referencing/operation/package-info.java    |   2 +-
 .../operation/projection/AuthalicConversion.java   |  18 +-
 .../operation/projection/ConformalProjection.java  |  27 +--
 .../referencing/operation/projection/Inverter.java |   2 +-
 .../projection/LambertAzimuthalEqualArea.java      |  12 +-
 .../referencing/operation/projection/Mercator.java |   6 -
 .../operation/projection/MeridianArcBased.java     |  58 ++++--
 .../operation/projection/NormalizedProjection.java |   2 +-
 .../operation/projection/ZonedGridSystem.java      |   3 +
 .../operation/projection/package-info.java         |   2 +-
 .../transform/AbstractLinearTransform.java         |  14 +-
 .../operation/transform/ConcatenatedTransform.java |   3 +
 .../operation/transform/ConstantTransform1D.java   |  13 +-
 .../operation/transform/ContextualParameters.java  |  18 +-
 .../operation/transform/DatumShiftTransform.java   |   2 +
 .../transform/DefaultMathTransformFactory.java     |   3 +-
 .../transform/EllipsoidToCentricTransform.java     |   1 +
 .../transform/ExponentialTransform1D.java          |   1 +
 .../operation/transform/IdentityTransform1D.java   |   4 +-
 .../transform/InterpolatedGeocentricTransform.java |   1 +
 .../transform/InterpolatedMolodenskyTransform.java |   4 +
 .../InterpolatedMolodenskyTransform2D.java         |   3 +
 .../operation/transform/LinearInterpolator1D.java  |  11 +-
 .../operation/transform/LinearTransform1D.java     | 200 ++++++++++++++++-----
 .../transform/LogarithmicTransform1D.java          |   1 +
 .../operation/transform/MathTransforms.java        |   8 +-
 .../operation/transform/PassThroughTransform.java  |   1 +
 .../operation/transform/PoleRotation.java          |   1 +
 .../operation/transform/ProjectiveTransform.java   |  27 ++-
 .../transform/SpecializableTransform.java          |   5 +
 .../operation/transform/TransferFunction.java      |   1 +
 .../operation/transform/TransformAdapter2D.java    |   1 +
 .../sis/referencing/factory/TestFactorySource.java |   1 -
 .../factory/sql/epsg/DataScriptFormatter.java      |   1 -
 .../operation/CoordinateOperationFinderTest.java   |   4 +-
 .../operation/matrix/GeneralMatrixTest.java        |   5 +-
 .../referencing/operation/matrix/MatricesTest.java |  19 +-
 .../operation/matrix/MatrixTestCase.java           |  31 ++--
 .../operation/projection/SinusoidalTest.java       |   2 +-
 .../operation/transform/SinusoidalShiftGrid.java   |   2 +-
 .../sis/internal/converter/ArrayConverter.java     |   1 +
 .../internal/converter/CharSequenceConverter.java  |   1 +
 .../sis/internal/converter/FallbackConverter.java  |   2 +
 .../sis/internal/converter/IdentityConverter.java  |   8 +-
 .../sis/internal/converter/StringConverter.java    |  22 +--
 .../sis/internal/converter/package-info.java       |   2 +-
 .../sis/internal/util/AutoMessageFormat.java       |   2 +-
 .../apache/sis/internal/util/CheckedHashSet.java   |   1 +
 .../org/apache/sis/internal/util/DoubleDouble.java |  70 ++------
 .../sis/internal/util/SimpleCharacterIterator.java |  10 +-
 .../sis/internal/util/UnmodifiableArrayList.java   |   1 +
 .../main/java/org/apache/sis/math/ArrayVector.java |  23 ++-
 .../org/apache/sis/math/ConcatenatedVector.java    |   1 +
 .../org/apache/sis/math/LinearlyDerivedVector.java |   1 +
 .../java/org/apache/sis/math/MathFunctions.java    |  37 ++--
 .../java/org/apache/sis/math/RepeatedVector.java   |   1 +
 .../main/java/org/apache/sis/math/Statistics.java  |   1 +
 .../java/org/apache/sis/math/package-info.java     |   2 +-
 .../org/apache/sis/measure/AbstractConverter.java  |   2 +-
 .../apache/sis/measure/ConcatenatedConverter.java  |   2 +
 .../org/apache/sis/measure/ConventionalUnit.java   |   2 +-
 .../java/org/apache/sis/measure/DerivedScalar.java |   4 +-
 .../sis/measure/FormattedCharacterIterator.java    |  23 +--
 .../org/apache/sis/measure/LinearConverter.java    |  36 ++--
 .../org/apache/sis/measure/MeasurementRange.java   |   1 +
 .../main/java/org/apache/sis/measure/Range.java    |   1 +
 .../main/java/org/apache/sis/measure/Scalar.java   |   2 +-
 .../apache/sis/measure/SexagesimalConverter.java   |   2 +-
 .../java/org/apache/sis/measure/UnitDimension.java |   2 +-
 .../java/org/apache/sis/measure/UnitFormat.java    |   5 +-
 .../main/java/org/apache/sis/measure/Units.java    |   1 +
 .../src/main/java/org/apache/sis/setup/About.java  |   2 +-
 .../sis/util/collection/DefaultTreeTable.java      |   5 +-
 .../org/apache/sis/util/collection/DerivedMap.java |   6 +-
 .../org/apache/sis/util/collection/DerivedSet.java |   2 +-
 .../sis/util/collection/FrequencySortedSet.java    |   3 +-
 .../org/apache/sis/util/collection/RangeSet.java   |   1 +
 .../apache/sis/util/collection/TreeNodeList.java   |   2 +
 .../sis/util/collection/TreeTableFormat.java       |  14 +-
 .../resources/ResourceInternationalString.java     |   1 +
 .../apache/sis/internal/util/DoubleDoubleTest.java |   8 +-
 .../measure/FormattedCharacterIteratorTest.java    |   2 +-
 .../apache/sis/measure/LinearConverterTest.java    |   1 -
 ide-project/NetBeans/nbproject/cfg_hints.xml       |  52 ++++++
 .../sis/internal/profile/fra/Constraints.java      |   1 +
 .../internal/profile/fra/DataIdentification.java   |   1 +
 .../profile/fra/DirectReferenceSystem.java         |   2 +-
 .../profile/fra/IndirectReferenceSystem.java       |   2 +-
 .../sis/internal/profile/fra/LegalConstraints.java |   1 +
 .../internal/profile/fra/SecurityConstraints.java  |   1 +
 .../org/apache/sis/storage/geotiff/CRSBuilder.java |   3 +-
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |   1 -
 .../apache/sis/storage/netcdf/MetadataReader.java  |   1 -
 .../sis/internal/storage/wkt/StoreFormat.java      |   2 +-
 .../apache/sis/storage/CanNotProbeException.java   |   5 +-
 .../java/org/apache/sis/storage/CoverageQuery.java |   2 +-
 .../org/apache/sis/storage/DataStoreRegistry.java  |   2 +-
 .../java/org/apache/sis/storage/FeatureQuery.java  |   5 +
 .../org/apache/sis/storage/StorageConnector.java   |   1 -
 258 files changed, 940 insertions(+), 606 deletions(-)


[sis] 01/01: Merge branch 'geoapi-3.1'

Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 459597c6a64651f96ad87a793576cdcde85df2be
Merge: f3f3169460 c7d4b3ede7
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Mon Jan 2 14:34:47 2023 +0100

    Merge branch 'geoapi-3.1'

 .../java/org/apache/sis/console/CommandRunner.java |   2 +-
 .../org/apache/sis/gui/coverage/GridTileCache.java |   2 +-
 .../org/apache/sis/gui/dataset/ResourceEvent.java  |   3 +
 .../java/org/apache/sis/coverage/Category.java     |   2 +
 .../org/apache/sis/coverage/RegionOfInterest.java  |   6 +-
 .../org/apache/sis/coverage/SampleDimension.java   |   2 +
 .../org/apache/sis/coverage/SampleRangeFormat.java |   2 +-
 .../main/java/org/apache/sis/coverage/ToNaN.java   |   2 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   5 +-
 .../java/org/apache/sis/coverage/package-info.java |   2 +-
 .../org/apache/sis/feature/AbstractFeature.java    |   2 +-
 .../apache/sis/feature/AbstractIdentifiedType.java |   4 +
 .../apache/sis/feature/DefaultAssociationRole.java |  14 +-
 .../apache/sis/feature/DefaultAttributeType.java   |   1 +
 .../org/apache/sis/feature/DefaultFeatureType.java |   5 +
 .../java/org/apache/sis/feature/DenseFeature.java  |   2 +
 .../org/apache/sis/feature/EnvelopeOperation.java  |   2 +
 .../java/org/apache/sis/feature/FeatureFormat.java |   5 +-
 .../sis/feature/FeatureOperationException.java     |   1 +
 .../sis/feature/InvalidFeatureException.java       |   1 +
 .../org/apache/sis/feature/NamedFeatureType.java   |   2 +
 .../org/apache/sis/feature/SingletonAttribute.java |   1 +
 .../java/org/apache/sis/feature/SparseFeature.java |   1 +
 .../apache/sis/feature/StringJoinOperation.java    |   2 +
 .../apache/sis/feature/builder/TypeBuilder.java    |   1 -
 .../java/org/apache/sis/filter/BinaryFunction.java |   4 +-
 .../apache/sis/filter/BinaryGeometryFilter.java    |   5 +-
 .../org/apache/sis/filter/ComparisonFilter.java    |   1 -
 .../org/apache/sis/filter/ConvertFunction.java     |   2 +-
 .../org/apache/sis/filter/DefaultSortProperty.java |   2 +-
 .../java/org/apache/sis/filter/DistanceFilter.java |   2 +-
 .../java/org/apache/sis/filter/LeafExpression.java |   2 +-
 .../java/org/apache/sis/filter/LikeFilter.java     |   2 +-
 .../java/org/apache/sis/filter/LogicalFilter.java  |   4 +-
 .../java/org/apache/sis/filter/PropertyValue.java  |   3 +-
 .../java/org/apache/sis/filter/UnaryFunction.java  |   2 +-
 .../org/apache/sis/index/tree/NodeIterator.java    |   1 +
 .../java/org/apache/sis/index/tree/PointTree.java  |  15 +-
 .../org/apache/sis/index/tree/PointTreeNode.java   |  15 +-
 .../org/apache/sis/index/tree/QuadTreeNode.java    |   7 +-
 .../org/apache/sis/internal/feature/Resources.java |   1 -
 .../internal/feature/SpatialOperationContext.java  |   8 +-
 .../sis/internal/feature/j2d/ShapeWrapper.java     |   1 +
 .../feature/jts/PackedCoordinateSequence.java      |   5 +
 .../sis/internal/filter/GeometryConverter.java     |   2 +-
 .../sis/internal/filter/SortByComparator.java      |   1 +
 .../internal/filter/sqlmm/FunctionWithSRID.java    |   1 +
 .../internal/filter/sqlmm/GeometryConstructor.java |   1 +
 .../sis/internal/filter/sqlmm/OneGeometry.java     |   3 +-
 .../apache/sis/internal/filter/sqlmm/ST_Point.java |   1 +
 .../sis/internal/filter/sqlmm/ST_Transform.java    |   1 +
 .../sis/internal/filter/sqlmm/TwoGeometries.java   |   2 +
 .../sis/internal/processing/isoline/Fragments.java |   2 +-
 .../sis/internal/jaxb/IdentifierMapAdapter.java    |   2 +-
 .../sis/internal/jaxb/NonMarshalledAuthority.java  |   1 -
 .../sis/internal/jaxb/SpecializedIdentifier.java   |   2 +-
 .../sis/internal/jaxb/lan/LocaleAndCharset.java    |   4 +-
 .../apache/sis/internal/metadata/Resources.java    |   1 -
 .../sis/internal/simple/SimpleAttributeType.java   |   1 +
 .../internal/simple/SimpleIdentifiedObject.java    |   1 +
 .../sis/internal/simple/SimpleIdentifier.java      |   1 +
 .../org/apache/sis/metadata/MetadataFormat.java    |   2 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   2 +-
 .../org/apache/sis/metadata/iso/ISOMetadata.java   |   2 +-
 .../apache/sis/metadata/sql/MetadataWriter.java    |   6 +-
 .../org/apache/sis/util/iso/DefaultRecord.java     |   2 +-
 .../org/apache/sis/util/iso/DefaultRecordType.java |   2 +-
 .../org/apache/sis/util/iso/DefaultTypeName.java   |   2 +-
 .../org/apache/sis/util/iso/RecordDefinition.java  |   2 +-
 .../main/java/org/apache/sis/xml/NilReason.java    |   3 +-
 .../src/main/java/org/apache/sis/xml/XLink.java    |   1 +
 .../sis/metadata/iso/extent/ExtentsTest.java       |   1 -
 .../apache/sis/test/xml/DocumentComparator.java    |   6 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |  12 +-
 .../org/apache/sis/geometry/ArrayEnvelope.java     |   1 +
 .../org/apache/sis/geometry/CoordinateFormat.java  |   8 +-
 .../org/apache/sis/geometry/DirectPosition1D.java  |   1 +
 .../org/apache/sis/geometry/DirectPosition2D.java  |   1 +
 .../java/org/apache/sis/geometry/Envelope2D.java   |   1 +
 .../java/org/apache/sis/geometry/Envelopes.java    |   3 -
 .../apache/sis/geometry/GeneralDirectPosition.java |   1 +
 .../org/apache/sis/geometry/GeneralEnvelope.java   |   5 +-
 .../java/org/apache/sis/geometry/Shapes2D.java     |   1 -
 .../internal/referencing/EPSGParameterDomain.java  |   1 +
 .../apache/sis/internal/referencing/Formulas.java  |  10 +-
 .../apache/sis/internal/referencing/RTreeNode.java |   1 +
 .../referencing/j2d/AffineTransform2D.java         |   2 +-
 .../referencing/j2d/IntervalRectangle.java         |   8 +-
 .../referencing/j2d/ParameterizedAffine.java       |   3 +-
 .../sis/internal/referencing/j2d/package-info.java |   2 +-
 .../sis/internal/referencing/package-info.java     |   2 +-
 .../referencing/provider/DatumShiftGridFile.java   |   3 +
 .../referencing/provider/DatumShiftGridGroup.java  |   5 +-
 .../provider/FranceGeocentricInterpolation.java    |   5 +-
 .../referencing/provider/GeocentricAffine.java     |   1 -
 .../provider/MolodenskyInterpolation.java          |   3 +
 .../sis/internal/referencing/provider/NADCON.java  |   5 +-
 .../sis/internal/referencing/provider/NTv2.java    |   3 +-
 .../referencing/provider/package-info.java         |   2 +-
 .../main/java/org/apache/sis/io/wkt/Formatter.java |   1 -
 .../apache/sis/io/wkt/GeodeticObjectParser.java    |   1 -
 .../java/org/apache/sis/io/wkt/StoredTree.java     |   1 +
 .../main/java/org/apache/sis/io/wkt/WKTFormat.java |   5 +-
 .../main/java/org/apache/sis/io/wkt/Warnings.java  |  25 +--
 .../java/org/apache/sis/io/wkt/package-info.java   |   2 +-
 .../parameter/DefaultParameterDescriptorGroup.java |   3 +-
 .../sis/parameter/DefaultParameterValue.java       |   4 +-
 .../apache/sis/parameter/FilteredParameters.java   |   3 +-
 .../sis/parameter/MapProjectionParameters.java     |   3 +
 .../org/apache/sis/parameter/ParameterFormat.java  |   6 +-
 .../apache/sis/parameter/ParameterValueList.java   |   4 +-
 .../java/org/apache/sis/parameter/Parameters.java  |   3 +-
 .../org/apache/sis/parameter/TensorParameters.java |   2 +-
 .../org/apache/sis/parameter/TensorValues.java     |   2 +-
 .../sis/parameter/UninitializedParameter.java      |   2 +-
 .../parameter/UnmodifiableParameterValueGroup.java |   4 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   8 +-
 .../sis/referencing/AbstractReferenceSystem.java   |   4 +-
 .../sis/referencing/ImmutableIdentifier.java       |   4 +-
 .../org/apache/sis/referencing/Properties.java     |   1 +
 .../apache/sis/referencing/crs/AbstractCRS.java    |   2 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   2 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |   1 +
 .../sis/referencing/crs/DefaultEngineeringCRS.java |   2 +-
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |   1 +
 .../sis/referencing/crs/DefaultImageCRS.java       |   1 +
 .../sis/referencing/crs/DefaultTemporalCRS.java    |   1 +
 .../sis/referencing/crs/DefaultVerticalCRS.java    |   1 +
 .../org/apache/sis/referencing/cs/AbstractCS.java  |   2 +-
 .../sis/referencing/cs/DefaultCompoundCS.java      |   5 +-
 .../cs/DefaultCoordinateSystemAxis.java            |   1 +
 .../sis/referencing/datum/AbstractDatum.java       |   3 +
 .../sis/referencing/datum/BursaWolfParameters.java |   2 +
 .../sis/referencing/datum/DatumShiftGrid.java      |   3 +
 .../sis/referencing/datum/DefaultEllipsoid.java    |   1 +
 .../referencing/datum/DefaultGeodeticDatum.java    |   2 +
 .../referencing/datum/DefaultPrimeMeridian.java    |   1 +
 .../org/apache/sis/referencing/datum/Sphere.java   |   3 -
 .../factory/ConcurrentAuthorityFactory.java        |   1 -
 .../factory/UnavailableFactoryException.java       |   4 +-
 .../sis/referencing/factory/package-info.java      |   2 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |   1 -
 .../operation/AbstractCoordinateOperation.java     |  14 +-
 .../operation/AbstractSingleOperation.java         |   4 +-
 .../operation/CoordinateOperationContext.java      |   2 +-
 .../operation/CoordinateOperationFinder.java       |  24 +--
 .../operation/DefaultConcatenatedOperation.java    |   2 +-
 .../sis/referencing/operation/DefaultFormula.java  |   4 +-
 .../operation/DefaultOperationMethod.java          |   4 +-
 .../operation/DefaultPassThroughOperation.java     |   2 +-
 .../operation/InverseOperationMethod.java          |   2 +-
 .../operation/builder/LinearTransformBuilder.java  |   1 -
 .../builder/LocalizationGridException.java         |   1 +
 .../operation/builder/ResidualGrid.java            |   1 +
 .../operation/matrix/GeneralMatrix.java            |  67 +++++--
 .../sis/referencing/operation/matrix/Matrices.java |  55 +++---
 .../referencing/operation/matrix/MatrixSIS.java    |  10 +-
 .../operation/matrix/UnmodifiableMatrix.java       |   1 +
 .../referencing/operation/matrix/package-info.java |   2 +-
 .../sis/referencing/operation/package-info.java    |   2 +-
 .../operation/projection/AuthalicConversion.java   |  18 +-
 .../operation/projection/ConformalProjection.java  |  27 +--
 .../referencing/operation/projection/Inverter.java |   2 +-
 .../projection/LambertAzimuthalEqualArea.java      |  12 +-
 .../referencing/operation/projection/Mercator.java |   6 -
 .../operation/projection/MeridianArcBased.java     |  58 ++++--
 .../operation/projection/NormalizedProjection.java |   2 +-
 .../operation/projection/ZonedGridSystem.java      |   3 +
 .../operation/projection/package-info.java         |   2 +-
 .../transform/AbstractLinearTransform.java         |  14 +-
 .../operation/transform/ConcatenatedTransform.java |   3 +
 .../operation/transform/ConstantTransform1D.java   |  13 +-
 .../operation/transform/ContextualParameters.java  |  18 +-
 .../operation/transform/DatumShiftTransform.java   |   2 +
 .../transform/DefaultMathTransformFactory.java     |   3 +-
 .../transform/EllipsoidToCentricTransform.java     |   1 +
 .../transform/ExponentialTransform1D.java          |   1 +
 .../operation/transform/IdentityTransform1D.java   |   4 +-
 .../transform/InterpolatedGeocentricTransform.java |   1 +
 .../transform/InterpolatedMolodenskyTransform.java |   4 +
 .../InterpolatedMolodenskyTransform2D.java         |   3 +
 .../operation/transform/LinearInterpolator1D.java  |  11 +-
 .../operation/transform/LinearTransform1D.java     | 200 ++++++++++++++++-----
 .../transform/LogarithmicTransform1D.java          |   1 +
 .../operation/transform/MathTransforms.java        |   8 +-
 .../operation/transform/PassThroughTransform.java  |   1 +
 .../operation/transform/PoleRotation.java          |   1 +
 .../operation/transform/ProjectiveTransform.java   |  27 ++-
 .../transform/SpecializableTransform.java          |   5 +
 .../operation/transform/TransferFunction.java      |   1 +
 .../operation/transform/TransformAdapter2D.java    |   1 +
 .../sis/referencing/factory/TestFactorySource.java |   1 -
 .../factory/sql/epsg/DataScriptFormatter.java      |   1 -
 .../operation/CoordinateOperationFinderTest.java   |   4 +-
 .../operation/matrix/GeneralMatrixTest.java        |   5 +-
 .../referencing/operation/matrix/MatricesTest.java |  19 +-
 .../operation/matrix/MatrixTestCase.java           |  31 ++--
 .../operation/projection/SinusoidalTest.java       |   2 +-
 .../operation/transform/SinusoidalShiftGrid.java   |   2 +-
 .../sis/internal/converter/ArrayConverter.java     |   1 +
 .../internal/converter/CharSequenceConverter.java  |   1 +
 .../sis/internal/converter/FallbackConverter.java  |   2 +
 .../sis/internal/converter/IdentityConverter.java  |   8 +-
 .../sis/internal/converter/StringConverter.java    |  22 +--
 .../sis/internal/converter/package-info.java       |   2 +-
 .../sis/internal/util/AutoMessageFormat.java       |   2 +-
 .../apache/sis/internal/util/CheckedHashSet.java   |   1 +
 .../org/apache/sis/internal/util/DoubleDouble.java |  70 ++------
 .../sis/internal/util/SimpleCharacterIterator.java |  10 +-
 .../sis/internal/util/UnmodifiableArrayList.java   |   1 +
 .../main/java/org/apache/sis/math/ArrayVector.java |  23 ++-
 .../org/apache/sis/math/ConcatenatedVector.java    |   1 +
 .../org/apache/sis/math/LinearlyDerivedVector.java |   1 +
 .../java/org/apache/sis/math/MathFunctions.java    |  37 ++--
 .../java/org/apache/sis/math/RepeatedVector.java   |   1 +
 .../main/java/org/apache/sis/math/Statistics.java  |   1 +
 .../java/org/apache/sis/math/package-info.java     |   2 +-
 .../org/apache/sis/measure/AbstractConverter.java  |   2 +-
 .../apache/sis/measure/ConcatenatedConverter.java  |   2 +
 .../org/apache/sis/measure/ConventionalUnit.java   |   2 +-
 .../java/org/apache/sis/measure/DerivedScalar.java |   4 +-
 .../sis/measure/FormattedCharacterIterator.java    |  23 +--
 .../org/apache/sis/measure/LinearConverter.java    |  36 ++--
 .../org/apache/sis/measure/MeasurementRange.java   |   1 +
 .../main/java/org/apache/sis/measure/Range.java    |   1 +
 .../main/java/org/apache/sis/measure/Scalar.java   |   2 +-
 .../apache/sis/measure/SexagesimalConverter.java   |   2 +-
 .../java/org/apache/sis/measure/UnitDimension.java |   2 +-
 .../java/org/apache/sis/measure/UnitFormat.java    |   5 +-
 .../main/java/org/apache/sis/measure/Units.java    |   1 +
 .../src/main/java/org/apache/sis/setup/About.java  |   2 +-
 .../sis/util/collection/DefaultTreeTable.java      |   5 +-
 .../org/apache/sis/util/collection/DerivedMap.java |   6 +-
 .../org/apache/sis/util/collection/DerivedSet.java |   2 +-
 .../sis/util/collection/FrequencySortedSet.java    |   3 +-
 .../org/apache/sis/util/collection/RangeSet.java   |   1 +
 .../apache/sis/util/collection/TreeNodeList.java   |   2 +
 .../sis/util/collection/TreeTableFormat.java       |  14 +-
 .../resources/ResourceInternationalString.java     |   1 +
 .../apache/sis/internal/util/DoubleDoubleTest.java |   8 +-
 .../measure/FormattedCharacterIteratorTest.java    |   2 +-
 .../apache/sis/measure/LinearConverterTest.java    |   1 -
 ide-project/NetBeans/nbproject/cfg_hints.xml       |  52 ++++++
 .../sis/internal/profile/fra/Constraints.java      |   1 +
 .../internal/profile/fra/DataIdentification.java   |   1 +
 .../profile/fra/DirectReferenceSystem.java         |   2 +-
 .../profile/fra/IndirectReferenceSystem.java       |   2 +-
 .../sis/internal/profile/fra/LegalConstraints.java |   1 +
 .../internal/profile/fra/SecurityConstraints.java  |   1 +
 .../org/apache/sis/storage/geotiff/CRSBuilder.java |   3 +-
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |   1 -
 .../apache/sis/storage/netcdf/MetadataReader.java  |   1 -
 .../sis/internal/storage/wkt/StoreFormat.java      |   2 +-
 .../apache/sis/storage/CanNotProbeException.java   |   5 +-
 .../java/org/apache/sis/storage/CoverageQuery.java |   2 +-
 .../org/apache/sis/storage/DataStoreRegistry.java  |   2 +-
 .../java/org/apache/sis/storage/FeatureQuery.java  |   5 +
 .../org/apache/sis/storage/StorageConnector.java   |   1 -
 258 files changed, 940 insertions(+), 606 deletions(-)

diff --cc core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
index a99c102d8a,b7f0bbbbc3..cda13acf8b
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
@@@ -223,10 -234,10 +224,10 @@@ public class DefaultAssociationRole ext
                  } else {
                      /*
                       * The feature that we need to resolve is not the one we just created. Maybe we can find
-                      * this desired feature in an association of the 'creating' feature, instead of beeing
-                      * the 'creating' feature itself. This is a little bit unusual, but not illegal.
+                      * this desired feature in an association of the `creating` feature, instead of beeing
+                      * the `creating` feature itself. This is a little bit unusual, but not illegal.
                       */
 -                    final List<FeatureType> deferred = new ArrayList<>();
 +                    final List<DefaultFeatureType> deferred = new ArrayList<>();
                      resolved = search(creating, properties, name, deferred);
                      if (resolved == null) {
                          /*
@@@ -260,9 -271,8 +261,8 @@@
       * @param  deferred    where to store {@code FeatureType}s to be eventually used for a deep search.
       * @return the feature of the given name, or {@code null} if none.
       */
-     @SuppressWarnings("null")
 -    private static FeatureType search(final FeatureType feature, Collection<? extends PropertyType> properties,
 -            final GenericName name, final List<FeatureType> deferred)
 +    private static DefaultFeatureType search(final DefaultFeatureType feature, Collection<? extends AbstractIdentifiedType> properties,
 +            final GenericName name, final List<DefaultFeatureType> deferred)
      {
          /*
           * Search only in associations declared in the given feature, not in inherited associations.
@@@ -348,11 -359,13 +348,11 @@@
       *         and not yet resolved.
       *
       * @see #isResolved()
 -     * @see Features#getValueTypeName(PropertyType)
       */
 -    @Override
 -    public final FeatureType getValueType() {
 +    public final DefaultFeatureType getValueType() {
          /*
           * This method shall be final for consistency with other methods in this classes
-          * which use the 'valueType' field directly. Furthermore, this method is invoked
+          * which use the `valueType` field directly. Furthermore, this method is invoked
           * (indirectly) by DefaultFeatureType constructors.
           */
          FeatureType type = valueType;
diff --cc core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
index d11b7e87bf,29841e9f5a..dbc9f39489
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
@@@ -150,13 -156,14 +150,14 @@@ public class DefaultFeatureType extend
       *
       * @see #getSuperTypes()
       */
 -    @SuppressWarnings("serial")                     // Can be various serializable implementations.
 -    private final Set<FeatureType> superTypes;
++    @SuppressWarnings("serial")
 +    private final Set<DefaultFeatureType> superTypes;
  
      /**
 -     * The names of all parents of this feature type, including parents of parents.
 -     * This is used for a more efficient implementation of {@link #isAssignableFrom(FeatureType)}.
 +     * The names of all parents of this feature type, including parents of parents. This is used
 +     * for a more efficient implementation of {@link #isAssignableFrom(DefaultFeatureType)}.
       *
 -     * @see #isAssignableFrom(FeatureType)
 +     * @see #isAssignableFrom(DefaultFeatureType)
       */
      private transient Set<GenericName> assignableTo;
  
@@@ -167,7 -174,8 +168,8 @@@
       *
       * @see #getProperties(boolean)
       */
+     @SuppressWarnings("serial")                     // Can be various serializable implementations.
 -    private final List<PropertyType> properties;
 +    private final List<AbstractIdentifiedType> properties;
  
      /**
       * All properties, including the ones declared in the super-types.
diff --cc core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
index f53c01b44b,6b55312d79..a41ba4057a
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
@@@ -613,14 -628,14 +612,14 @@@ format:                     for (final 
                                  Collection<?> cv = CollectionsExt.singletonOrEmpty(ct.getDefaultValue());
                                  if (feature != null) {
                                      /*
-                                      * Usually, the property 'cp' below is null because all features use the same
+                                      * Usually, the property `cp` below is null because all features use the same
                                       * characteristic value (for example the same unit of measurement),  which is
-                                      * given by the default value 'cv'.  Nevertheless we have to check if current
+                                      * given by the default value `cv`.  Nevertheless we have to check if current
                                       * feature overrides this characteristic.
                                       */
 -                                    final Property cp = feature.getProperty(propertyType.getName().toString());
 -                                    if (cp instanceof Attribute<?>) {            // Should always be true, but we are paranoiac.
 -                                        Attribute<?> ca = ((Attribute<?>) cp).characteristics().get(cn.toString());
 +                                    final Object cp = feature.getProperty(propertyType.getName().toString());
 +                                    if (cp instanceof AbstractAttribute<?>) {            // Should always be true, but we are paranoiac.
 +                                        AbstractAttribute<?> ca = ((AbstractAttribute<?>) cp).characteristics().get(cn.toString());
                                          if (ca != null) cv = ca.getValues();
                                      }
                                  }
diff --cc core/sis-feature/src/main/java/org/apache/sis/filter/BinaryGeometryFilter.java
index f0533e28f0,b936b9d522..b0be4785f0
--- a/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryGeometryFilter.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/filter/BinaryGeometryFilter.java
@@@ -57,14 -63,18 +57,14 @@@ abstract class BinaryGeometryFilter<R,G
  
      /**
       * The first of the two expressions to be used by this function.
 -     *
 -     * @see BinarySpatialOperator#getOperand1()
       */
-     @SuppressWarnings("serial")         // Not statically typed as Serializable.
+     @SuppressWarnings("serial")         // Most SIS implementations are serializable.
      protected final Expression<? super R, GeometryWrapper<G>> expression1;
  
      /**
       * The second of the two expressions to be used by this function.
 -     *
 -     * @see BinarySpatialOperator#getOperand2()
       */
-     @SuppressWarnings("serial")         // Not statically typed as Serializable.
+     @SuppressWarnings("serial")         // Most SIS implementations are serializable.
      protected final Expression<? super R, GeometryWrapper<G>> expression2;
  
      /**
diff --cc storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureQuery.java
index 734da76a62,e7409c28ba..9edc48afa9
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureQuery.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureQuery.java
@@@ -106,7 -108,8 +106,8 @@@ public class FeatureQuery extends Quer
       * @see #getSelection()
       * @see #setSelection(Filter)
       */
+     @SuppressWarnings("serial")                 // Most SIS implementations are serializable.
 -    private Filter<? super Feature> selection;
 +    private Filter<? super AbstractFeature> selection;
  
      /**
       * The number of feature instances to skip from the beginning.
@@@ -134,7 -137,8 +135,8 @@@
       * @see #getSortBy()
       * @see #setSortBy(SortBy)
       */
+     @SuppressWarnings("serial")                 // Most SIS implementations are serializable.
 -    private SortBy<Feature> sortBy;
 +    private SortBy<AbstractFeature> sortBy;
  
      /**
       * Hint used by resources to optimize returned features.
@@@ -419,7 -418,8 +422,8 @@@
           * The literal, value reference or more complex expression to be retrieved by a {@code Query}.
           * Never {@code null}.
           */
+         @SuppressWarnings("serial")
 -        public final Expression<? super Feature, ?> expression;
 +        public final Expression<? super AbstractFeature, ?> expression;
  
          /**
           * The name to assign to the expression result, or {@code null} if unspecified.