sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject [sis] 03/04: Merge ex sis-raster resources into sis-feature resources, in order to have a single resource file per module.
Date Tue, 04 Jun 2019 13:18:43 GMT
This is an automated email from the ASF dual-hosted git repository.

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

commit 25759fe92fe8378ae6b4d6a846755c6ff8e9b9e9
Author: Martin Desruisseaux <martin.desruisseaux@geomatys.com>
AuthorDate: Tue Jun 4 14:50:25 2019 +0200

    Merge ex sis-raster resources into sis-feature resources, in order to have a single resource file per module.
---
 .../java/org/apache/sis/coverage/Category.java     |   2 +-
 .../java/org/apache/sis/coverage/CategoryList.java |   2 +-
 .../org/apache/sis/coverage/SampleDimension.java   |   2 +-
 .../main/java/org/apache/sis/coverage/ToNaN.java   |   2 +-
 .../sis/coverage/grid/DisjointExtentException.java |   2 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |   2 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   2 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   2 +-
 .../grid/IllegalGridGeometryException.java         |   2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java    |   2 +-
 .../java/org/apache/sis/image/DefaultIterator.java |   2 +-
 .../java/org/apache/sis/image/LinearIterator.java  |   2 +-
 .../apache/sis/image/WritablePixelIterator.java    |   2 +-
 .../org/apache/sis/internal/feature/Resources.java | 165 ++++++++++
 .../sis/internal/feature/Resources.properties      |  32 ++
 .../sis/internal/feature/Resources_fr.properties   |  35 ++-
 .../apache/sis/internal/raster/RasterFactory.java  |   1 +
 .../org/apache/sis/internal/raster/Resources.java  | 340 ---------------------
 .../sis/internal/raster/Resources.properties       |  53 ----
 .../sis/internal/raster/Resources_fr.properties    |  59 ----
 20 files changed, 245 insertions(+), 466 deletions(-)

diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java
index 29975b6..ce35f0d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/Category.java
@@ -29,7 +29,7 @@ import org.apache.sis.measure.MeasurementRange;
 import org.apache.sis.measure.NumberRange;
 import org.apache.sis.math.MathFunctions;
 import org.apache.sis.referencing.operation.transform.MathTransforms;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.ArraysExt;
 import org.apache.sis.util.iso.Types;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/CategoryList.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/CategoryList.java
index 37def06..498bca6 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/CategoryList.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/CategoryList.java
@@ -27,7 +27,7 @@ import org.opengis.referencing.operation.TransformException;
 import org.apache.sis.referencing.operation.matrix.Matrix1;
 import org.apache.sis.io.wkt.UnformattableObjectException;
 import org.apache.sis.geometry.GeneralDirectPosition;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.ArraysExt;
 import org.apache.sis.measure.NumberRange;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java
index 87a81aa..998ba67 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java
@@ -33,7 +33,7 @@ import org.opengis.util.InternationalString;
 import org.opengis.referencing.operation.MathTransform1D;
 import org.apache.sis.referencing.operation.transform.TransferFunction;
 import org.apache.sis.internal.util.UnmodifiableArrayList;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.measure.MeasurementRange;
 import org.apache.sis.measure.NumberRange;
 import org.apache.sis.util.resources.Vocabulary;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java
index b27980d..ffee34f 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/ToNaN.java
@@ -19,7 +19,7 @@ package org.apache.sis.coverage;
 import java.util.HashSet;
 import java.util.function.DoubleToIntFunction;
 import org.apache.sis.math.MathFunctions;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 
 
 /**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DisjointExtentException.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DisjointExtentException.java
index dbfb587..cefd306 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DisjointExtentException.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DisjointExtentException.java
@@ -16,7 +16,7 @@
  */
 package org.apache.sis.coverage.grid;
 
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 
 
 /**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java
index f8d0adc..083d37d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridDerivation.java
@@ -37,7 +37,7 @@ import org.apache.sis.internal.referencing.DirectPositionView;
 import org.apache.sis.geometry.GeneralDirectPosition;
 import org.apache.sis.geometry.GeneralEnvelope;
 import org.apache.sis.geometry.Envelopes;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.util.resources.Vocabulary;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.ArgumentChecks;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
index 8cbd609..3fda4ca 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java
@@ -38,7 +38,7 @@ import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.resources.Vocabulary;
 import org.apache.sis.util.collection.WeakValueHashMap;
 import org.apache.sis.internal.metadata.AxisDirections;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.internal.util.Numerics;
 import org.apache.sis.internal.util.Strings;
 import org.apache.sis.geometry.AbstractEnvelope;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
index 06d05c6..1ca565d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridGeometry.java
@@ -45,7 +45,7 @@ import org.apache.sis.referencing.operation.transform.TransformSeparator;
 import org.apache.sis.referencing.operation.transform.PassThroughTransform;
 import org.apache.sis.internal.referencing.DirectPositionView;
 import org.apache.sis.internal.system.Modules;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.util.collection.TreeTable;
 import org.apache.sis.util.collection.TableColumn;
 import org.apache.sis.util.collection.DefaultTreeTable;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/IllegalGridGeometryException.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/IllegalGridGeometryException.java
index 7f7255f..fb0771d 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/IllegalGridGeometryException.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/IllegalGridGeometryException.java
@@ -16,7 +16,7 @@
  */
 package org.apache.sis.coverage.grid;
 
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 
 
 /**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ImageRenderer.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ImageRenderer.java
index aea7d77..57b341c 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ImageRenderer.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ImageRenderer.java
@@ -33,7 +33,7 @@ import org.apache.sis.coverage.MismatchedCoverageRangeException;
 import org.apache.sis.coverage.SampleDimension;
 import org.apache.sis.internal.raster.ColorModelFactory;
 import org.apache.sis.internal.raster.RasterFactory;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.internal.util.CollectionsExt;
 import org.apache.sis.util.NullArgumentException;
 import org.apache.sis.util.resources.Errors;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/image/DefaultIterator.java b/core/sis-feature/src/main/java/org/apache/sis/image/DefaultIterator.java
index 5bf0dab..41ad3c8 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/image/DefaultIterator.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/image/DefaultIterator.java
@@ -30,7 +30,7 @@ import java.nio.IntBuffer;
 import java.nio.FloatBuffer;
 import java.nio.DoubleBuffer;
 import org.opengis.coverage.grid.SequenceType;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.ArgumentChecks;
 
diff --git a/core/sis-feature/src/main/java/org/apache/sis/image/LinearIterator.java b/core/sis-feature/src/main/java/org/apache/sis/image/LinearIterator.java
index 6f2c699..0a1bd64 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/image/LinearIterator.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/image/LinearIterator.java
@@ -24,7 +24,7 @@ import java.awt.image.WritableRaster;
 import java.awt.image.WritableRenderedImage;
 import java.awt.image.RasterFormatException;
 import org.opengis.coverage.grid.SequenceType;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 
 
 /**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/image/WritablePixelIterator.java b/core/sis-feature/src/main/java/org/apache/sis/image/WritablePixelIterator.java
index 2e71179..65f8900 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/image/WritablePixelIterator.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/image/WritablePixelIterator.java
@@ -23,7 +23,7 @@ import java.awt.image.Raster;
 import java.awt.image.RenderedImage;
 import java.awt.image.WritableRaster;
 import java.awt.image.WritableRenderedImage;
-import org.apache.sis.internal.raster.Resources;
+import org.apache.sis.internal.feature.Resources;
 
 
 /**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java
index 29daf95..9f35c4e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.java
@@ -70,21 +70,46 @@ public final class Resources extends IndexedResourceBundle {
         public static final short CanNotAssignCharacteristics_1 = 2;
 
         /**
+         * Can not enumerate values in the {0} range.
+         */
+        public static final short CanNotEnumerateValuesInRange_1 = 23;
+
+        /**
          * Property “{0}” is not a type that can be instantiated.
          */
         public static final short CanNotInstantiateProperty_1 = 3;
 
         /**
+         * Some envelope dimensions can not be mapped to grid dimensions.
+         */
+        public static final short CanNotMapToGridDimensions = 24;
+
+        /**
          * Can not set a value of type ‘{1}’ to characteristic “{0}”.
          */
         public static final short CanNotSetCharacteristics_2 = 4;
 
         /**
+         * Can not set this derived grid property after a call to “{0}” method.
+         */
+        public static final short CanNotSetDerivedGridProperty_1 = 25;
+
+        /**
          * Type of the “{0}” property does not allow to set a value.
          */
         public static final short CanNotSetPropertyValue_1 = 5;
 
         /**
+         * Can not simplify transfer function of sample dimension “{0}”.
+         */
+        public static final short CanNotSimplifyTransferFunction_1 = 26;
+
+        /**
+         * The two categories “{0}” and “{2}” have overlapping ranges: {1} and {3} respectively.
+         */
+        public static final short CategoryRangeOverlap_4 = 27;
+
+        /**
          * Characteristics “{1}” already exists in attribute “{0}”.
          */
         public static final short CharacteristicsAlreadyExists_2 = 6;
