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 5a19a70 Merge branch 'geoapi-4.0' into geoapi-3.1 add 38b7778 Add a constant for the number of bits in `Long.SIZE`. Used in bit shifts. add be6450a Fix a `NullPointerException` when visualizing an image with a "no data" value and no other category. In such case we have to synthetize a temporary category (not shown to user) for the remaining range of values. add 64a4335 Fix the range of signed data type in GeoTIFF images. add 42473c5 More filtering of values on which statistics are computed: - Added a `DoubleUnaryOperator[] sampleFilters` argument as a way to specify "no data" values to ignore. - Finer check of `areaOfInterest` shape for determining which tiles need to be computed (optimization). add 1ec1320 Specify the "no data" values when computing statistics for stretching the color ramp of an image. It makes a difference for image having no "quantitative" categories, because those images are not converted to units of measurement, which implies that their "no data" values were not set to NaN. add ca709c6 Minor javadoc additions. add f87196f Fix `IndexOutOfBoundsException` when filling a tile having an origin other than (0,0). Fix the conditions for deciding when to return an empty tile or the existing tile. add 7b1ee54 chore(Core): Add a simple unit test for image masks. add 67a64fd Merge branch 'fix/mask-image' into geoapi-4.0 add 84c4925 Edit the tests (formatting, constants, some simplifications). There is no change in test data. add de57949 Add a convenience method for filling pixel values of a whole image. add 7a046b8 Filter: fix ST_GeomFromText evaluation (cherry-pick from Johann Sorel fix). add b8e48bf Fix the lost of items in the "recent files" list. add 30629e9 Fix a problem of TIFF files not shown when the "tiff" extension is upper-case. add 9c99fd5 Exception throws by `ComputedImage` in case of invalid tile index needs to be consistent with exception expected by `GridEvaluator.apply(…)`. add 0c89e86 Rename the class in charge of opening data stores in background threads. add 84be76a Minor clarification in the comment about NaN values in map projection results. add 30571ec Simplify a little bit the layout of logging panel. The previous use of SplitPane + TitledPane was a workaround for the absence of something equivalent to `JSplitPane.setOneTouchExpandable(boolean)` in JavaFX, but that workaround was visually not very nice. add 6873859 Consolidation on the widget showing a "coverage view + controls" pair: Avoid creating controls before needed, make locale more explicit, etc. add 71cd19a Use more complete resource identifiers as window title. The intend is to avoid identifiers that are only "1", "2", etc. add 1b1eb69 Verify that the sample model size is compatible with image tile size. Bug identified by Alexis Manin. add 2d2f7ef chore(Core): add a new test case for mask images add 09243ef Merge branch 'fix/mask-image-is-back' into geoapi-4.0 add 42f40fa Remove a hack which is not needed anymore when building with Java 17. add b6f2655 Dissociate the process loading data in `GridView` and `CoverageCanvas`. Previous version was systematically loading data in `GridView` (even if it was not visible) then gave the `GridCoverage` reference to `CoverageCanvas` in order to load data only once. This new version loads data independently; we will rely more on `DataStore` resource caching. This separation is needed because `GridView` and `CoverageCanvas` will not load the same data anymore after we take pyramid i [...] add d3560bf Minor fixes for javadoc, formatting and state of immutable object. add 9a928b7 Allow `GridDerivation.subgrid(GridGeometry)` to work when the query contains only a "grid to CRS" transform, without envelope or grid extent. add f039368 Add an `Extents.union(…)` method and modify implementations of `intersection` methods for sharing code. add 348c8c8 Add a `CoverageCanvas.resourceProperty` in replacement of previous WeakReference to resource "originator". Add `MultiResolutionCoverageLoader` class for loading `GridCoverage` from a resource at different resolution. Together, those changes allow `CoverageCanvas` to use data loaded at a pyramid level determined from the zoom level. add 0859cb9 Move `RenderingData` to the portrayal module without the pseudo-styling part. It will allows the reuse of this rendering code for targets other than JavaFX. add d41d829 CQL : add query read/write support add 9c1918b Give a little bit of tickness to the lines drawn for representing missing tiles. add 2034647 Fix an `IndexOutOfBoundsException` when stretching the colors of an `IndexColorModel`. add 739b246 Remove the 100 pixels margin which was added to the image rendered by `CoverageCanvas`. The margin intend was to have some content ready in advance when user translates the view. But it also consumes more memory, slows down the rendering (because of larger surface) and makes the `ImagePropertyExplorer` content a little bit more confusing. add 8ceffa0 Better rendering of `ImagePropertyExplorer` content when the property value is another image. add 9edee11 In `PlanarImage.verify()`, an unexpected value for "width" and "height" properties may be normal. So those "anomalies" should be reported only if everything else is okay. add 37e5d1c Reduce the number of image rendering events in the `PropertyView`. If rendering requests happen faster that we can redraw, only the last request is executed. add 48c634d Fix a `NullPointerException` when a new resource is opened while another resource was visible. add 9a8e548 Simplify the GUI on the left side: - Replace the split pane on the left side by an accordion. - Reduce the number of titled pane in the accordion for other controls. add a24f3de More stable behavior of the tree of resources when the second resource is added after the first one. add d58bf37 Subsampling computed by `GridDerivation.subgrid(GridGeometry)` must be integer (it was not when the given grid geometry has only a "grid to CRS" transform). Better determination of which grid between source and target must have a CRS. add 5b8c29b Allow netCDF reader to distinguish "discrete coverage" from "continuous coverage". In GCOM-C case, the "QA_flag" (data quality) variable is a discrete coverage. add 869a6d4 Allow to specify default color palettes for netCDF variables. This is an internal API for now, with colors depending on conventions. add 4f56a82 `CoverageCanvas` needs to take background value in account during "resample" operations. add 729a4e3 Add a contextual menu for clearing the table of category colors. add de04f27 Add limited options to `ExtentSelector` for configuring the selection criteria. add cad51c7 Avoid creation of an unused `Accordion` control. Remember which title pane was expanded when switching view. add ddf0da7 Fix a problem of image now shown when selecting "New window" menu. add 78d9505 Fix a typo: "to shown" → 'to show". new c248954 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: .../main/java/org/apache/sis/gui/DataViewer.java | 45 +- .../main/java/org/apache/sis/gui/RecentFiles.java | 67 +-- .../java/org/apache/sis/gui/SystemMonitor.java | 8 +- .../src/main/java/org/apache/sis/gui/Widget.java | 20 +- .../sis/gui/coverage/BandSelectionListener.java | 16 +- .../org/apache/sis/gui/coverage/CellFormat.java | 6 +- .../apache/sis/gui/coverage/CoverageCanvas.java | 339 ++++++++++---- .../apache/sis/gui/coverage/CoverageControls.java | 245 ++++------ .../apache/sis/gui/coverage/CoverageExplorer.java | 514 ++++++++++++++------- .../apache/sis/gui/coverage/CoverageStyling.java | 29 +- .../org/apache/sis/gui/coverage/GridControls.java | 91 ++-- .../java/org/apache/sis/gui/coverage/GridView.java | 138 +++--- .../org/apache/sis/gui/coverage/GridViewSkin.java | 28 +- .../sis/gui/coverage/ImagePropertyExplorer.java | 22 +- .../org/apache/sis/gui/coverage/ImageRequest.java | 154 +++--- .../sis/gui/coverage/InterpolationConverter.java | 112 +++++ .../gui/coverage/MultiResolutionImageLoader.java | 156 +++++++ .../sis/gui/coverage/PropertyPaneCreator.java | 65 +++ .../sis/gui/coverage/StyledRenderingData.java | 104 +++++ .../{Controls.java => ViewAndControls.java} | 87 +++- .../java/org/apache/sis/gui/dataset/LogViewer.java | 16 +- .../apache/sis/gui/dataset/ResourceExplorer.java | 278 +++++------ .../org/apache/sis/gui/dataset/ResourceTree.java | 128 +++-- .../org/apache/sis/gui/dataset/SelectedData.java | 42 +- .../org/apache/sis/gui/dataset/WindowManager.java | 13 +- .../java/org/apache/sis/gui/map/MapCanvas.java | 6 +- .../java/org/apache/sis/gui/map/MapCanvasAWT.java | 2 +- .../java/org/apache/sis/gui/map/StatusBar.java | 19 +- .../org/apache/sis/gui/map/ValuesUnderCursor.java | 29 +- .../apache/sis/gui/metadata/MetadataSummary.java | 1 - .../sis/gui/referencing/ObjectStringConverter.java | 2 +- .../gui/referencing/RecentReferenceSystems.java | 2 +- .../apache/sis/internal/gui/BackgroundThreads.java | 2 +- .../{ResourceLoader.java => DataStoreOpener.java} | 21 +- .../apache/sis/internal/gui/ExceptionReporter.java | 4 +- .../apache/sis/internal/gui/ImageConverter.java | 140 ++++-- .../org/apache/sis/internal/gui/LogHandler.java | 14 +- .../org/apache/sis/internal/gui/PropertyView.java | 127 +++-- .../org/apache/sis/internal/gui/Resources.java | 2 +- .../apache/sis/internal/gui/Resources.properties | 2 +- .../sis/internal/gui/Resources_fr.properties | 2 +- .../org/apache/sis/internal/gui/ToolbarButton.java | 24 +- .../internal/gui/control/ColorColumnHandler.java | 4 +- .../apache/sis/internal/gui/control/ColorRamp.java | 4 +- .../apache/sis/internal/gui/io/package-info.java | 3 + .../java/org/apache/sis/internal/setup/Wizard.java | 2 +- .../org/apache/sis/internal/setup/WizardPage.java | 4 +- .../sis/gui/coverage/CoverageStylingApp.java | 6 +- core/sis-build-helper/pom.xml | 10 +- .../org/apache/sis/internal/doclet/Doclet.java | 36 +- .../org/apache/sis/internal/doclet/Taglet.java | 6 +- .../apache/sis/internal/doclet/package-info.java | 2 +- .../main/antlr4/org/apache/sis/internal/cql/CQL.g4 | 26 +- .../src/main/java/org/apache/sis/cql/CQL.java | 116 +++++ .../src/main/java/org/apache/sis/cql/Query.java | 125 +++++ .../java/org/apache/sis/internal/cql/AntlrCQL.java | 16 + .../test/java/org/apache/sis/cql/CQLTestSuite.java | 2 + .../java/org/apache/sis/cql/QueryReadingTest.java | 100 ++++ .../java/org/apache/sis/cql/QueryWritingTest.java | 44 ++ .../java/org/apache/sis/coverage/Category.java | 8 +- .../org/apache/sis/coverage/SampleDimension.java | 10 +- .../coverage/grid/CoordinateOperationFinder.java | 65 ++- .../apache/sis/coverage/grid/GridDerivation.java | 19 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 3 +- .../apache/sis/coverage/grid/ImageRenderer.java | 69 ++- .../sis/coverage/grid/ResampledGridCoverage.java | 18 +- .../apache/sis/coverage/grid/ReshapedImage.java | 16 +- .../java/org/apache/sis/image/AnnotatedImage.java | 50 +- .../java/org/apache/sis/image/ComputedImage.java | 25 +- .../java/org/apache/sis/image/ImageAdapter.java | 4 + .../java/org/apache/sis/image/ImageProcessor.java | 114 ++++- .../java/org/apache/sis/image/MaskedImage.java | 39 +- .../java/org/apache/sis/image/PlanarImage.java | 44 +- .../java/org/apache/sis/image/RecoloredImage.java | 52 ++- .../java/org/apache/sis/image/ResampledImage.java | 10 +- .../org/apache/sis/image/SourceAlignedImage.java | 27 +- .../org/apache/sis/image/StatisticsCalculator.java | 111 ++++- .../java/org/apache/sis/image/Visualization.java | 5 +- .../java/org/apache/sis/index/tree/PointTree.java | 3 +- .../sis/internal/coverage/SampleDimensions.java | 112 +++++ .../internal/coverage/j2d/ColorModelFactory.java | 3 +- .../sis/internal/coverage/j2d/Colorizer.java | 120 +++-- .../sis/internal/coverage/j2d/ColorsForRange.java | 7 +- .../sis/internal/coverage/j2d/FillValues.java | 26 +- .../sis/internal/coverage/j2d/TileOpExecutor.java | 100 +++- .../sis/internal/coverage/j2d/TilePlaceholder.java | 51 +- .../sis/internal/coverage/j2d/TiledImage.java | 7 +- .../apache/sis/internal/coverage/package-info.java | 2 +- .../sis/internal/filter/sqlmm/GeometryParser.java | 2 +- .../sis/coverage/grid/GridDerivationTest.java | 24 +- .../java/org/apache/sis/image/MaskedImageTest.java | 362 +++++++++++++++ .../apache/sis/image/StatisticsCalculatorTest.java | 99 +++- .../sis/internal/filter/sqlmm/SQLMMTest.java | 38 +- .../java/org/apache/sis/test/FeatureAssert.java | 4 +- .../apache/sis/test/suite/FeatureTestSuite.java | 3 +- .../org/apache/sis/metadata/PropertyAccessor.java | 2 +- .../apache/sis/metadata/iso/extent/Extents.java | 83 ++-- .../org/apache/sis/internal/map/SEPortrayer.java | 14 +- .../coverage/MultiResolutionCoverageLoader.java | 395 ++++++++++++++++ .../sis/internal/map}/coverage/RenderingData.java | 439 ++++++++++++------ .../sis/internal/map/coverage}/package-info.java | 9 +- .../MultiResolutionCoverageLoaderTest.java | 180 ++++++++ .../apache/sis/test/suite/PortrayalTestSuite.java | 5 +- .../sis/internal/referencing/ExtentSelector.java | 99 +++- .../operation/projection/TransverseMercator.java | 10 +- .../internal/referencing/ExtentSelectorTest.java | 87 +++- .../org/apache/sis/internal/util/Numerics.java | 17 +- .../main/java/org/apache/sis/util/ArraysExt.java | 2 +- .../java/org/apache/sis/util/CharSequences.java | 2 +- .../apache/sis/util/collection/IntegerList.java | 3 +- .../org/apache/sis/util/resources/Vocabulary.java | 10 + .../sis/util/resources/Vocabulary.properties | 2 + .../sis/util/resources/Vocabulary_fr.properties | 2 + .../org/apache/sis/internal/util/NumericsTest.java | 30 +- .../apache/sis/internal/earth/netcdf/GCOM_C.java | 49 +- .../sis/storage/geotiff/ImageFileDirectory.java | 4 + .../org/apache/sis/internal/netcdf/Convention.java | 26 +- .../org/apache/sis/internal/netcdf/Raster.java | 28 +- .../apache/sis/internal/netcdf/RasterResource.java | 41 +- .../org/apache/sis/internal/netcdf/Variable.java | 2 + .../apache/sis/internal/netcdf/VariableRole.java | 27 +- .../sis/internal/netcdf/impl/ChannelDecoder.java | 6 +- .../apache/sis/storage/netcdf/MetadataReader.java | 2 +- .../sis/test/storage/CoverageReadConsistency.java | 11 +- 124 files changed, 5202 insertions(+), 1665 deletions(-) create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/InterpolationConverter.java create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/MultiResolutionImageLoader.java create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/PropertyPaneCreator.java create mode 100644 application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/StyledRenderingData.java rename application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/{Controls.java => ViewAndControls.java} (58%) rename application/sis-javafx/src/main/java/org/apache/sis/internal/gui/{ResourceLoader.java => DataStoreOpener.java} (94%) create mode 100644 core/sis-cql/src/main/java/org/apache/sis/cql/Query.java create mode 100644 core/sis-cql/src/test/java/org/apache/sis/cql/QueryReadingTest.java create mode 100644 core/sis-cql/src/test/java/org/apache/sis/cql/QueryWritingTest.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/coverage/SampleDimensions.java create mode 100644 core/sis-feature/src/test/java/org/apache/sis/image/MaskedImageTest.java create mode 100644 core/sis-portrayal/src/main/java/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoader.java rename {application/sis-javafx/src/main/java/org/apache/sis/gui => core/sis-portrayal/src/main/java/org/apache/sis/internal/map}/coverage/RenderingData.java (57%) copy {application/sis-javafx/src/main/java/org/apache/sis/internal/setup => core/sis-portrayal/src/main/java/org/apache/sis/internal/map/coverage}/package-info.java (88%) create mode 100644 core/sis-portrayal/src/test/java/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoaderTest.java