This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git
from 8fbf7bd99b Fix wrong version number for new cloud module. add d44f96d192 Fix wrong version numbers. add 6ed20d2561 refactor(Core+Storage): Try to recover from null colormodel subset add c066fd09dc Fix wrong conversion factor for STATUTE_MILE (bug identified by Michael Arneson). add 29782e8f81 Javadoc edition (an old sentence was not true anymore in `unique(…)`). Assertion in `unique(…)` was not needed because the cache is null-safe and null return value is checked again by `Optional.of(…)`. add c5263872c9 Make SQLStore a little bit more robust to NullPointerException when the geometry type can not be determined. Add support for arrays, which are implemented as multi-occurrence attribute values in features. Unwrap the value of `org.postgresql.util.PGobject`. add 8a78e93d78 Recognize more array component types in PostgreSQL database. add 6d7a83dc18 Avoid an ArithmeticException when formatting an infinite value as a date. It does not resolve the problem for high but non-infinite values however. add 369cbd90a3 Fix a frequent typo: "the later" → "the latter". Contains also a few other opportunistic typo fixes. add 5f5b1cec00 Add navigation in `GridView` using keyboard and mose drag events. add 26643fc821 Slight simplification and more javadoc for windows management. add cd95da4d28 Reduce the logging level of UCAR messages from `WARNING` to `FINE`. add fe09604bbe Add an "Open URL" menu item. add c82e6abffa TileMatrix : add TileMatrixSet API add fdbec98a15 Rename a method for consistency with other `delete` methods. Add a comment about why we do not define a `getTileSize()` method. add 3e32fcf6ee Moved `AbstractResource.removeStackTraceInLogs()` to `StoreUtilities`. add aab36b9ac3 Avoid direct reference to `MetadataBuilder` internal class in `AbstractResource` API. This is a step (together with previous commit) toward moving `AbstractResource` to public API. add 8f1dbbf6df `AbstractResource` does not inherit anymore from `StoreListeners`. Instead, `StoreListeners` become a field. This is a step toward moving `AbstractResource` to public API. add 489bf1c33f Allow subclasses to specify that they will not fire any kind of event other than warnings. This commit reproduces a slight optimization which has been removed in previous commit. That optimization was avoiding strong references to unused listeners, but we can not keep that arbitrary filtering anymore if the API goes public. We had to make it explicit opt-in. add 9c514b4f87 Move `RangeInternal` to a separated class. The intent is to keep it internal while moving `AbstractGridResource` to a public package. add c721af1a43 Do not freeze `DefaultMetadata` too early for giving a chance to subclasses to modify. add 1f56b0d96a Review of abstract class documentation before move to public API. add 303a0025a9 Move `AbstractResource`, `AbstractFeatureSet` and `AbstractGridCoverageResource` to public API. add fb979a457b Add a `TileMatrix.getResolution()` method. add 754a8aa651 Reword the `getResolution()` specification as the resolution at which tiles should be used, not necessarily the actual resolution of data (which may be difficult to evaluate). add a5a7300ca5 Fix mismatched version number. add e7830aa371 Refactor `TiledGridCoverage.getDisplayName()` as `getIdentifier()` in anticipation for `TileMatrix` implementation. add 55c2c40820 Add `GridExtent.contains(long...)` method. add 7817a5ae71 feat(Utility): add acceleration units: base and gal add 3c7b3945b2 fix(Utility): fix a typo on french degree unit name add c0a2f96037 Merge branch 'feat/acceleration-units' into geoapi-4.0. add 02b02b247d Add a base class for `DataStore` having a "*.prj" auxiliary file. add c17092f1fe Rename `COORDINATE_REFERENCE_SYSTEM` as `DEFAULT_CRS` for clarity. add 96472863b7 Initial implementation of ESRI ASCII Grid reader. add c818b11f08 Provide a default "data" name in `SampleDimension.Builder`. Add a missing method call chaining in `GridCoverageBuilder`. add 3bb589a947 Complete the ASCII Grid reader implementation. add 7d3a1bcb9f Store ASCII Grid data as single (instead of double) precision floating point values. add c351e038b5 Move `DEFAULT_CRS` from `OptionKey` to `DataOptionKey`. Conceptually, CRS is more about the data than the carrier format. add 1b0c4e2c6e Make a better effort for saying in which object a property was missing. Minor formatting in comments. add 796ddbbf04 Search for auxiliary files using Path in addition or URI. Those two kinds of object does not always open the same streams. add c3ca073d5e Bug fix: colors applied to ASCII Grid images were wrongly applied to other kind of images if they shared the same `ImageProcessor`. add 3ded3c324f Be more specific about the transparent pixel. add be6db459ff Preserve information about how the color model of an image has been stretched. This is not needed when the stretching is computed from a sample dimension, but become necessary for RGB images with empty `SampleDimension` objects. add 59b16ae521 Bug fix: wrong image sometime shown when a zoom causes a change of pyramid level. add ee1bcd6633 Remove debug annotations or methods that are not needed. add fd212eb062 Add a default `getIdentifier()` implementation for `URIDataStore`. add ad1dc970ce Add a simple test case for ASCII Grid reader. add b26d88a663 Store information about the "no data" value used in an ASCII Grid file. It will be needed for re-exporting data in ASCII Grid again. add 3e791ee56c English spelling: "there is" → "there are" when the noun is plural. add b025d4b61f Refactor existing code in preparation for addition of `WritableGridCoverageResource` implementations. add 287923cbd5 Initial `WritableStore` for ASCII Grid format. A large part of this commit is about providing some generic support methods, not only for ASCII Grid format. add ea18458970 Refactor `CoverageCombiler` for accepting an array of source coverages. Add more ASCII Grid tests, including a test using (indirectly) `CoverageCombiner`. add c1c1be4b9a Allow `StorageConnector` to create `ChannelDataOutput` instance. This feature allows writer such as ASCII Grid to write in destinations other than files. add 623a7f3d23 Complete `StorageConnector` with `DataOutput` and `OutputStream` for consistency. add 49a3d73017 Fix documentation and add a size limit for safety when reading auxiliary files. add 9252ad9e1d First draft of World File reader as a wrapper around standard Java Image I/O. add 5b53df22a7 `MetadataSource.lookup(…)` should verify if the metadata record exists (otherwise the `catch (MetadataStoreException)` blocks are ineffective). add a8fcd7a9fe Implement `probleContent(…)` for World File data store. Fix documentation in other implementations of `probleContent(…)`. add 7ccfb5a03b Fix a hole in localization of `GridExtent` string representation. This is necessary for platform-independent tests. add ad28d4f9ce Fix a hole in the computation of size of subsampled tiles. Adjust documentation. add ca02662a4e Be more specific about the types of accepted inputs/outputs and about the formats for which we have an entry in the `SpatialMetadata` database. add cddbe5f8a0 Add tests for World File image reader and fix the `GridCoverageResource` implementation. add 8b4bd320fc Provide more metadata and better names for bands. add 362fdac88c `AffineTransform2D(double[])` constructor should have the same semantic than `AffineTransform(double[])`. add b28d142efb API adjustment in preparation for the addition of "World file" writer. add 81614ecb87 Add a "World File" writer. add 750eb6c19c World File reader/writer should accepts Image I/O reader/writer directly. Move package documentation to the data store classes. add 07c828dc97 Rename classes with more explicit names. This is in anticipation for addition of classes other than World File data store in the future. For example a future version may provide Image I/O implementation as wrapper around `DataStore`. add c01f85506e Add World File write test. add 7020ab8327 Fix identifier to NATO metadata. add 309462798d Register "World File" data store in the list of available stores. add 8f57f75721 Move ASCII Grid store implementation to an "esri" package and rename as `AsciiGridStore`. This is in anticipation for the addition of other simple ESRI grid formats (BIL, BIP and BSQ). add 49bda1dfe2 Use WKT 2 format when writting PRJ files. This is not the common practice (which is to use WKT 1), but that practice was using an ambiguous WKT 1 variant. The WKT 2 aims to avoid those ambiguities, and hopefully is starting to be supported widely enough. add b8192c5581 Be more specific about the data store to show in the JavaFX application. add 0e983e5d1e Move in a separated class some `AsciiGridStore` code which will be shared by BIL/BIP/BSQ data store. Add some convenience static methods will will be needed as well. add f0226ebfbe Javadoc fixes and minor API adjustments in preparation for addition of BIL/BIP/BSQ reader. add f2342e1ca1 Initial version of BIL/BIP/BSQ data store. add 7476cb39e4 Add test cases for BIL/BIL/BSQ formats and fixes a few bugs identified by those tests. add fe65738ec3 Use RGB color model when the BIL/BIP/BSQ raster has 3 or 4 bands of integer type. add fda74fd792 Remove the `encoding` parameter from `read/writeAuxiliaryFile(…)` since we used the field value everywhere. add f318d2564c Add parsing of statistics auxiliary file (*.stx) with BIL/BIP/BSQ and ASCII Grid reader. add df7a5102a5 Add partial support for color map file (*.clr). In current implementation it can apply only to data type byte and unsigned short. In particular, color map on floating point values is not yet supported. add 57164cfbe3 Avoid an exception when the `gridToCRS` is unspecified in a "cloud optimized GeoTIFF" file. new 15f1d671c9 Merge branch 'geoapi-4.0' into 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: application/sis-console/src/main/artifact/bin/sis | 2 +- .../java/org/apache/sis/console/AboutCommand.java | 2 +- application/sis-javafx/pom.xml | 5 + application/sis-javafx/src/main/artifact/bin/sisfx | 2 +- .../sis-javafx/src/main/artifact/bin/sisfx.bat | 2 +- .../main/java/org/apache/sis/gui/DataViewer.java | 64 +- .../main/java/org/apache/sis/gui/RecentFiles.java | 2 +- .../apache/sis/gui/coverage/BandRangeTable.java | 5 +- .../apache/sis/gui/coverage/CoverageCanvas.java | 35 +- .../apache/sis/gui/coverage/CoverageExplorer.java | 2 +- .../org/apache/sis/gui/coverage/GridViewSkin.java | 127 +++- .../org/apache/sis/gui/coverage/ImageRequest.java | 2 +- .../apache/sis/gui/coverage/IsolineRenderer.java | 4 +- .../sis/gui/coverage/StyledRenderingData.java | 2 +- .../org/apache/sis/gui/dataset/DataWindow.java | 8 +- .../org/apache/sis/gui/dataset/ExpandableList.java | 2 +- .../org/apache/sis/gui/dataset/FeatureList.java | 2 +- .../org/apache/sis/gui/dataset/ResourceTree.java | 4 +- .../org/apache/sis/gui/dataset/SelectedData.java | 11 +- .../org/apache/sis/gui/dataset/WindowManager.java | 13 +- .../java/org/apache/sis/gui/map/MapCanvas.java | 7 +- .../java/org/apache/sis/gui/map/MapCanvasAWT.java | 2 +- .../org/apache/sis/gui/map/OperationFinder.java | 2 +- .../java/org/apache/sis/gui/map/StatusBar.java | 3 +- .../apache/sis/gui/referencing/AuthorityCodes.java | 2 +- .../org/apache/sis/internal/gui/MouseDrags.java | 55 ++ .../org/apache/sis/internal/gui/RecentChoices.java | 30 +- .../org/apache/sis/internal/gui/Resources.java | 12 +- .../apache/sis/internal/gui/Resources.properties | 2 + .../sis/internal/gui/Resources_fr.properties | 2 + .../apache/sis/internal/gui/control/ColorCell.java | 2 +- .../apache/sis/internal/gui/io/FileAccessView.java | 20 +- .../org/apache/sis/internal/doclet/Rewriter.java | 2 +- .../sis/util/resources/ResourceCompilerMojo.java | 4 +- .../java/org/apache/sis/coverage/CategoryList.java | 2 +- .../org/apache/sis/coverage/SampleDimension.java | 50 +- .../main/java/org/apache/sis/coverage/ToNaN.java | 2 +- .../org/apache/sis/coverage/grid/GridCoverage.java | 4 +- .../apache/sis/coverage/grid/GridCoverage2D.java | 7 +- .../sis/coverage/grid/GridCoverageBuilder.java | 8 +- .../apache/sis/coverage/grid/GridDerivation.java | 6 +- .../org/apache/sis/coverage/grid/GridExtent.java | 41 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 10 +- .../apache/sis/coverage/grid/ImageRenderer.java | 3 +- .../apache/sis/feature/CharacteristicTypeMap.java | 2 +- .../apache/sis/feature/DefaultAssociationRole.java | 4 +- .../org/apache/sis/feature/DefaultFeatureType.java | 4 +- .../java/org/apache/sis/feature/FeatureFormat.java | 2 +- .../main/java/org/apache/sis/feature/Features.java | 4 +- .../org/apache/sis/feature/NamedFeatureType.java | 2 +- .../apache/sis/feature/StringJoinOperation.java | 2 +- .../java/org/apache/sis/image/BandSelectImage.java | 10 +- .../java/org/apache/sis/image/ComputedImage.java | 4 +- .../java/org/apache/sis/image/ComputedTiles.java | 2 +- .../main/java/org/apache/sis/image/DataType.java | 55 +- .../java/org/apache/sis/image/ImageCombiner.java | 51 +- .../java/org/apache/sis/image/ImageProcessor.java | 23 +- .../java/org/apache/sis/image/PixelIterator.java | 18 +- .../java/org/apache/sis/image/RecoloredImage.java | 97 ++- .../org/apache/sis/image/StatisticsCalculator.java | 2 +- .../main/java/org/apache/sis/image/Transferer.java | 2 +- .../java/org/apache/sis/image/Visualization.java | 20 +- .../org/apache/sis/index/tree/NodeIterator.java | 4 +- .../sis/internal/coverage/CoverageCombiner.java | 307 ++++++++ .../internal/coverage/j2d/ColorModelFactory.java | 110 ++- .../sis/internal/coverage/j2d/Colorizer.java | 86 ++- .../sis/internal/coverage/j2d/ColorsForRange.java | 61 +- .../sis/internal/coverage/j2d/ImageUtilities.java | 17 +- .../sis/internal/coverage/j2d/TileOpExecutor.java | 4 +- .../apache/sis/internal/feature/GeometryType.java | 2 +- .../sis/internal/feature/GeometryWrapper.java | 2 +- .../org/apache/sis/internal/feature/Resources.java | 7 +- .../sis/internal/feature/Resources.properties | 1 + .../sis/internal/feature/Resources_fr.properties | 1 + .../internal/feature/SpatialOperationContext.java | 2 +- .../sis/internal/feature/j2d/PathBuilder.java | 2 +- .../apache/sis/internal/feature/j2d/Polyline.java | 2 +- .../internal/feature/jts/PathIteratorAdapter.java | 4 +- .../sis/internal/filter/FunctionRegister.java | 2 +- .../internal/processing/image/IsolineTracer.java | 4 +- .../sis/internal/processing/image/Isolines.java | 2 +- .../apache/sis/coverage/SampleDimensionTest.java | 4 +- .../apache/sis/coverage/grid/GridExtentTest.java | 10 + .../apache/sis/feature/FeatureOperationsTest.java | 2 +- .../feature/builder/AttributeTypeBuilderTest.java | 2 +- .../builder/CharacteristicTypeBuilderTest.java | 2 +- .../java/org/apache/sis/image/DataTypeTest.java | 25 +- .../sis/internal/coverage/j2d/ColorizerTest.java | 4 +- .../internal/coverage/j2d/ImageUtilitiesTest.java | 8 +- .../java/org/apache/sis/internal/jaxb/Context.java | 4 +- .../apache/sis/internal/jaxb/TypeRegistration.java | 2 +- .../sis/internal/jaxb/gco/GO_CharacterString.java | 2 +- .../apache/sis/internal/jaxb/gco/GO_DateTime.java | 4 +- .../internal/jaxb/gco/ObjectIdentification.html | 2 +- .../apache/sis/internal/jaxb/gco/PropertyType.java | 4 +- .../metadata/replace/ReferenceSystemMetadata.java | 2 +- .../apache/sis/internal/metadata/Identifiers.java | 20 +- .../sis/internal/metadata/MetadataUtilities.java | 6 +- .../apache/sis/internal/metadata/Resources.java | 2 +- .../apache/sis/internal/metadata/package-info.java | 2 +- .../sis/internal/metadata/sql/SQLUtilities.java | 2 +- .../sis/internal/metadata/sql/ScriptRunner.java | 2 +- .../org/apache/sis/metadata/MetadataStandard.java | 4 +- .../org/apache/sis/metadata/MetadataVisitor.java | 2 +- .../main/java/org/apache/sis/metadata/Pruner.java | 2 +- .../org/apache/sis/metadata/TreeNodeChildren.java | 2 +- .../org/apache/sis/metadata/iso/ISOMetadata.java | 2 +- .../sis/metadata/iso/citation/DefaultContact.java | 2 +- .../iso/extent/DefaultGeographicBoundingBox.java | 12 +- .../org/apache/sis/metadata/sql/Dispatcher.java | 19 +- .../sis/metadata/sql/IdentifierGenerator.java | 2 +- .../apache/sis/metadata/sql/MetadataSource.java | 116 ++- .../apache/sis/metadata/sql/TableHierarchy.java | 4 + .../main/java/org/apache/sis/xml/Transformer.java | 4 +- .../org/apache/sis/xml/TransformingReader.java | 2 +- .../org/apache/sis/xml/TransformingWriter.java | 4 +- .../org/apache/sis/metadata/sql/Contents.sql | 18 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 2 +- .../java/org/apache/sis/util/iso/NamesTest.java | 2 +- .../sis/internal/map/coverage/RenderingData.java | 2 +- .../main/java/org/apache/sis/portrayal/Canvas.java | 8 +- .../MultiResolutionCoverageLoaderTest.java | 4 +- .../apache/sis/internal/gazetteer/Resources.java | 2 +- .../gazetteer/MilitaryGridReferenceSystem.java | 4 +- .../sis/geometry/AbstractDirectPosition.java | 2 +- .../org/apache/sis/geometry/AbstractEnvelope.java | 2 +- .../org/apache/sis/geometry/ArrayEnvelope.java | 2 +- .../org/apache/sis/geometry/CoordinateFormat.java | 12 +- .../org/apache/sis/geometry/DirectPosition2D.java | 2 +- .../java/org/apache/sis/geometry/Envelopes.java | 2 +- .../apache/sis/geometry/GeneralDirectPosition.java | 2 +- .../org/apache/sis/geometry/GeneralEnvelope.java | 5 +- .../referencing/CC_GeneralOperationParameter.java | 18 +- .../jaxb/referencing/CC_OperationMethod.java | 8 +- .../internal/referencing/CoordinateOperations.java | 4 +- .../sis/internal/referencing/ExtentSelector.java | 4 +- .../referencing/PositionalAccuracyConstant.java | 2 +- .../apache/sis/internal/referencing/Resources.java | 2 +- .../sis/internal/referencing/WKTKeywords.java | 2 +- .../sis/internal/referencing/j2d/AffineMatrix.java | 3 +- .../referencing/j2d/AffineTransform2D.java | 36 +- .../referencing/j2d/ImmutableAffineTransform.java | 14 +- .../referencing/j2d/ParameterizedAffine.java | 2 +- .../internal/referencing/j2d/TileOrganizer.java | 2 +- .../referencing/provider/AbstractProvider.java | 2 +- .../provider/MolodenskyInterpolation.java | 2 +- .../java/org/apache/sis/io/wkt/AbstractParser.java | 2 +- .../java/org/apache/sis/io/wkt/Convention.java | 2 +- .../main/java/org/apache/sis/io/wkt/Element.java | 6 +- .../main/java/org/apache/sis/io/wkt/Formatter.java | 12 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 24 +- .../org/apache/sis/io/wkt/MathTransformParser.java | 2 +- .../java/org/apache/sis/io/wkt/StoredTree.java | 4 +- .../java/org/apache/sis/io/wkt/WKTDictionary.java | 4 +- .../sis/parameter/DefaultParameterDescriptor.java | 2 +- .../sis/parameter/DefaultParameterValue.java | 2 +- .../java/org/apache/sis/parameter/Parameters.java | 6 +- .../sis/referencing/AbstractIdentifiedObject.java | 4 +- .../java/org/apache/sis/referencing/Builder.java | 8 +- .../main/java/org/apache/sis/referencing/CRS.java | 2 +- .../sis/referencing/GeodesicsOnEllipsoid.java | 2 +- .../apache/sis/referencing/GeodeticCalculator.java | 6 +- .../sis/referencing/ImmutableIdentifier.java | 2 +- .../apache/sis/referencing/NamedIdentifier.java | 2 +- .../sis/referencing/crs/AbstractDerivedCRS.java | 15 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 6 +- .../sis/referencing/crs/DefaultProjectedCRS.java | 2 +- .../org/apache/sis/referencing/cs/AbstractCS.java | 2 +- .../sis/referencing/cs/CoordinateSystems.java | 6 +- .../cs/DefaultCoordinateSystemAxis.java | 2 +- .../factory/ConcurrentAuthorityFactory.java | 2 +- .../factory/GeodeticAuthorityFactory.java | 2 +- .../referencing/factory/IdentifiedObjectSet.java | 2 +- .../operation/AbstractSingleOperation.java | 6 +- .../operation/CoordinateOperationRegistry.java | 6 +- .../referencing/operation/DefaultConversion.java | 2 +- .../operation/builder/LinearTransformBuilder.java | 4 +- .../operation/projection/AlbersEqualArea.java | 2 +- .../operation/projection/CassiniSoldner.java | 2 +- .../operation/projection/CylindricalEqualArea.java | 2 +- .../projection/LambertConicConformal.java | 2 +- .../referencing/operation/projection/Mercator.java | 4 +- .../projection/ModifiedAzimuthalEquidistant.java | 2 +- .../operation/projection/NormalizedProjection.java | 6 +- .../operation/projection/ObliqueMercator.java | 2 +- .../operation/projection/ObliqueStereographic.java | 2 +- .../operation/projection/Orthographic.java | 2 +- .../operation/projection/PolarStereographic.java | 2 +- .../operation/projection/Polyconic.java | 2 +- .../operation/projection/Sinusoidal.java | 2 +- .../operation/projection/TransverseMercator.java | 2 +- .../operation/transform/AbstractMathTransform.java | 12 +- .../transform/AbstractMathTransform2D.java | 4 +- .../operation/transform/ConcatenatedTransform.java | 4 +- .../operation/transform/ContextualParameters.java | 2 +- .../transform/CoordinateSystemTransform.java | 2 +- .../transform/InterpolatedGeocentricTransform.java | 2 +- .../operation/transform/MathTransforms.java | 2 +- .../sis/io/wkt/GeodeticObjectParserTest.java | 10 +- .../factory/ConcurrentAuthorityFactoryTest.java | 2 +- .../transform/AbstractMathTransformTest.java | 2 +- .../operation/transform/MathTransformTestCase.java | 4 +- .../sis/internal/system/DelayedRunnable.java | 2 +- .../org/apache/sis/internal/system/Fallback.java | 2 +- .../sis/internal/system/OptionalDependency.java | 2 +- .../apache/sis/internal/util/AbstractIterator.java | 2 +- .../apache/sis/internal/util/CollectionsExt.java | 2 +- .../apache/sis/internal/util/DefinitionURI.java | 2 +- .../org/apache/sis/internal/util/DoubleDouble.java | 2 +- .../sis/internal/util/ListOfUnknownSize.java | 4 +- .../org/apache/sis/internal/util/Numerics.java | 49 ++ .../main/java/org/apache/sis/io/LineAppender.java | 2 +- .../java/org/apache/sis/math/FunctionProperty.java | 2 +- .../java/org/apache/sis/math/MathFunctions.java | 2 +- .../main/java/org/apache/sis/math/Statistics.java | 68 +- .../src/main/java/org/apache/sis/math/Vector.java | 2 +- .../main/java/org/apache/sis/measure/Angle.java | 2 +- .../java/org/apache/sis/measure/AngleFormat.java | 2 +- .../sis/measure/FormattedCharacterIterator.java | 2 +- .../main/java/org/apache/sis/measure/Prefixes.java | 2 +- .../main/java/org/apache/sis/measure/Scalar.java | 17 +- .../java/org/apache/sis/measure/SystemUnit.java | 2 +- .../java/org/apache/sis/measure/UnitFormat.java | 4 +- .../java/org/apache/sis/measure/UnitRegistry.java | 14 +- .../java/org/apache/sis/measure/UnitServices.java | 1 + .../main/java/org/apache/sis/measure/Units.java | 80 +- .../java/org/apache/sis/measure/package-info.java | 1 + .../main/java/org/apache/sis/setup/OptionKey.java | 4 +- .../main/java/org/apache/sis/util/ArraysExt.java | 20 +- .../java/org/apache/sis/util/CharSequences.java | 6 +- .../src/main/java/org/apache/sis/util/Locales.java | 4 +- .../main/java/org/apache/sis/util/Utilities.java | 4 +- .../java/org/apache/sis/util/collection/Cache.java | 6 +- .../org/apache/sis/util/collection/RangeSet.java | 2 +- .../sis/util/collection/TreeTableFormat.java | 2 +- .../sis/util/collection/WeakValueHashMap.java | 2 +- .../org/apache/sis/util/logging/LoggerAdapter.java | 2 +- .../apache/sis/util/logging/PerformanceLevel.java | 4 +- .../java/org/apache/sis/util/resources/Errors.java | 17 +- .../apache/sis/util/resources/Errors.properties | 5 +- .../apache/sis/util/resources/Errors_fr.properties | 5 +- .../sis/util/resources/IndexedResourceBundle.java | 6 +- .../org/apache/sis/util/resources/Messages.java | 7 +- .../apache/sis/util/resources/Messages.properties | 1 + .../sis/util/resources/Messages_fr.properties | 1 + .../org/apache/sis/util/resources/Vocabulary.java | 2 +- .../org/apache/sis/measure/UnitNames.properties | 2 + .../org/apache/sis/measure/UnitNames_fr.properties | 3 +- .../org/apache/sis/internal/util/NumericsTest.java | 22 + .../org/apache/sis/math/DecimalFunctionsTest.java | 2 +- .../java/org/apache/sis/math/StatisticsTest.java | 18 +- .../org/apache/sis/measure/UnitFormatTest.java | 5 +- .../java/org/apache/sis/measure/UnitsTest.java | 87 ++- ide-project/NetBeans/build.xml | 7 + ide-project/NetBeans/nbproject/project.properties | 4 +- .../org/apache/sis/storage/landsat/BandGroup.java | 13 +- .../apache/sis/storage/landsat/LandsatStore.java | 3 + .../sis/storage/landsat/LandsatStoreProvider.java | 3 +- .../apache/sis/storage/landsat/MetadataReader.java | 6 +- .../storage/landsat/doc-files/MetadataMapping.html | 2 +- .../apache/sis/storage/landsat/package-info.java | 2 +- .../sis/storage/landsat/MetadataReaderTest.java | 29 +- .../org/apache/sis/internal/geotiff/Resources.java | 2 +- .../sis/internal/geotiff/SchemaModifier.java | 5 +- .../org/apache/sis/storage/geotiff/CRSBuilder.java | 8 +- .../org/apache/sis/storage/geotiff/DataCube.java | 24 + .../org/apache/sis/storage/geotiff/DataSubset.java | 10 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 26 +- .../sis/storage/geotiff/GeoTiffStoreProvider.java | 11 +- .../sis/storage/geotiff/GridGeometryBuilder.java | 7 +- .../sis/storage/geotiff/ImageFileDirectory.java | 52 +- .../sis/storage/geotiff/ImageMetadataBuilder.java | 5 +- .../sis/storage/geotiff/MultiResolutionImage.java | 28 +- .../org/apache/sis/storage/geotiff/Reader.java | 4 +- .../internal/storage/inflater/CCITTRLETest.java | 2 +- .../apache/sis/storage/geotiff/GeoKeysTest.java | 4 +- .../sis/storage/geotiff/XMLMetadataTest.java | 4 +- .../java/org/apache/sis/internal/netcdf/Axis.java | 2 +- .../org/apache/sis/internal/netcdf/CRSBuilder.java | 2 +- .../org/apache/sis/internal/netcdf/DataType.java | 2 +- .../sis/internal/netcdf/DiscreteSampling.java | 4 +- .../org/apache/sis/internal/netcdf/FeatureSet.java | 4 +- .../apache/sis/internal/netcdf/NamedElement.java | 4 +- .../apache/sis/internal/netcdf/RasterResource.java | 29 +- .../org/apache/sis/internal/netcdf/Resources.java | 2 +- .../org/apache/sis/internal/netcdf/Variable.java | 2 +- .../sis/internal/netcdf/ucar/LogAdapter.java | 13 +- .../apache/sis/storage/netcdf/MetadataReader.java | 14 +- .../org/apache/sis/storage/netcdf/NetcdfStore.java | 3 + .../sis/storage/netcdf/NetcdfStoreProvider.java | 11 +- .../org/apache/sis/internal/netcdf/TestCase.java | 28 +- .../internal/netcdf/impl/ChannelDecoderTest.java | 3 +- .../sis/storage/netcdf/MetadataReaderTest.java | 2 + .../storage/netcdf/NetcdfStoreProviderTest.java | 5 +- .../sis/internal/shapefile/jdbc/AbstractJDBC.java | 2 +- storage/sis-sqlstore/pom.xml | 2 +- .../apache/sis/internal/sql/feature/Analyzer.java | 2 +- .../apache/sis/internal/sql/feature/Column.java | 73 +- .../apache/sis/internal/sql/feature/Database.java | 53 +- .../sis/internal/sql/feature/FeatureAdapter.java | 2 +- .../sis/internal/sql/feature/FeatureAnalyzer.java | 2 +- .../sis/internal/sql/feature/FeatureIterator.java | 2 +- .../sis/internal/sql/feature/InfoStatements.java | 17 +- .../apache/sis/internal/sql/feature/Relation.java | 2 +- .../apache/sis/internal/sql/feature/Resources.java | 2 +- .../sis/internal/sql/feature/SelectionClause.java | 2 +- .../org/apache/sis/internal/sql/feature/Table.java | 8 +- .../sis/internal/sql/feature/ValueGetter.java | 81 +- .../sis/internal/sql/postgis/ExtentEstimator.java | 8 +- .../sis/internal/sql/postgis/ObjectGetter.java | 76 ++ .../apache/sis/internal/sql/postgis/Postgres.java | 35 +- .../java/org/apache/sis/storage/sql/SQLStore.java | 5 +- .../apache/sis/storage/sql/SQLStoreProvider.java | 2 +- .../sis/internal/storage/AbstractGridResource.java | 578 -------------- .../sis/internal/storage/AggregatedFeatureSet.java | 10 +- .../org/apache/sis/internal/storage/CodeType.java | 2 +- .../internal/storage/ConcatenatedFeatureSet.java | 7 +- .../internal/storage/DocumentedStoreProvider.java | 45 +- .../sis/internal/storage/MemoryFeatureSet.java | 5 +- .../sis/internal/storage/MemoryGridResource.java | 5 +- .../sis/internal/storage/MetadataBuilder.java | 148 +++- .../apache/sis/internal/storage/PRJDataStore.java | 511 +++++++++++++ .../apache/sis/internal/storage/RangeArgument.java | 386 ++++++++++ .../sis/internal/storage/ResourceOnFileSystem.java | 6 +- .../org/apache/sis/internal/storage/Resources.java | 47 +- .../sis/internal/storage/Resources.properties | 9 + .../sis/internal/storage/Resources_fr.properties | 9 + .../sis/internal/storage/StoreUtilities.java | 22 +- .../sis/internal/storage/TiledGridCoverage.java | 10 +- .../sis/internal/storage/TiledGridResource.java | 9 +- .../apache/sis/internal/storage/URIDataStore.java | 161 ++-- .../internal/storage/WritableResourceSupport.java | 236 ++++++ .../sis/internal/storage/csv/FeatureIterator.java | 6 +- .../storage/csv/MovingFeatureIterator.java | 2 +- .../org/apache/sis/internal/storage/csv/Store.java | 5 +- .../sis/internal/storage/csv/StoreProvider.java | 12 +- .../sis/internal/storage/esri/AsciiGridStore.java | 570 ++++++++++++++ .../storage/esri/AsciiGridStoreProvider.java | 139 ++++ .../sis/internal/storage/esri/CharactersView.java | 239 ++++++ .../sis/internal/storage/esri/RasterStore.java | 520 +++++++++++++ .../sis/internal/storage/esri/RawRasterLayout.java | 35 +- .../sis/internal/storage/esri/RawRasterReader.java | 264 +++++++ .../sis/internal/storage/esri/RawRasterStore.java | 544 ++++++++++++++ .../storage/esri/RawRasterStoreProvider.java | 115 +++ .../sis/internal/storage/esri/WritableStore.java | 309 ++++++++ .../sis/internal/storage/esri/package-info.java | 57 ++ .../apache/sis/internal/storage/folder/Store.java | 5 +- .../sis/internal/storage/folder/StoreProvider.java | 4 +- .../sis/internal/storage/image/FormatFilter.java | 246 ++++++ .../internal/storage/image/WarningListener.java | 70 ++ .../internal/storage/image/WorldFileResource.java | 363 +++++++++ .../sis/internal/storage/image/WorldFileStore.java | 829 +++++++++++++++++++++ .../storage/image/WorldFileStoreProvider.java | 134 ++++ .../internal/storage/image/WritableResource.java | 77 ++ .../sis/internal/storage/image/WritableStore.java | 535 +++++++++++++ .../sis/internal/storage/image/package-info.java | 50 ++ .../sis/internal/storage/io/ChannelDataInput.java | 34 +- .../sis/internal/storage/io/ChannelDataOutput.java | 4 +- .../sis/internal/storage/io/ChannelFactory.java | 126 +++- .../storage/io/ChannelImageInputStream.java | 17 +- .../storage/io/ChannelImageOutputStream.java | 2 +- .../internal/storage/io/HyperRectangleReader.java | 22 +- .../sis/internal/storage/io/IOUtilities.java | 40 +- .../org/apache/sis/internal/storage/io/Region.java | 22 +- .../internal/storage/io/RewindableLineReader.java | 2 +- .../org/apache/sis/internal/storage/wkt/Store.java | 33 +- .../sis/internal/storage/wkt/StoreFormat.java | 14 +- .../sis/internal/storage/wkt/StoreProvider.java | 22 +- .../sis/internal/storage/wkt/package-info.java | 2 +- .../sis/internal/storage/xml/AbstractProvider.java | 13 +- .../org/apache/sis/internal/storage/xml/Store.java | 3 +- .../sis/internal/storage/xml/StoreProvider.java | 4 +- .../{internal => }/storage/AbstractFeatureSet.java | 49 +- .../sis/storage/AbstractGridCoverageResource.java | 229 ++++++ .../{internal => }/storage/AbstractResource.java | 223 +++--- .../org/apache/sis/storage/CoverageSubset.java | 9 +- .../java/org/apache/sis/storage/DataOptionKey.java | 19 +- .../java/org/apache/sis/storage/DataStore.java | 10 +- .../org/apache/sis/storage/DataStoreException.java | 4 +- .../org/apache/sis/storage/DataStoreProvider.java | 10 +- .../java/org/apache/sis/storage/FeatureQuery.java | 2 +- .../java/org/apache/sis/storage/FeatureSubset.java | 5 +- ...ion.java => IncompatibleResourceException.java} | 36 +- .../sis/storage/ReadOnlyStorageException.java | 2 +- .../main/java/org/apache/sis/storage/Resource.java | 6 +- ...on.java => ResourceAlreadyExistsException.java} | 37 +- .../org/apache/sis/storage/StorageConnector.java | 187 ++++- .../sis/storage/WritableGridCoverageResource.java | 60 +- .../apache/sis/storage/event/StoreListeners.java | 217 ++++-- .../java/org/apache/sis/storage/tiling/Tile.java | 93 +++ .../org/apache/sis/storage/tiling/TileMatrix.java | 166 +++++ .../apache/sis/storage/tiling/TileMatrixSet.java | 91 +++ .../org/apache/sis/storage/tiling/TileStatus.java | 69 ++ .../apache/sis/storage/tiling/TiledResource.java | 52 ++ .../sis/storage/tiling/WritableTileMatrix.java | 61 ++ .../sis/storage/tiling/WritableTileMatrixSet.java | 84 +++ .../sis/storage/tiling/WritableTiledResource.java | 76 ++ .../apache/sis/storage/tiling/package-info.java | 75 ++ .../org.apache.sis.storage.DataStoreProvider | 5 +- .../internal/storage/MemoryGridResourceTest.java | 2 +- .../sis/internal/storage/MetadataBuilderTest.java | 4 +- ...ridResourceTest.java => RangeArgumentTest.java} | 29 +- .../internal/storage/esri/AsciiGridStoreTest.java | 133 ++++ .../internal/storage/esri/BILConsistencyTest.java | 79 ++ .../internal/storage/esri/BIPConsistencyTest.java | 79 ++ .../internal/storage/esri/BSQConsistencyTest.java | 79 ++ .../internal/storage/esri/WritableStoreTest.java | 176 +++++ .../storage/image/SelfConsistencyTest.java | 83 +++ .../internal/storage/image/WorldFileStoreTest.java | 167 +++++ .../sis/internal/storage/io/IOUtilitiesTest.java | 14 +- .../internal/storage/wkt/StoreProviderTest.java | 2 +- .../java/org/apache/sis/storage/DataStoreMock.java | 2 +- .../org/apache/sis/storage/GridResourceMock.java | 3 +- .../apache/sis/storage/StorageConnectorTest.java | 2 +- .../sis/storage/event/StoreListenersTest.java | 24 +- .../sis/test/storage/CoverageReadConsistency.java | 6 +- .../apache/sis/test/storage/SubsampledImage.java | 109 ++- .../apache/sis/test/suite/StorageTestSuite.java | 9 +- .../org/apache/sis/internal/storage/esri/BIL.hdr | 9 + .../org/apache/sis/internal/storage/esri/BIL.raw | Bin 0 -> 243 bytes .../org/apache/sis/internal/storage/esri/BIP.hdr | 14 + .../org/apache/sis/internal/storage/esri/BIP.raw | Bin 0 -> 243 bytes .../org/apache/sis/internal/storage/esri/BIP.stx | 7 + .../org/apache/sis/internal/storage/esri/BSQ.hdr | 13 + .../org/apache/sis/internal/storage/esri/BSQ.raw | Bin 0 -> 243 bytes .../org/apache/sis/internal/storage/esri/grid.asc | 34 + .../org/apache/sis/internal/storage/esri/grid.clr | 14 + .../org/apache/sis/internal/storage/esri/grid.prj | 9 + .../apache/sis/internal/storage/image/README.md | 11 + .../apache/sis/internal/storage/image/gradient.pgw | 6 + .../apache/sis/internal/storage/image/gradient.png | Bin 0 -> 176 bytes .../apache/sis/internal/storage/image/gradient.prj | 8 + .../apache/sis/internal/storage/gpx/Reader.java | 4 +- .../org/apache/sis/internal/storage/gpx/Store.java | 1 + .../sis/internal/storage/gpx/StoreProvider.java | 9 +- .../org/apache/sis/internal/storage/gpx/Types.java | 2 +- .../internal/storage/xml/stream/StaxDataStore.java | 2 +- .../storage/xml/stream/StaxStreamReader.java | 4 +- 438 files changed, 12180 insertions(+), 2005 deletions(-) create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/internal/gui/MouseDrags.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/coverage/CoverageCombiner.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/postgis/ObjectGetter.java delete mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/AbstractGridResource.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/PRJDataStore.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/RangeArgument.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/WritableResourceSupport.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/AsciiGridStore.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/AsciiGridStoreProvider.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/CharactersView.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RasterStore.java copy core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/package-info.java => storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterLayout.java (56%) create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterReader.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterStore.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterStoreProvider.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/WritableStore.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/package-info.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/FormatFilter.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WarningListener.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WorldFileResource.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WorldFileStore.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WorldFileStoreProvider.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WritableResource.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WritableStore.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/package-info.java rename storage/sis-storage/src/main/java/org/apache/sis/{internal => }/storage/AbstractFeatureSet.java (63%) create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/AbstractGridCoverageResource.java rename storage/sis-storage/src/main/java/org/apache/sis/{internal => }/storage/AbstractResource.java (51%) copy storage/sis-storage/src/main/java/org/apache/sis/storage/{ReadOnlyStorageException.java => IncompatibleResourceException.java} (54%) copy storage/sis-storage/src/main/java/org/apache/sis/storage/{ReadOnlyStorageException.java => ResourceAlreadyExistsException.java} (54%) create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/Tile.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/TileMatrix.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/TileMatrixSet.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/TileStatus.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/TiledResource.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/WritableTileMatrix.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/WritableTileMatrixSet.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/WritableTiledResource.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/tiling/package-info.java rename storage/sis-storage/src/test/java/org/apache/sis/internal/storage/{AbstractGridResourceTest.java => RangeArgumentTest.java} (81%) create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/internal/storage/esri/AsciiGridStoreTest.java create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/internal/storage/esri/BILConsistencyTest.java create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/internal/storage/esri/BIPConsistencyTest.java create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/internal/storage/esri/BSQConsistencyTest.java create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/internal/storage/esri/WritableStoreTest.java create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/internal/storage/image/SelfConsistencyTest.java create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/internal/storage/image/WorldFileStoreTest.java create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/BIL.hdr create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/BIL.raw create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/BIP.hdr create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/BIP.raw create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/BIP.stx create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/BSQ.hdr create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/BSQ.raw create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/grid.asc create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/grid.clr create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/esri/grid.prj create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/image/README.md create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/image/gradient.pgw create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/image/gradient.png create mode 100644 storage/sis-storage/src/test/resources/org/apache/sis/internal/storage/image/gradient.prj