@@ -100,12 +125,44 @@ public final class Resources extends IndexedResourceBundle {
         public static final short DependencyNotFound_3 = 8;
 
         /**
+         * Indices ({3}) are outside grid coverage. The value in dimension {0} shall be between
+         * {1,number} and {2,number} inclusive.
+         */
+        public static final short GridCoordinateOutsideCoverage_4 = 28;
+
+        /**
+         * The grid envelope must have at least {0} dimensions.
+         */
+        public static final short GridEnvelopeMustBeNDimensional_1 = 29;
+
+        /**
+         * Envelope is outside grid coverage. Indices [{3,number} … {4,number}] in dimension {0} do not
+         * intersect the [{1,number} … {2,number}] grid extent.
+         */
+        public static final short GridEnvelopeOutsideCoverage_5 = 30;
+
+        /**
+         * Sample value range {1} for “{0}” category is illegal.
+         */
+        public static final short IllegalCategoryRange_2 = 31;
+
+        /**
          * Association “{0}” does not accept features of type ‘{2}’. Expected an instance of ‘{1}’ or
          * derived type.
          */
         public static final short IllegalFeatureType_3 = 9;
 
         /**
+         * Illegal grid envelope [{1,number} … {2,number}] for dimension {0}.
+         */
+        public static final short IllegalGridEnvelope_3 = 32;
+
+        /**
+         * Can not create a grid geometry with the given “{0}” component.
+         */
+        public static final short IllegalGridGeometryComponent_1 = 33;
+
+        /**
          * Type or result of “{0}” property can not be ‘{1}’ for this operation.
          */
         public static final short IllegalPropertyType_2 = 10;
@@ -117,28 +174,101 @@ public final class Resources extends IndexedResourceBundle {
         public static final short IllegalPropertyValueClass_3 = 11;
 
         /**
+         * Illegal transfer function for “{0}” category.
+         */
+        public static final short IllegalTransferFunction_1 = 34;
+
+        /**
+         * The ({0}, {1}) tile has an unexpected size, number of bands or sample layout.
+         */
+        public static final short IncompatibleTile_2 = 35;
+
+        /**
+         * Iteration is finished.
+         */
+        public static final short IterationIsFinished = 36;
+
+        /**
+         * Iteration did not started.
+         */
+        public static final short IterationNotStarted = 37;
+
+        /**
+         * The bands have different number of sample values.
+         */
+        public static final short MismatchedBandSize = 38;
+
+        /**
+         * The bands store sample values using different data types.
+         */
+        public static final short MismatchedDataType = 39;
+
+        /**
+         * The two images have different size or pixel coordinates.
+         */
+        public static final short MismatchedImageLocation = 40;
+
+        /**
          * Mismatched type for “{0}” property.
          */
         public static final short MismatchedPropertyType_1 = 12;
 
         /**
+         * The two images use different sample models.
+         */
+        public static final short MismatchedSampleModel = 41;
+
+        /**
+         * The two images have different tile grid.
+         */
+        public static final short MismatchedTileGrid = 42;
+
+        /**
          * An attribute for ‘{1}’ values where expected, but the “{0}” attribute specifies values of
          * type ‘{2}’.
          */
         public static final short MismatchedValueClass_3 = 13;
 
         /**
+         * No category for value {0}.
+         */
+        public static final short NoCategoryForValue_1 = 43;
+
+        /**
+         * Can not infer a {0}-dimensional slice from the grid envelope. Dimension {1} has {2,number}
+         * cells.
+         */
+        public static final short NoNDimensionalSlice_3 = 44;
+
+        /**
+         * non-linear in {0} dimension{0,choice,1#|2#s}:
+         */
+        public static final short NonLinearInDimensions_1 = 45;
+
+        /**
          * Property “{0}” contains more than one value.
          */
         public static final short NotASingleton_1 = 14;
 
         /**
+         * The specified dimensions are not in strictly ascending order.
+         */
+        public static final short NotStrictlyOrderedDimensions = 46;
+
+        /**
          * The {0} optional library is not available. Geometric operations will ignore that library.
          * Cause is {1}.
          */
         public static final short OptionalLibraryNotFound_2 = 19;
 
         /**
+         * The ({0,number}, {1,number}) pixel coordinate is outside iterator domain.
+         */
+        public static final short OutOfIteratorDomain_2 = 47;
+
+        public static final short PointOutsideCoverageDomain_1 = 55;
+
+        /**
          * Property “{1}” already exists in feature “{0}”.
          */
         public static final short PropertyAlreadyExists_2 = 15;
@@ -149,11 +279,21 @@ public final class Resources extends IndexedResourceBundle {
         public static final short PropertyNotFound_2 = 16;
 
         /**
+         * Too many qualitative categories.
+         */
+        public static final short TooManyQualitatives = 48;
+
+        /**
          * The {0} geometry library is not available in current runtime environment.
          */
         public static final short UnavailableGeometryLibrary_1 = 21;
 
         /**
+         * Expected {0} bands but got {1}.
+         */
+        public static final short UnexpectedNumberOfBands_2 = 49;
+
+        /**
          * The “{1}” value given to “{0}” property should be separable in {2} components, but we got
          * {3}.
          */
@@ -165,11 +305,36 @@ public final class Resources extends IndexedResourceBundle {
         public static final short UnexpectedNumberOfOrdinates_4 = 22;
 
         /**
+         * Raster data type ‘{0}’ is unknown or unsupported.
+         */
+        public static final short UnknownDataType_1 = 50;
+
+        /**
          * Feature named “{0}” has not yet been resolved.
          */
         public static final short UnresolvedFeatureName_1 = 18;
 
         /**
+         * Coordinate reference system is unspecified.
+         */
+        public static final short UnspecifiedCRS = 51;
+
+        /**
+         * Grid extent is unspecified.
+         */
+        public static final short UnspecifiedGridExtent = 52;
+
+        /**
+         * Raster data are unspecified.
+         */
+        public static final short UnspecifiedRasterData = 53;
+
+        /**
+         * Coordinates transform is unspecified.
+         */
+        public static final short UnspecifiedTransform = 54;
+
+        /**
          * Unsupported geometry {0}D object.
          */
         public static final short UnsupportedGeometryObject_1 = 20;
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.properties b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.properties
index a3cc5a0..6f6a38e 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.properties
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources.properties
@@ -21,23 +21,55 @@
 #
 AbstractFeatureType_1             = Feature type \u2018{0}\u2019 is abstract.
 CanNotAssignCharacteristics_1     = Can not assign characteristics to the \u201c{0}\u201d property.
+CanNotEnumerateValuesInRange_1    = Can not enumerate values in the {0} range.
 CanNotInstantiateProperty_1       = Property \u201c{0}\u201d is not a type that can be instantiated.
+CanNotMapToGridDimensions         = Some envelope dimensions can not be mapped to grid dimensions.
 CanNotSetCharacteristics_2        = Can not set a value of type \u2018{1}\u2019 to characteristic \u201c{0}\u201d.
+CanNotSetDerivedGridProperty_1    = Can not set this derived grid property after a call to \u201c{0}\u201d method.
 CanNotSetPropertyValue_1          = Type of the \u201c{0}\u201d property does not allow to set a value.
+CanNotSimplifyTransferFunction_1  = Can not simplify transfer function of sample dimension \u201c{0}\u201d.
+CategoryRangeOverlap_4            = The two categories \u201c{0}\u201d and \u201c{2}\u201d have overlapping ranges: {1} and {3} respectively.
 CharacteristicsAlreadyExists_2    = Characteristics \u201c{1}\u201d already exists in attribute \u201c{0}\u201d.
 CharacteristicsNotFound_2         = No characteristics named \u201c{1}\u201d has been found in \u201c{0}\u201d attribute.
 DependencyNotFound_3              = Operation \u201c{0}\u201d requires a \u201c{1}\u201d property, but no such property has been found in \u201c{2}\u201d.
+GridCoordinateOutsideCoverage_4   = Indices ({3}) are outside grid coverage. The value in dimension {0} shall be between {1,number} and {2,number} inclusive.
+GridEnvelopeMustBeNDimensional_1  = The grid envelope must have at least {0} dimensions.
+GridEnvelopeOutsideCoverage_5     = Envelope is outside grid coverage. Indices [{3,number} \u2026 {4,number}] in dimension {0} do not intersect the [{1,number} \u2026 {2,number}] grid extent.
+IllegalCategoryRange_2            = Sample value range {1} for \u201c{0}\u201d category is illegal.
 IllegalFeatureType_3              = Association \u201c{0}\u201d does not accept features of type \u2018{2}\u2019. Expected an instance of \u2018{1}\u2019 or derived type.
+IllegalGridEnvelope_3             = Illegal grid envelope [{1,number} \u2026 {2,number}] for dimension {0}.
+IllegalGridGeometryComponent_1    = Can not create a grid geometry with the given \u201c{0}\u201d component.
 IllegalPropertyType_2             = Type or result of \u201c{0}\u201d property can not be \u2018{1}\u2019 for this operation.
 IllegalPropertyValueClass_3       = Property \u201c{0}\u201d does not accept values of type \u2018{2}\u2019. Expected an instance of \u2018{1}\u2019 or derived type.
+IllegalTransferFunction_1         = Illegal transfer function for \u201c{0}\u201d category.
+IncompatibleTile_2                = The ({0}, {1}) tile has an unexpected size, number of bands or sample layout.
+IterationIsFinished               = Iteration is finished.
+IterationNotStarted               = Iteration did not started.
+MismatchedBandSize                = The bands have different number of sample values.
+MismatchedDataType                = The bands store sample values using different data types.
+MismatchedImageLocation           = The two images have different size or pixel coordinates.
 MismatchedPropertyType_1          = Mismatched type for \u201c{0}\u201d property.
+MismatchedSampleModel             = The two images use different sample models.
+MismatchedTileGrid                = The two images have different tile grid.
 MismatchedValueClass_3            = An attribute for \u2018{1}\u2019 values where expected, but the \u201c{0}\u201d attribute specifies values of type \u2018{2}\u2019.
+NoCategoryForValue_1              = No category for value {0}.
+NoNDimensionalSlice_3             = Can not infer a {0}-dimensional slice from the grid envelope. Dimension {1} has {2,number} cells.
+NonLinearInDimensions_1           = non-linear in {0} dimension{0,choice,1#|2#s}:
 NotASingleton_1                   = Property \u201c{0}\u201d contains more than one value.
+NotStrictlyOrderedDimensions      = The specified dimensions are not in strictly ascending order.
 OptionalLibraryNotFound_2         = The {0} optional library is not available. Geometric operations will ignore that library.\nCause is {1}.
+OutOfIteratorDomain_2             = The ({0,number}, {1,number}) pixel coordinate is outside iterator domain.
 PropertyAlreadyExists_2           = Property \u201c{1}\u201d already exists in feature \u201c{0}\u201d.
 PropertyNotFound_2                = No property named \u201c{1}\u201d has been found in \u201c{0}\u201d feature.
+TooManyQualitatives               = Too many qualitative categories.
 UnavailableGeometryLibrary_1      = The {0} geometry library is not available in current runtime environment.
+UnexpectedNumberOfBands_2         = Expected {0} bands but got {1}.
 UnexpectedNumberOfComponents_4    = The \u201c{1}\u201d value given to \u201c{0}\u201d property should be separable in {2} components, but we got {3}.
 UnexpectedNumberOfOrdinates_4     = The \u201c{0}\u201d feature at {1} has a {3} ordinate values, while we expected a multiple of {2}.
+UnknownDataType_1                 = Raster data type \u2018{0}\u2019 is unknown or unsupported.
 UnresolvedFeatureName_1           = Feature named \u201c{0}\u201d has not yet been resolved.
+UnspecifiedCRS                    = Coordinate reference system is unspecified.
+UnspecifiedGridExtent             = Grid extent is unspecified.
+UnspecifiedRasterData             = Raster data are unspecified.
+UnspecifiedTransform              = Coordinates transform is unspecified.
 UnsupportedGeometryObject_1       = Unsupported geometry {0}D object.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources_fr.properties b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources_fr.properties
index 8244225..773f28c 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources_fr.properties
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Resources_fr.properties
@@ -26,23 +26,56 @@
 #
 AbstractFeatureType_1             = Le type d\u2019entit\u00e9 \u2018{0}\u2019 est abstrait.
 CanNotAssignCharacteristics_1     = Ne peut pas assigner des caract\u00e9ristiques \u00e0 la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb.
+CanNotEnumerateValuesInRange_1    = Ne peut pas \u00e9num\u00e9rer les valeurs dans la plage {0}.
 CanNotInstantiateProperty_1       = La propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb n\u2019est pas d\u2019un type qui peut \u00eatre instanci\u00e9.
+CanNotMapToGridDimensions         = Certaines dimensions de l\u2019enveloppe ne correspondent pas \u00e0 des dimensions de la grille.
 CanNotSetCharacteristics_2        = Ne peut pas assigner une valeur de type \u2018{1}\u2019 \u00e0 la caract\u00e9ristique \u00ab\u202f{0}\u202f\u00bb.
+CanNotSetDerivedGridProperty_1    = Ne peut pas d\u00e9finir cette propri\u00e9t\u00e9 de la grille d\u00e9riv\u00e9e apr\u00e8s un appel \u00e0 la m\u00e9thode \u00ab\u202f{0}\u202f\u00bb.
 CanNotSetPropertyValue_1          = Le type de la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb ne permet pas de d\u00e9finir une valeur.
+CanNotSimplifyTransferFunction_1  = Ne peut pas simplifier la fonction de transfert de la dimension d\u2019\u00e9chantillonnage \u00ab\u202f{0}\u202f\u00bb.
+CategoryRangeOverlap_4            = Les deux cat\u00e9gories \u00ab\u202f{0}\u202f\u00bb et \u00ab\u202f{2}\u202f\u00bb ont des plages de valeurs qui se chevauchent\u2008: {1} et {3} respectivement.
 CharacteristicsAlreadyExists_2    = La caract\u00e9ristique \u00ab\u202f{1}\u202f\u00bb existe d\u00e9j\u00e0 dans l\u2019attribut \u00ab\u202f{0}\u202f\u00bb.
 CharacteristicsNotFound_2         = Aucune caract\u00e9ristique nomm\u00e9e \u00ab\u202f{1}\u202f\u00bb n\u2019a \u00e9t\u00e9 trouv\u00e9e dans l\u2019attribut \u00ab\u202f{0}\u202f\u00bb.
 DependencyNotFound_3              = L\u2019op\u00e9ration \u00ab\u202f{0}\u202f\u00bb n\u00e9cessite une propri\u00e9t\u00e9 \u00ab\u202f{1}\u202f\u00bb, mais cette propri\u00e9t\u00e9 n\u2019a pas \u00e9t\u00e9 trouv\u00e9e dans \u00ab\u202f{2}\u202f\u00bb.
+GridCoordinateOutsideCoverage_4   = Les indices ({3}) sont en dehors du domaine de la grille. La valeur dans la dimension {0} doit \u00eatre entre {1,number} et {2,number} inclusivement.
+GridEnvelopeMustBeNDimensional_1  = L\u2019enveloppe de la grille doit avoir au moins {0} dimensions.
+GridEnvelopeOutsideCoverage_5     = L\u2019enveloppe est en dehors du domaine de la grille. Les indices [{3,number} \u2026 {4,number}] dans la dimension {0} n\u2019interceptent pas l\u2019\u00e9tendue [{1,number} \u2026 {2,number}] de la grille.
+IllegalCategoryRange_2            = La plage de valeurs {1} pour la cat\u00e9gorie \u00ab\u202f{0}\u202f\u00bb est ill\u00e9gale.
 IllegalFeatureType_3              = L\u2019association \u00ab\u202f{0}\u202f\u00bb n\u2019accepte pas les entit\u00e9s de type \u2018{2}\u2019. Une instance de \u2018{1}\u2019 ou d\u2019un type d\u00e9riv\u00e9 \u00e9tait attendue.
+IllegalGridEnvelope_3             = La plage d\u2019index [{1,number} \u2026 {2,number}] de la dimension {0} n\u2019est pas valide.
+IllegalGridGeometryComponent_1    = Ne peut pas construire une g\u00e9om\u00e9trie de grille avec la composante \u00ab\u202f{0}\u202f\u00bb donn\u00e9e.
 IllegalPropertyType_2             = Le type ou le r\u00e9sultat de la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb ne peut pas \u00eatre \u2018{1}\u2019 pour cette op\u00e9ration.
 IllegalPropertyValueClass_3       = La propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb n\u2019accepte pas les valeurs de type \u2018{2}\u2019. Une instance de \u2018{1}\u2019 ou d\u2019un type d\u00e9riv\u00e9 \u00e9tait attendue.
+IllegalTransferFunction_1         = Fonction de transfert ill\u00e9gale pour la cat\u00e9gorie \u00ab\u202f{0}\u202f\u00bb.
+IncompatibleTile_2                = La tuile ({0}, {1}) a une taille, un nombre de bandes ou une disposition des valeurs inattendu.
+IterationIsFinished               = L\u2019it\u00e9ration est termin\u00e9e.
+IterationNotStarted               = L\u2019it\u00e9ration n\u2019a pas commenc\u00e9e.
+MismatchedBandSize                = Les bandes ont un nombre diff\u00e9rent de valeurs.
+MismatchedDataType                = Les bandes stockent leurs valeurs en utilisant des types de donn\u00e9es diff\u00e9rents.
+MismatchedImageLocation           = Les deux images ont une taille ou des coordonn\u00e9es pixels diff\u00e9rentes.
 MismatchedPropertyType_1          = Le type de la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb ne correspond pas.
+MismatchedSampleModel             = Les deux images disposent les pixels diff\u00e9remment.
+MismatchedTileGrid                = Les deux images utilisent des grilles de tuiles diff\u00e9rentes.
 MismatchedValueClass_3            = Un attribut pour des valeurs de type \u2018{1}\u2019 \u00e9tait attendu, mais l\u2019attribut \u00ab\u202f{0}\u202f\u00bb sp\u00e9cifie des valeurs de type \u2018{2}\u2019.
+NoCategoryForValue_1              = Aucune cat\u00e9gorie n\u2019est d\u00e9finie pour la valeur {0}.
+NoNDimensionalSlice_3             = Ne peut pas inf\u00e9rer une tranche \u00e0 {0} dimensions \u00e0 partir de l\u2019enveloppe de la grille. La dimension {1} a {2,number} cellules.
+NonLinearInDimensions_1           = non-lin\u00e9aire dans {0} dimension{0,choice,1#|2#s}\u2008:
 NotASingleton_1                   = La propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb contient plus de une valeur.
+NotStrictlyOrderedDimensions      = Les dimensions sp\u00e9cifi\u00e9es ne sont pas en ordre strictement croissant.
 OptionalLibraryNotFound_2         = La biblioth\u00e8que optionnelle {0} n\u2019est pas disponible. Les op\u00e9rations g\u00e9om\u00e9triques ignoreront cette biblioth\u00e8que.\nLa cause est {1}.
-PropertyNotFound_2                = Aucune propri\u00e9t\u00e9 nomm\u00e9e \u00ab\u202f{1}\u202f\u00bb n\u2019a \u00e9t\u00e9 trouv\u00e9e dans l\u2019entit\u00e9 \u00ab\u202f{0}\u202f\u00bb.
+OutOfIteratorDomain_2             = La coordonn\u00e9e pixel ({0,number}, {1,number}) est en dehors du domaine de l\u2019it\u00e9rateur.
+PointOutsideCoverageDomain_1      = Le point ({0}) est en dehors du domaine de la couverture de donn\u00e9es.
 PropertyAlreadyExists_2           = La propri\u00e9t\u00e9 \u00ab\u202f{1}\u202f\u00bb existe d\u00e9j\u00e0 dans l\u2019entit\u00e9 \u00ab\u202f{0}\u202f\u00bb.
+PropertyNotFound_2                = Aucune propri\u00e9t\u00e9 nomm\u00e9e \u00ab\u202f{1}\u202f\u00bb n\u2019a \u00e9t\u00e9 trouv\u00e9e dans l\u2019entit\u00e9 \u00ab\u202f{0}\u202f\u00bb.
+TooManyQualitatives               = Trop de cat\u00e9gories qualitatives.
 UnavailableGeometryLibrary_1      = La biblioth\u00e8que de g\u00e9om\u00e9tries {0} n\u2019est pas disponible dans l\u2019environnement d\u2019ex\u00e9cution actuel.
+UnexpectedNumberOfBands_2         = On attendait {0} bandes mais {1} ont \u00e9t\u00e9 sp\u00e9cifi\u00e9es.
 UnexpectedNumberOfComponents_4    = La valeur \u00ab\u202f{1}\u202f\u00bb donn\u00e9e \u00e0 la propri\u00e9t\u00e9 \u00ab\u202f{0}\u202f\u00bb devrait \u00eatre s\u00e9parable en {2} composantes, mais on en a obtenus {3}.
 UnexpectedNumberOfOrdinates_4     = L\u2019entit\u00e9 nomm\u00e9e \u00ab\u202f{0}\u202f\u00bb \u00e0 {1} contient {3} ordonn\u00e9es, alors qu\u2019on attendait un multiple de {2}.
+UnknownDataType_1                 = Le type de donn\u00e9es raster \u2018{0}\u2019 est inconnu ou non-support\u00e9.
 UnresolvedFeatureName_1           = L\u2019entit\u00e9 nomm\u00e9e \u00ab\u202f{0}\u202f\u00bb n\u2019a pas encore \u00e9t\u00e9 r\u00e9solue.
+UnspecifiedCRS                    = Le syst\u00e8me de r\u00e9f\u00e9rence des coordonn\u00e9es n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9.
+UnspecifiedGridExtent             = L\u2019\u00e9tendue de la grille n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9e.
+UnspecifiedRasterData             = Les donn\u00e9es du raster n\u2019ont pas \u00e9t\u00e9 sp\u00e9cifi\u00e9es.
+UnspecifiedTransform              = La transformation de coordonn\u00e9es n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9e.
 UnsupportedGeometryObject_1       = Object g\u00e9om\u00e9trique {0}D non-support\u00e9.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/RasterFactory.java b/core/sis-feature/src/main/java/org/apache/sis/internal/raster/RasterFactory.java
index e568d33..0febe69 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/RasterFactory.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/raster/RasterFactory.java
@@ -37,6 +37,7 @@ import org.apache.sis.util.Numbers;
 import org.apache.sis.util.Static;
 import org.apache.sis.util.Workaround;
 import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.internal.feature.Resources;
 
 
 /**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources.java b/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources.java
deleted file mode 100644
index cc995c7..0000000
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.sis.internal.raster;
-
-import java.net.URL;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import javax.annotation.Generated;
-import org.apache.sis.util.resources.KeyConstants;
-import org.apache.sis.util.resources.IndexedResourceBundle;
-
-
-/**
- * Warning and error messages that are specific to the {@code sis-raster} module.
- * Resources in this file should not be used by any other module. For resources shared by
- * all modules in the Apache SIS project, see {@link org.apache.sis.util.resources} package.
- *
- * @author  Martin Desruisseaux (Geomatys)
- * @version 1.0
- * @since   1.0
- * @module
- */
-public final class Resources extends IndexedResourceBundle {
-    /**
-     * Resource keys. This class is used when compiling sources, but no dependencies to
-     * {@code Keys} should appear in any resulting class files. Since the Java compiler
-     * inlines final integer values, using long identifiers will not bloat the constant
-     * pools of compiled classes.
-     *
-     * @author  Martin Desruisseaux (Geomatys)
-     * @since   1.0
-     * @module
-     */
-    @Generated("org.apache.sis.util.resources.IndexedResourceCompiler")
-    public static final class Keys extends KeyConstants {
-        /**
-         * The unique instance of key constants handler.
-         */
-        static final Keys INSTANCE = new Keys();
-
-        /**
-         * For {@link #INSTANCE} creation only.
-         */
-        private Keys() {
-        }
-
-        /**
-         * Can not enumerate values in the {0} range.
-         */
-        public static final short CanNotEnumerateValuesInRange_1 = 18;
-
-        /**
-         * Some envelope dimensions can not be mapped to grid dimensions.
-         */
-        public static final short CanNotMapToGridDimensions = 12;
-
-        /**
-         * Can not set this derived grid property after a call to “{0}” method.
-         */
-        public static final short CanNotSetDerivedGridProperty_1 = 32;
-
-        /**
-         * Can not simplify transfer function of sample dimension “{0}”.
-         */
-        public static final short CanNotSimplifyTransferFunction_1 = 19;
-
-        /**
-         * The two categories “{0}” and “{2}” have overlapping ranges: {1} and {3} respectively.
-         */
-        public static final short CategoryRangeOverlap_4 = 13;
-
-        /**
-         * Indices ({3}) are outside grid coverage. The value in dimension {0} shall be between
-         * {1,number} and {2,number} inclusive.
-         */
-        public static final short GridCoordinateOutsideCoverage_4 = 21;
-
-        /**
-         * The grid envelope must have at least {0} dimensions.
-         */
-        public static final short GridEnvelopeMustBeNDimensional_1 = 25;
-
-        /**
-         * Envelope is outside grid coverage. Indices [{3,number} … {4,number}] in dimension {0} do not
-         * intersect the [{1,number} … {2,number}] grid extent.
-         */
-        public static final short GridEnvelopeOutsideCoverage_5 = 22;
-
-        /**
-         * Sample value range {1} for “{0}” category is illegal.
-         */
-        public static final short IllegalCategoryRange_2 = 15;
-
-        /**
-         * Illegal grid envelope [{1,number} … {2,number}] for dimension {0}.
-         */
-        public static final short IllegalGridEnvelope_3 = 8;
-
-        /**
-         * Can not create a grid geometry with the given “{0}” component.
-         */
-        public static final short IllegalGridGeometryComponent_1 = 23;
-
-        /**
-         * Illegal transfer function for “{0}” category.
-         */
-        public static final short IllegalTransferFunction_1 = 16;
-
-        /**
-         * The ({0}, {1}) tile has an unexpected size, number of bands or sample layout.
-         */
-        public static final short IncompatibleTile_2 = 2;
-
-        /**
-         * Iteration is finished.
-         */
-        public static final short IterationIsFinished = 3;
-
-        /**
-         * Iteration did not started.
-         */
-        public static final short IterationNotStarted = 4;
-
-        /**
-         * The bands have different number of sample values.
-         */
-        public static final short MismatchedBandSize = 28;
-
-        /**
-         * The bands store sample values using different data types.
-         */
-        public static final short MismatchedDataType = 30;
-
-        /**
-         * The two images have different size or pixel coordinates.
-         */
-        public static final short MismatchedImageLocation = 5;
-
-        /**
-         * The two images use different sample models.
-         */
-        public static final short MismatchedSampleModel = 6;
-
-        /**
-         * The two images have different tile grid.
-         */
-        public static final short MismatchedTileGrid = 7;
-
-        /**
-         * No category for value {0}.
-         */
-        public static final short NoCategoryForValue_1 = 14;
-
-        /**
-         * Can not infer a {0}-dimensional slice from the grid envelope. Dimension {1} has {2,number}
-         * cells.
-         */
-        public static final short NoNDimensionalSlice_3 = 26;
-
-        /**
-         * non-linear in {0} dimension{0,choice,1#|2#s}:
-         */
-        public static final short NonLinearInDimensions_1 = 20;
-
-        /**
-         * The specified dimensions are not in strictly ascending order.
-         */
-        public static final short NotStrictlyOrderedDimensions = 24;
-
-        /**
-         * The ({0,number}, {1,number}) pixel coordinate is outside iterator domain.
-         */
-        public static final short OutOfIteratorDomain_2 = 1;
-
-        public static final short PointOutsideCoverageDomain_1 = 33;
-
-        /**
-         * Too many qualitative categories.
-         */
-        public static final short TooManyQualitatives = 17;
-
-        /**
-         * Expected {0} bands but got {1}.
-         */
-        public static final short UnexpectedNumberOfBands_2 = 27;
-
-        /**
-         * Raster data type ‘{0}’ is unknown or unsupported.
-         */
-        public static final short UnknownDataType_1 = 29;
-
-        /**
-         * Coordinate reference system is unspecified.
-         */
-        public static final short UnspecifiedCRS = 9;
-
-        /**
-         * Grid extent is unspecified.
-         */
-        public static final short UnspecifiedGridExtent = 10;
-
-        /**
-         * Raster data are unspecified.
-         */
-        public static final short UnspecifiedRasterData = 31;
-
-        /**
-         * Coordinates transform is unspecified.
-         */
-        public static final short UnspecifiedTransform = 11;
-    }
-
-    /**
-     * Constructs a new resource bundle loading data from the given UTF file.
-     *
-     * @param resources  the path of the binary file containing resources, or {@code null} if
-     *        there is no resources. The resources may be a file or an entry in a JAR file.
-     */
-    public Resources(final URL resources) {
-        super(resources);
-    }
-
-    /**
-     * Returns the handle for the {@code Keys} constants.
-     *
-     * @return a handler for the constants declared in the inner {@code Keys} class.
-     */
-    @Override
-    protected KeyConstants getKeyConstants() {
-        return Keys.INSTANCE;
-    }
-
-    /**
-     * Returns resources in the given locale.
-     *
-     * @param  locale  the locale, or {@code null} for the default locale.
-     * @return resources in the given locale.
-     * @throws MissingResourceException if resources can not be found.
-     */
-    public static Resources forLocale(final Locale locale) throws MissingResourceException {
-        return getBundle(Resources.class, locale);
-    }
-
-    /**
-     * Gets a string for the given key from this resource bundle or one of its parents.
-     *
-     * @param  key  the key for the desired string.
-     * @return the string for the given key.
-     * @throws MissingResourceException if no object for the given key can be found.
-     */
-    public static String format(final short key) throws MissingResourceException {
-        return forLocale(null).getString(key);
-    }
-
-    /**
-     * Gets a string for the given key and replace all occurrence of "{0}"
-     * with value of {@code arg0}.
-     *
-     * @param  key   the key for the desired string.
-     * @param  arg0  value to substitute to "{0}".
-     * @return the formatted string for the given key.
-     * @throws MissingResourceException if no object for the given key can be found.
-     */
-    public static String format(final short  key,
-                                final Object arg0) throws MissingResourceException
-    {
-        return forLocale(null).getString(key, arg0);
-    }
-
-    /**
-     * Gets a string for the given key and replace all occurrence of "{0}",
-     * "{1}", with values of {@code arg0}, {@code arg1}.
-     *
-     * @param  key   the key for the desired string.
-     * @param  arg0  value to substitute to "{0}".
-     * @param  arg1  value to substitute to "{1}".
-     * @return the formatted string for the given key.
-     * @throws MissingResourceException if no object for the given key can be found.
-     */
-    public static String format(final short  key,
-                                final Object arg0,
-                                final Object arg1) throws MissingResourceException
-    {
-        return forLocale(null).getString(key, arg0, arg1);
-    }
-
-    /**
-     * Gets a string for the given key and replace all occurrence of "{0}",
-     * "{1}", with values of {@code arg0}, {@code arg1}, etc.
-     *
-     * @param  key   the key for the desired string.
-     * @param  arg0  value to substitute to "{0}".
-     * @param  arg1  value to substitute to "{1}".
-     * @param  arg2  value to substitute to "{2}".
-     * @return the formatted string for the given key.
-     * @throws MissingResourceException if no object for the given key can be found.
-     */
-    public static String format(final short  key,
-                                final Object arg0,
-                                final Object arg1,
-                                final Object arg2) throws MissingResourceException
-    {
-        return forLocale(null).getString(key, arg0, arg1, arg2);
-    }
-
-    /**
-     * Gets a string for the given key and replace all occurrence of "{0}",
-     * "{1}", with values of {@code arg0}, {@code arg1}, etc.
-     *
-     * @param  key   the key for the desired string.
-     * @param  arg0  value to substitute to "{0}".
-     * @param  arg1  value to substitute to "{1}".
-     * @param  arg2  value to substitute to "{2}".
-     * @param  arg3  value to substitute to "{3}".
-     * @return the formatted string for the given key.
-     * @throws MissingResourceException if no object for the given key can be found.
-     */
-    public static String format(final short  key,
-                                final Object arg0,
-                                final Object arg1,
-                                final Object arg2,
-                                final Object arg3) throws MissingResourceException
-    {
-        return forLocale(null).getString(key, arg0, arg1, arg2, arg3);
-    }
-}
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources.properties b/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources.properties
deleted file mode 100644
index 6abdf17..0000000
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# Resources in this file are for "sis-raster" usage only and should not be used by any other module.
-# For resources shared by all modules in the Apache SIS project, see "org.apache.sis.util.resources" package.
-#
-CanNotEnumerateValuesInRange_1    = Can not enumerate values in the {0} range.
-CanNotMapToGridDimensions         = Some envelope dimensions can not be mapped to grid dimensions.
-CanNotSetDerivedGridProperty_1    = Can not set this derived grid property after a call to \u201c{0}\u201d method.
-CanNotSimplifyTransferFunction_1  = Can not simplify transfer function of sample dimension \u201c{0}\u201d.
-CategoryRangeOverlap_4            = The two categories \u201c{0}\u201d and \u201c{2}\u201d have overlapping ranges: {1} and {3} respectively.
-GridCoordinateOutsideCoverage_4   = Indices ({3}) are outside grid coverage. The value in dimension {0} shall be between {1,number} and {2,number} inclusive.
-GridEnvelopeOutsideCoverage_5     = Envelope is outside grid coverage. Indices [{3,number} \u2026 {4,number}] in dimension {0} do not intersect the [{1,number} \u2026 {2,number}] grid extent.
-GridEnvelopeMustBeNDimensional_1  = The grid envelope must have at least {0} dimensions.
-IllegalCategoryRange_2            = Sample value range {1} for \u201c{0}\u201d category is illegal.
-IllegalGridEnvelope_3             = Illegal grid envelope [{1,number} \u2026 {2,number}] for dimension {0}.
-IllegalGridGeometryComponent_1    = Can not create a grid geometry with the given \u201c{0}\u201d component.
-IllegalTransferFunction_1         = Illegal transfer function for \u201c{0}\u201d category.
-IncompatibleTile_2                = The ({0}, {1}) tile has an unexpected size, number of bands or sample layout.
-IterationIsFinished               = Iteration is finished.
-IterationNotStarted               = Iteration did not started.
-MismatchedBandSize                = The bands have different number of sample values.
-MismatchedDataType                = The bands store sample values using different data types.
-MismatchedImageLocation           = The two images have different size or pixel coordinates.
-MismatchedSampleModel             = The two images use different sample models.
-MismatchedTileGrid                = The two images have different tile grid.
-NoCategoryForValue_1              = No category for value {0}.
-NoNDimensionalSlice_3             = Can not infer a {0}-dimensional slice from the grid envelope. Dimension {1} has {2,number} cells.
-NonLinearInDimensions_1           = non-linear in {0} dimension{0,choice,1#|2#s}:
-NotStrictlyOrderedDimensions      = The specified dimensions are not in strictly ascending order.
-OutOfIteratorDomain_2             = The ({0,number}, {1,number}) pixel coordinate is outside iterator domain.
-TooManyQualitatives               = Too many qualitative categories.
-UnexpectedNumberOfBands_2         = Expected {0} bands but got {1}.
-UnknownDataType_1                 = Raster data type \u2018{0}\u2019 is unknown or unsupported.
-UnspecifiedCRS                    = Coordinate reference system is unspecified.
-UnspecifiedGridExtent             = Grid extent is unspecified.
-UnspecifiedRasterData             = Raster data are unspecified.
-UnspecifiedTransform              = Coordinates transform is unspecified.
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources_fr.properties b/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources_fr.properties
deleted file mode 100644
index 8d58206..0000000
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/raster/Resources_fr.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# Resources in this file are for "sis-raster" usage only and should not be used by any other module.
-# For resources shared by all modules in the Apache SIS project, see "org.apache.sis.util.resources" package.
-#
-# Punctuation rules in French (source: http://unicode.org/udhr/n/notes_fra.html)
-#
-#   U+202F NARROW NO-BREAK SPACE  before  ; ! and ?
-#   U+00A0 NO-BREAK SPACE         before  :
-#
-CanNotEnumerateValuesInRange_1    = Ne peut pas \u00e9num\u00e9rer les valeurs dans la plage {0}.
-CanNotMapToGridDimensions         = Certaines dimensions de l\u2019enveloppe ne correspondent pas \u00e0 des dimensions de la grille.
-CanNotSetDerivedGridProperty_1    = Ne peut pas d\u00e9finir cette propri\u00e9t\u00e9 de la grille d\u00e9riv\u00e9e apr\u00e8s un appel \u00e0 la m\u00e9thode \u00ab\u202f{0}\u202f\u00bb.
-CanNotSimplifyTransferFunction_1  = Ne peut pas simplifier la fonction de transfert de la dimension d\u2019\u00e9chantillonnage \u00ab\u202f{0}\u202f\u00bb.
-CategoryRangeOverlap_4            = Les deux cat\u00e9gories \u00ab\u202f{0}\u202f\u00bb et \u00ab\u202f{2}\u202f\u00bb ont des plages de valeurs qui se chevauchent\u2008: {1} et {3} respectivement.
-GridCoordinateOutsideCoverage_4   = Les indices ({3}) sont en dehors du domaine de la grille. La valeur dans la dimension {0} doit \u00eatre entre {1,number} et {2,number} inclusivement.
-GridEnvelopeOutsideCoverage_5     = L\u2019enveloppe est en dehors du domaine de la grille. Les indices [{3,number} \u2026 {4,number}] dans la dimension {0} n\u2019interceptent pas l\u2019\u00e9tendue [{1,number} \u2026 {2,number}] de la grille.
-GridEnvelopeMustBeNDimensional_1  = L\u2019enveloppe de la grille doit avoir au moins {0} dimensions.
-IllegalCategoryRange_2            = La plage de valeurs {1} pour la cat\u00e9gorie \u00ab\u202f{0}\u202f\u00bb est ill\u00e9gale.
-IllegalGridEnvelope_3             = La plage d\u2019index [{1,number} \u2026 {2,number}] de la dimension {0} n\u2019est pas valide.
-IllegalGridGeometryComponent_1    = Ne peut pas construire une g\u00e9om\u00e9trie de grille avec la composante \u00ab\u202f{0}\u202f\u00bb donn\u00e9e.
-IllegalTransferFunction_1         = Fonction de transfert ill\u00e9gale pour la cat\u00e9gorie \u00ab\u202f{0}\u202f\u00bb.
-IncompatibleTile_2                = La tuile ({0}, {1}) a une taille, un nombre de bandes ou une disposition des valeurs inattendu.
-IterationIsFinished               = L\u2019it\u00e9ration est termin\u00e9e.
-IterationNotStarted               = L\u2019it\u00e9ration n\u2019a pas commenc\u00e9e.
-MismatchedBandSize                = Les bandes ont un nombre diff\u00e9rent de valeurs.
-MismatchedDataType                = Les bandes stockent leurs valeurs en utilisant des types de donn\u00e9es diff\u00e9rents.
-MismatchedImageLocation           = Les deux images ont une taille ou des coordonn\u00e9es pixels diff\u00e9rentes.
-MismatchedSampleModel             = Les deux images disposent les pixels diff\u00e9remment.
-MismatchedTileGrid                = Les deux images utilisent des grilles de tuiles diff\u00e9rentes.
-NoCategoryForValue_1              = Aucune cat\u00e9gorie n\u2019est d\u00e9finie pour la valeur {0}.
-NoNDimensionalSlice_3             = Ne peut pas inf\u00e9rer une tranche \u00e0 {0} dimensions \u00e0 partir de l\u2019enveloppe de la grille. La dimension {1} a {2,number} cellules.
-NonLinearInDimensions_1           = non-lin\u00e9aire dans {0} dimension{0,choice,1#|2#s}\u2008:
-NotStrictlyOrderedDimensions      = Les dimensions sp\u00e9cifi\u00e9es ne sont pas en ordre strictement croissant.
-OutOfIteratorDomain_2             = La coordonn\u00e9e pixel ({0,number}, {1,number}) est en dehors du domaine de l\u2019it\u00e9rateur.
-PointOutsideCoverageDomain_1      = Le point ({0}) est en dehors du domaine de la couverture de donn\u00e9es.
-TooManyQualitatives               = Trop de cat\u00e9gories qualitatives.
-UnexpectedNumberOfBands_2         = On attendait {0} bandes mais {1} ont \u00e9t\u00e9 sp\u00e9cifi\u00e9es.
-UnknownDataType_1                 = Le type de donn\u00e9es raster \u2018{0}\u2019 est inconnu ou non-support\u00e9.
-UnspecifiedCRS                    = Le syst\u00e8me de r\u00e9f\u00e9rence des coordonn\u00e9es n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9.
-UnspecifiedGridExtent             = L\u2019\u00e9tendue de la grille n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9e.
-UnspecifiedRasterData             = Les donn\u00e9es du raster n\u2019ont pas \u00e9t\u00e9 sp\u00e9cifi\u00e9es.
-UnspecifiedTransform              = La transformation de coordonn\u00e9es n\u2019a pas \u00e9t\u00e9 sp\u00e9cifi\u00e9e.


Mime
View raw message