This is an automated email from the ASF dual-hosted git repository.
amanin pushed a change to branch refactor/strict_storage_connector
in repository https://gitbox.apache.org/repos/asf/sis.git.
from dbeef90 feat(Storage): Add an extension of storage connector with
fail-fast behaviors
add ee73474 Deeper analysis of situations where a wraparound may occur
during the transformation of a `GridGeometry` envelope. We must be careful to
not apply too large translations on envelope corners: a lower-left corner
should not become greater than upper-right corner for example.
add bc38cbf Use NaN for "no source median" to distinguish from 0.
add 512b335 Remove `sourceMedian` argument in
`WraparoundTransform.create(…)` method.
add 911d02c Do not round the median value in `WraparoundTransform`.
Callers should round themselves if desired.
add 46bf0ac Better separation of work by moving some methods in
`WraparoundApplicator`. Move `WraparoundTransform.transform(…)` method to
`WraparoundInEnvelope`. This refactoring allows some simplification and better
synchronization.
add 3a41eb8 Move `WraparoundTransform` to public package.
add 7ce4d0b Slightly more efficient way to get wraparound step in a chain
of transforms.
add ba4ad90 Better control on when wraparound is applied.
add 2d3e45f Implement `WraparoundTransform.inverse()`. It will allow us
to apply a safer strategy for handling wraparounds in next commits. Remove
`WraparoundTransform.CACHE` because the new `sourceMedian` field reduces the
probability that a cached value can be used.
add d1e4873 Avoid potentially costly calls to `MathTransform.inverse()`.
add 674c34d Move the `intersect` method close to `union` method, remove
`public` modifier on constructors of package-privated classes and edit some
comments. There is no significant code change in this commit.
add 3201ff1 Build temporary `WraparoundInEnvelope` instances only before
to transform an envelope. This change avoid to expose a mutable
`MathTransform`, removes the need for synchronization and enable wraparound
handling in more situations than only `GridGeometry` operations.
add 579bc7e Apply on transformations of `Rectangle2D` objects the same
wraparound checks than we did in previous commit for `Envelope` objects.
add 56e596f Try to enable wraparound handling in JavaFX application and
prints more extensive information about `CoverageCanvas` operations. The intent
is to debug why the image is not visible when a `GridCoverage` crossing the
anti-meridian is resampled.
add 252bd57 Make debugging information more compact and more useful.
add 5ecbea2 Fix a longitude wraparound error specific to the UTM
projection case. Contains minor documentation changes.
add f6deb67 Add a wraparound application which was missing when going
from a geographic CRS to a projected CRS.
add 671204a Apply wraparound step only if needed in `ResampledImage`.
add c215ddb Make `MathTransform inverse()` invertible. This is necessary
for allowing `WraparoundInEnvelope` to perform more extensive checks during
bounding box calculation.
add 5710795 Fix broken javadoc links. Fix typographic convention in
French resources.
add f65a35d Remove `GridCanvas` experimental class.
add 5e65f02 Minor performance improvement in
`WraparoundTransform.concatenate(…)`. Add a note in documentation about
information lost during WKT formatting.
add 0885edc Replace `GridOrientation` enumeration by a more configurable
class.
add 325d23f Add Orthographic projection in the list of projections
centered on mouse click.
add b22fa6d Move `StreamDecoration` to "SQL store" internal package,
renamed `StreamWrapper`. We limit the use of those wrappers for now because we
do not yet have a mechanism for allowing methods with `Stream` return type to
return also some `StreamWrapper`. In current implementation, any call to a
method such as `Stream.map(…)` may cause the lost of all optimizations done in
`StreamWrapper` subclasses.
add a9cd8bf Move `SubsetAdapter` to "SQL storage" module, where it is
used.
add 7d5b466 Minor improvement in concatenation of two consecutive
`WraparoundTransform` instances.
add bc6ca0f Move `FeatureInfos` to a package where it can be shared by
the two implementations. This move allows to use that class also with the
decoder based on UCAR library.
add 924d4a8 Make the `FeatureSet` implementation more robust and more
generic. This commit prepares `FeatureSet` to support "ordinary" trajectory
(without time vector) in addition to moving features.
add 340e2d1 Refactoring and slight optimizations: - Move `MovingFeature`
as `MovingFeatureBuilder` in the package where it is used. - Retarget
`MovingFeature` as a set of static methods (for now). - Renamed `DateList`
class and some `FeatureSet` fields. - Share time vectors when possible. -
optimization of `PackedVector.equals(…)` and `IntegerList.equals(…)`.
add 7a1fec6 Share more code between `FeatureSet` and `Grid` regarding
axis type inference.
add 0745403 Replace loops by placeholders for JDK9 Arrays.equals(…)
methods. Fix a wrong PackedVector optimization.
add 9e986b8 Add support for reading variables of character type. Implies
some refactoring for sharing more code between the two reader implementations.
add 43d7cba Fix offset and stride calculation in netCDF files having an
unlimited dimension.
add 248df22 Add tests on a "Moving Features" file.
add 4587f99 `Variable.read(GridExtent area, int[] subsampling)` support
reading character strings in addition of numerical value. This commit required
refactoring for allowing more code sharing.
add 5ad90e7 Add a `Vector.isSinglePrecision()` method.
add d33c284 The loop converting byte[] to String needs a fallback for
encodings where values lower than 128 are not the same than ASCII. Creation of
geometry objects in `FeatureSet` needs to take in account the `GeometryType`,
and optionally the precision.
add 9079a67 Use an EngineeringCRS fallback when a TemporalCRS can not be
created because of unknown temporal datum epoch.
add 5f774e8 Accept parsing timezone name (e.g. "UTC") in addition of
timezone offsets. Add links in javadoc and fix the value shown in an error
message.
add 24c869b Add methods or objects needed for completion of `FeatureSet`:
add bb1e274 Fix NullPointerException during unmarshalling of legacy
ResponsibleParty objects.
add 8336928 When an alert is shown for an error, the dialog box owner
should be the application window. It help to keep the dialog on the same screen
than the application.
add 357c9cd Do not popup more than one alert window if many errors happen
in a short time (in current implementation, only the last error is shown). Add
scrollbars around the component showing stack trace.
add 57dee2c Add a "Open recent file" menu. It saves time when doing many
test always on the same data file.
add 16ea3ba Hide SIS synthetic feature properties in the tabular view of
FeatureSet.
add 7cfb522 Add unit of measurements in the FeatureType built from a
netCDF file.
add 1b47d2f Fix recent files ordering.
add 22cef57 Report JavaFX version.
add bc9df39 `FeatureSet` use `CRSBuilder` for constructing an horizontal
and temporal CRS from the variables. The temporal CRS allows construction of
the "datetimes" characteristics on the "trajectory" property.
add 4f89f2a Force the use of `Vector` (i.e. make sure that we don't get a
`List<String>`) when reading coordinate variables. If the variable contains
texts, those texts will be parsed as numbers.
add fa1e45b Share the same code for enumeration support between
`RasterResource` et `FeatureSet`.
add df7e1fb Update HTML links to EPSG registry, OGC standards and others.
add 5c03a79 Paranoiac check in case the attribute value is already a list.
add b2c7250 Place-holder for JDK 9 methods should have the same behavior
than JDK 9, which is to throw IllegalArgumentException if there is duplicated
values.
add c60795e Documentation and formatting related to WKT parsing.
Deprecate Symbols.containsAxis(…) because AXIS elements are no longer optional
in WKT 2.
add 4fe1348 Rename the `list` field as `children` and make the code more
null-safe by replacing the null value by a more explicit `isEnumeration` flag.
add 606b226 Clarify the behavior of `WKTFormat.clone()` and avoid cloning
the `fragments` map if possible. The intent is to allow more efficient
`WKTFormat` cloning for parsing many WKT strings in parallel.
add 847ab7e Clarify which locale is used in error messages.
add 5e13b7f Initial version of `WKTDictionary` for allowing users to
define CRS for custom codes. https://issues.apache.org/jira/browse/SIS-502
add dfb19c1 Allow `getAuthorityCodes(Class)` to filter by WKT keywords.
Build the code list under write lock. Cache results.
add b890c8c Refactor the way we store WKT trees in a dictionary. Instead
of having `Element` working in two modes (mutable or immutable), keep `Element`
always mutable and create immutable snapshots with a separated class,
`StoredTree`.
add 31a6086 Add tests and fix missed sharing of WKT values.
add 54f66a8 Move `getAuthoritycodes(Class)` close to `getCodeSpaces().
This is a cut-and-paste with no code change.
add 3325923 Add more tests.
add 85cfff7 Handle the corner-case of coordinate system WKT (the "CS"
keyword) in definition of aliases.
add 84001f1 Log warnings during WKT parsing by `WKTDictionary`.
add a1ab9bb Update examples of ESRI codes.
add d478c79 Method name change: setter method shall have the "set"
prefix, not "get". Error identified by Jean-Marc Bourdaret.
https://issues.apache.org/jira/browse/SIS-503
add d3c0c2a Replace `String.regionMatches(…)` by the simpler
`String.startsWith(…)` when applicable.
add 81a9536 Provides a hook for making easier to use this factory for
handling the "spatial_ref_sys" table of spatial databases.
add 89f8591 Automatically add identifier when the WKT provided by
`WKTDictionary.fetchDefinition(…)` does not contain an ID[…] or AUTHORITY[…]
element. This is needed when the WKT is provided by the "spatial_ref_sys" table
if a PostGIS spatial database among others.
add f67bd79 Simplify the logging levels provided by `PerformanceLevel`.
https://issues.apache.org/jira/browse/SIS-504
add 07f4511 Replace a few `getLogger("org.apache.sis.foo")` calls by a
static `Logger` constant. Use the logger provided by
`DataStoreProvider.getLogger()` when applicable. Add a log when reading a
netCDF file as a `GridCoverage`.
add 925eccf Reduce a little bit the amount of text in
`GridGeometry.toString()` and in `AbstractGridResource.logLoadOperation(…)`.
add 57c225f Provide a way to avoid potentially costly
PropertyNotFoundException creation. Users do not always know in advance if a
property exists and may need a way to get this information without being forced
to use exceptions for branching.
add c0bf843 Rename `getPropertyValue(String, Object)` as
`getValueOrFallback(…)` for avoiding dangerous similarity with
`setPropertyValue(…)`. Before this change, the two methods differed only by one
letter ("g" versus "s"), which is a risk of introducing bugs by typos. The new
name is also more readable and more consistent with standard Java practice such
as `java.util.Map.getOrDefault(…)`.
add 84e6e56 Avoid duplication in netCDF variables and attributes when a
lower-case name has been generated in addition to the original name.
add 98e07c2 More robust handling of map projection parameters in netCDF
file: - If parameters are provided as strings instead than numbers, parse them.
- Report unused values for allowing user to check if an important parameter has
been ignored.
add da00b49 Always consider a variable as an axis if the
"_CoordinateAxisType" attribute is present.
add ec235ee Most accurate selection of best grid. In addition of maximal
intersection area, try also to minimize area outside the Area Of Interest (AOI)
to to prefer grids more centered on the AOI.
add 1c395af Take a more representative center of data.
add e38c2a9 Take temporal extent in account in addition of geographic
extent. This is an anticipation for the support of dynamic datum in a future
SIS version. It is also useful for other code using `ExtentSelector` for making
a choice between different rasters (for example).
add 6d0bce8 Use new feature.getValueOrFallback method in filters and
expressions to avoid exception creation when exception stack is not required
add 2d60d06 When `PropertyNotFoundException` are reported as warnings,
keep the exception message instead than using the `getValueOrFallback(…)`
method. The reason is that the exception message provides a deeper analysis,
telling for example if the property can not be provided because it does not
exist or because the given name is ambiguous.
add 78cb599 Documentation fix: the "Supported by" column is not relevant
anymore.
add 89d2a24 Portrayal : initial work on OGC symbology encoding portrayal
engine
add 0db2206 Update in NetBeans project configuration introduced by
upgrade to NetBeans 12.2.
add 3f89ebd Gives more details when à `MathTransform` does not have the
expected number of dimensions.
add 4f223fe First version of a contouring algorithm, adapted from Johann
Sorel work based on "marching squares" algorithm. This implementation builds
isolines for all bands and all levels in a single iteration over image pixels.
Java2D shapes are constructed on-the-fly during iteration.
add cf5739d Fix an error in determination of when a polygon is closed.
Reduce some code duplication by taking advantage of recurrent patterns in
interpolations.
add 870eb6a Remove some spikes which appear when pixel values are
strictly equal to isoline values.
add 02f0113 When a single `Polyline` instance can not be closed as a
polygon, keep that instance in a temporary map. As additional instances are
added in the map, some `Polyline` instances get concatenated together. It
allows the creation of "real" closed polygons instead than juxtaposition of
polylines that looks like polygons.
add 728f70e Implementation of a java.awt.Shape backed by an array of
coordinates that we can handle more easily than with java.awt.geom.Path2D. It
introduce a class hierarchy similar to the OGC geometry classes (Polyline,
Polygon, MultiPolygons), but it is not the intent to provide an OGC geometries
implementation now. Those classes are needed for simplifying `IsolineTracer`
(in a next commit).
add fb43846 Replace the use of `java.awt.geom.Path2D` by `PathBuilder` in
`IsolineTracer`. It simplifies the algorithm and allow us to resolve the
remaining spikes that we saw in isolines.
add 11c6b74 Avoid the call to `Arrays.binarySearch(…)`. It has been
identified by profiling as a performance bottleneck (in the context of
`Isolines`).
add e5142b5 Retrofit `DefaultIterator` into `PixelIterator`. This change
allows slightly better encapsulation (more fields can be made private) and
reduce the need to create `WritablePixelIterator` when only read operations are
desired. The previous abstraction level was apparently not needed in practice.
add 4f8f236 Add `BandedIterator`, a specialization of `PixelIterator` for
the case of images using a `BandedSampleModel`. This is an attempt to resolve a
performance bootleneck observed during `Isolines` calculations.
add eceea7f Make possible to use `BandedIterator` with multi-tiled
images. It required to retrofit `LinearIterator` into `PixelIterator`.
add 76cd431 Add more tests and add comments about optimization strategies
that have been discarded. Two strategies were tried and failed to provide
significantly better performance:
add eac2307 Replace the use of `PixelIterator.Window` by cached values of
previous row. It make easier to provide a special case for one-banded images.
add 63875de Add a test case for isolines on multi-banded image.
add ce75340 Add a note about another failed attempt to optimize.
add c127810 Store isoline coordinates as single-precision floating point
numbers, but with a translation for attenuating the precision lost.
add 3c7c5c5 Delegate `contains(…)` and `intersects(…)` implementations to
Path2D.
add d33c28c Move part of `CategoryColorCell` into a new `ColorCell` base
class. The intent is to share this code with other kinds of color tables, to be
created later for isolines.
add da676c5 Move remaining code from `CategoryColorsCell` into
`ColorCell` for sharing (in a future commit) with isoline table. The methods
that were previously overridden in `CategoryColorsCell` class are now
overridden in `ColorColumnHandler`. Cell behavior has been reworked for
reducing the amount of mouse clicks and for enabling keyboard usage.
add 34f7b23 Let `Polyline` computes the bounds itself.
add e9ea08a Fix an `IndexOutOfBoundsException` when CRS has more
dimensions than the dimensions for which a precision has been specified.
add f2701ff Support the case where one of the CRS axes in a netCDF file
is a scalar (number of dimensions = 0). In such case, the scale factor does not
exist in the "gridToCRS" matrix; we have only a translation term. In other
words, there is no corresponding source coordinate, only a target coordinate
which is constant. Some netCDF files use scalar for specifying for example that
all values are located at a height of 2 metres.
add f5fe842 Do not list "bounds" variable as coverage variables.
add 788bfe2 Mouse coordinates in status bar need to be updated during
scrolling. Opportunistically adjust highlights if scrolling caused an offset.
Do not relayout the whole widget every time that mouse moved.
add 80c2fbc Tune `ColorTable` behavior on mouse click and keyboard
"enter" key.
add 87d1b72 Initial version of an `IsolineTable` for specifying the
isoline values and colors. This control is not yet connected to the actual
isolines computation.
add c034b46 Improve the behavior when entering new isoline values: - Sort
by increasing values. - Interpolate colors of new values between colors of
existing values. - Transition to edition mode when a digit is typed (avoid the
need to click on the cell first).
add 3e83f90 Move `IsolineTable` to `ValueColorMapper` for allowing usage
(in the future) for other purposes than isolines.
add 80fd560 Make `FormatTableCell` package-private for now.
add 38499ac Add isoline rendering capabilities to `CoverageCanvas` using
the information provided by user in a `TableView`.
add 9279763 Tune tracing information for debugging purposes.
add 1f50f98 Add a few assertions and comments. Fix mouse cursor shape
during drag events.
add 8713ecc Remove RenderingMode.DIRECT because it causes twinkle at
rendering time.
add 430647f Prepare an image slightly larger than viewport area for more
continuous translations (pans).
add 2041caf Allow `imageMargin` to be null if there is no margin to apply.
add b24e1da Add a delay before to set the mouse cursor shape to
`Cursor.WAIT` during rendering. It avoids distraction by continuously changing
mouse shape because of zoom or pan.
add 0a252d7 Recompute isolines if map projection changed.
add ad06a54 Do not draw isolines that are outside the viewed area.
add 041101c Arbitrarily draw isolines with a line tickness of 1/8 of
source pixel size, for making apparent when zoom is becoming too strong for
data resolution.
add 20e03de Add a listener on `KeyEvent` for removing selected row.
add 53891b2 Minor adjustment in table headers.
add 7b07584 Fix a `NullPointerException` that occurs when a new window is
created.
add d1c2db3 Remove `PlanarCanvas.getAreaOfInterest()` because subclass
needs to perform a slightly different computation, for example with addition of
a margin.
add 7f89f62 Avoid a "no convergence" error when dα₁ ≪ α₁.
add 5ba3ea5 Portrayal : add feature type style filtering test cases for
SEPortrayer
add 16b13a8 Comment-out reference to a class which seems to have been
forgetten. Remove empty comment for a parameter with mismatched name.
add b3d55b4 Add an `iterationReachedPrecisionLimit` flag in the test for
deciding more accurately when assertion tolerance threshold should be relaxed.
add 6dd1602 Portrayal : add SEPortrayalTest and mock classes
add c65774a Document better `GeodeticCalculator` accuracy considerations
and replace the special cases in JUnit tests by a `KnownProblem` enumeration in
an attempt to make clearer what the problem can be and how the tests handle
them.
add c8dcb4e Uncomment portrayal tests.
add fb27a92 Portrayal : add portrayal rule and query tests, implements
events on MapLayers components
add 962eba9 Portrayal : add MapLayer.opacity property and
MapItem.getEnvelope method
add b239be0 Minor simplification in array creation, and checkstyle fix.
add e11eee1 Implement parallel (multi-threaded) computation of isolines.
add cfd1379 Enable parallel execution of isoline computation in JavaFX
viewer.
add 5ac3ea3 Increase minimal tile size for isoline computation, because
our algorithm operates better on large tiles.
add 17755f9 Fix an AssertionError caused by `requestRepaint()` invoked
(indirectly) during `paint()` execution in `MapCanvas`. For safety, make sure
that a `Unclosed` object is not reused in `IsolineTracer.Level.merge(…)`.
add 191b251 Portrayal: change default MapLayer opacity to one
add 96b4ea0 Portrayal : fix incoherency in presentation candidate value
type
add 54f5a9c Provide an installation wizard for configuring the path to
JavaFX.
add 2ca318c Fix a `NullPointerException` when `bin/sisfx` is invoked
while `apache-sis-<version>` is the current directory.
add a29d04c Disable "Download" button if browser is not available.
add 4086b33 Path to JavaFX installation directory should be relative to
$BASE_DIR when possible.
add adde8f4 Replace Map.get/put/replace(…) by Map.compute(…) operations.
add 7bc9a9e Document better the rational about `SoftReference` in caches,
and replace one `SoftReference` by `WeakReference` for reducing memory
retention.
add ce89d94 Portrayal : add SEPortrayer aggregated resource test
add c12f80c Refactor `ValueColorMapper` as a `Widget` subclass. The
intent is to allow more complex GUI later (with controls for specifying a range
of isoline levels instead than entering values one-by-one).
add b389939 Provide a contextual menu for generating isolines at a
constant interval in a range. This work required a refactoring of the way we
validate `TextField` value in order to share code.
add 2d01b06 Use `BigDecimal` for computation of intermediate levels for
making sure that we do not surprise users with rounding errors before final
conversion to `double`.
add e05a30a Add a `CoverageCanvasApp` for manual & visual testing of
`CoverageCanvas`.
add 27db458 Fix Javadoc links.
add c40cdfb Replace `Consumer<LogRecord>` by a new `ErrorHandler`
interface. It allows us to provide more information about failures, in
particular a list of tiles that failed.
add d27acc8 Clarify which `LogRecord` properties are initialised when an
error is reported.
add 1556a92 Add the possibility to substitute a tile placeholder in
"prefetch" operation if an error handler has been specified.
add 4fd2a67 Try to provide a better coverage of error handling during
`CoverageCanvas` rendering: - Replace the various
`ErrorHander.Report.addFoo(…)` methods by a single `add(…)` method giving more
control on the `LogRecord` content. - Make `ErrorHandler.Report` thread-safe
and document the synchronization lock to use when modifying the `LogRecord`
content. - Allow `PrefetchedImage` to perform rendering in a mode where
exceptions are caught and tiles are replaced by place-holders. [...]
add 7538f73 Apply `ErrorHandler` during sequential operations too, not
only during parallel operations.
add d6ca8ba Better catching of exceptions to be reported to user.
add 3bba8ad Remove `transformOnNewImage`, which was not necessary. It
simplifies the handling of transforms and seems to resolve a discontinuity
sometime observed during pan events.
add 6e39e36 Increase the off-screen margin for smother pan gestures.
add 2e68ca4 Add a public API for isolines.
add efc8fd2 Better error messages.
add 33701c6 Make possible to apply linearizers on localization grid and
have the final coordinates in the "linearized" CRS, without converting them
back to the original CRS. The use case is the application of Universal
Transverse Mercator (UTM) projection on GCOM rasters for making their "grid to
CRS" closer to affine transforms. In this case, we want to keep UTM coordinates
in the final result, not reconverting them back to geographic coordinates.
add 5dfb974 Upgrade dependencies.
add 0a33751 Portrayal : add SEPortrayer preserve properties hint and
testcase
add 3dae4f4 Portrayal : fix cases where rule filter properties are not
returned
add 2d6d2a7 Portrayal : fix exception when using a property on a
sub-featuretype in style definition
add d043566 Fix `NoSuchMethodException` when cloning an array and
`NullPointerException` when writing legacy metadata properties. This is a
side-effect of work done in ASF-OGC-OSGeo join code sprint.
add da11a2e Upgrade UCAR netCDF dependency from version 4.6.15 to 5.4.1.
Changes in UCAR API are documented at there:
https://docs.unidata.ucar.edu/netcdf-java/current/userguide/upgrade_to_50.html
add cbd2a0b Restore the same set of `NetcdfDataset.Enhance` mode than
before the upgrade to UCAR library version 5. It is important in particular to
NOT put the `ConvertUnsigned` mode, because Apache SIS handles unsigned
integers in a different way than what UCAR does. Remove usage of deprecated
`enhance` method.
add 27a08d6 Finer determination of Transverse Mercator domain of validity.
add b0c3203 After having verified that `TransverseMercator` now behave
like a monotonic function up to 90° of longitude, remove the limit previously
set at 70°. Add notes saying that results for longitude larger than 60° are
inexact. We nevertheless allow computations between 60° and 90° because they
are required for handling some raster data.
add 3d32ab4 Add clarification in comments.
add e9ad9cf Replace ≧ by ≥ and ≦ by ≤.
add 0bb4160 Replace some http: protocols by https: and remove links that
seem not active anymore.
add 5d86b40 Remove the `netcdf.version` property. It is not needed
anymore since we have only one dependency.
add 4658dfb Avoid use of the deprecated
`ucar.nc2.dataset.CoordSysBuilder` class. It forces us to register a
`ucar.nc2.dataset.spi.CoordSystemBuilderFactory` using Service Provider
Interface (SPI), which is a bit unfortunate because it has a global effect on
system configuration. But we do this registration only if the
`sis-japan-profile` is in the classpath.
new c1ac7e6 Merge branch 'geoapi-4.0' into
refactor/strict_storage_connector
new ffe5d46 chore(Storage): report improvements done in Geotk copy
The 2 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:
NOTICE | 7 +-
application/pom.xml | 2 +-
application/sis-console/pom.xml | 2 +-
application/sis-javafx/pom.xml | 4 +-
application/sis-javafx/src/main/artifact/bin/sisfx | 9 +-
.../sis-javafx/src/main/artifact/bin/sisfx.bat | 2 +-
.../main/java/org/apache/sis/gui/DataViewer.java | 8 +-
.../main/java/org/apache/sis/gui/RecentFiles.java | 154 +++
.../apache/sis/gui/coverage/CategoryColors.java | 169 ---
.../sis/gui/coverage/CategoryColorsCell.java | 365 ------
.../org/apache/sis/gui/coverage/CellFormat.java | 9 +-
.../apache/sis/gui/coverage/CoverageCanvas.java | 316 ++++-
.../apache/sis/gui/coverage/CoverageControls.java | 26 +-
.../apache/sis/gui/coverage/CoverageStyling.java | 87 +-
.../org/apache/sis/gui/coverage/GridError.java | 2 +-
.../java/org/apache/sis/gui/coverage/GridView.java | 6 +-
.../org/apache/sis/gui/coverage/GridViewSkin.java | 52 +-
.../apache/sis/gui/coverage/IsolineRenderer.java | 498 ++++++++
.../org/apache/sis/gui/coverage/RenderingData.java | 243 +++-
.../org/apache/sis/gui/dataset/CopyAction.java | 2 +-
.../apache/sis/gui/dataset/ExpandedFeature.java | 8 +
.../org/apache/sis/gui/dataset/FeatureTable.java | 10 +-
.../java/org/apache/sis/gui/dataset/LoadEvent.java | 66 +
.../java/org/apache/sis/gui/dataset/LogViewer.java | 2 +-
.../apache/sis/gui/dataset/ResourceExplorer.java | 24 +-
.../org/apache/sis/gui/dataset/ResourceTree.java | 51 +-
.../java/org/apache/sis/gui/map/MapCanvas.java | 258 ++--
.../java/org/apache/sis/gui/map/MapCanvasAWT.java | 228 ++--
.../main/java/org/apache/sis/gui/map/MapMenu.java | 2 +-
.../java/org/apache/sis/gui/map/RenderingMode.java | 51 -
.../java/org/apache/sis/gui/map/StatusBar.java | 24 +-
.../sis/gui/metadata/StandardMetadataTree.java | 4 +-
.../org/apache/sis/gui/referencing/CRSChooser.java | 2 +-
.../gui/referencing/PositionableProjection.java | 19 +
.../gui/referencing/RecentReferenceSystems.java | 2 +-
.../apache/sis/internal/gui/ExceptionReporter.java | 161 ++-
.../sis/internal/gui/ImmutableObjectProperty.java | 5 +-
.../org/apache/sis/internal/gui/PropertyView.java | 2 +-
.../org/apache/sis/internal/gui/RecentChoices.java | 24 +
.../apache/sis/internal/gui/ResourceLoader.java | 6 +-
.../org/apache/sis/internal/gui/Resources.java | 31 +
.../apache/sis/internal/gui/Resources.properties | 6 +
.../sis/internal/gui/Resources_fr.properties | 6 +
.../java/org/apache/sis/internal/gui/Styles.java | 21 +-
.../apache/sis/internal/gui/control/ColorCell.java | 457 +++++++
.../internal/gui/control/ColorColumnHandler.java | 148 +++
.../apache/sis/internal/gui/control/ColorRamp.java | 234 ++++
.../sis/internal/gui/control/FormatApplicator.java | 253 ++++
.../sis/internal/gui/control/FormatTableCell.java | 261 ++++
.../sis/internal/gui/control/ValueColorMapper.java | 558 +++++++++
.../sis/internal/gui/control}/package-info.java | 15 +-
.../org/apache/sis/internal/setup/FXFinder.java | 416 +++++--
.../org/apache/sis/internal/setup/Inflater.java | 175 +++
.../sis/internal/setup/LoggingConfiguration.java | 17 +-
.../java/org/apache/sis/internal/setup/Wizard.java | 757 ++++++++++++
.../org/apache/sis/internal/setup/WizardPage.java | 114 ++
.../org/apache/sis/gui/pseudo-classes.css | 6 +
.../apache/sis/gui/coverage/CoverageCanvasApp.java | 129 ++
.../sis/gui/coverage/CoverageStylingApp.java | 6 +-
.../org/apache/sis/gui/coverage/GridViewApp.java | 22 +-
.../gui/control/ValueColorMapperApp.java} | 55 +-
application/sis-openoffice/pom.xml | 2 +-
core/pom.xml | 12 +-
core/sis-build-helper/pom.xml | 4 +-
.../apache/sis/internal/book/CodeColorizer.java | 6 +-
core/sis-cql/pom.xml | 2 +-
core/sis-feature/pom.xml | 8 +-
.../coverage/grid/CoordinateOperationFinder.java | 256 ++--
.../sis/coverage/grid/GridCoordinatesView.java | 13 +-
.../org/apache/sis/coverage/grid/GridCoverage.java | 2 +-
.../apache/sis/coverage/grid/GridCoverage2D.java | 2 +-
.../sis/coverage/grid/GridCoverageBuilder.java | 19 +-
.../apache/sis/coverage/grid/GridDerivation.java | 22 +-
.../org/apache/sis/coverage/grid/GridExtent.java | 42 +-
.../org/apache/sis/coverage/grid/GridGeometry.java | 88 +-
.../apache/sis/coverage/grid/GridOrientation.java | 210 +++-
.../sis/coverage/grid/ResampledGridCoverage.java | 6 +-
.../apache/sis/coverage/grid/SliceGeometry.java | 6 +-
.../org/apache/sis/feature/AbstractFeature.java | 39 +-
.../java/org/apache/sis/feature/DenseFeature.java | 25 +-
.../java/org/apache/sis/feature/SparseFeature.java | 27 +-
.../apache/sis/feature/StringJoinOperation.java | 2 +-
.../sis/feature/builder/AttributeTypeBuilder.java | 31 +-
.../org/apache/sis/filter/ComparisonFunction.java | 2 +-
.../org/apache/sis/filter/DefaultObjectId.java | 12 +-
.../org/apache/sis/filter/FilterByIdentifier.java | 7 +-
.../java/org/apache/sis/image/AnnotatedImage.java | 107 +-
.../java/org/apache/sis/image/BandedIterator.java | 444 +++++++
.../java/org/apache/sis/image/DefaultIterator.java | 725 -----------
.../java/org/apache/sis/image/ErrorAction.java | 83 ++
.../java/org/apache/sis/image/ErrorHandler.java | 216 ++++
.../java/org/apache/sis/image/ImageProcessor.java | 209 ++--
.../java/org/apache/sis/image/LinearIterator.java | 124 --
.../java/org/apache/sis/image/PixelIterator.java | 780 ++++++++++--
.../java/org/apache/sis/image/PlanarImage.java | 2 +-
.../java/org/apache/sis/image/PrefetchedImage.java | 172 ++-
.../org/apache/sis/image/StatisticsCalculator.java | 2 +-
.../main/java/org/apache/sis/image/TileCache.java | 24 +-
.../apache/sis/image/WritablePixelIterator.java | 85 +-
.../sis/internal/coverage/j2d/ImageUtilities.java | 24 +
.../sis/internal/coverage/j2d/RasterFactory.java | 6 +-
.../internal/coverage/j2d/TileErrorHandler.java | 123 ++
.../sis/internal/coverage/j2d/TileOpExecutor.java | 236 ++--
.../sis/internal/feature/AbstractGeometry.java | 32 +-
.../sis/internal/feature/AttributeConvention.java | 17 +
.../apache/sis/internal/feature/Geometries.java | 25 +
.../sis/internal/feature/GeometryWrapper.java | 2 +-
.../feature/{DateList.java => InstantList.java} | 24 +-
.../sis/internal/feature/MovingFeatures.java | 136 +++
.../org/apache/sis/internal/feature/Resources.java | 153 ++-
.../sis/internal/feature/Resources.properties | 1 -
.../sis/internal/feature/Resources_fr.properties | 5 +-
.../sis/internal/feature/j2d/EmptyShape.java | 64 +
.../apache/sis/internal/feature/j2d/Factory.java | 19 +-
.../apache/sis/internal/feature/j2d/FlatShape.java | 129 ++
.../sis/internal/feature/j2d/MultiPolylines.java | 181 +++
.../sis/internal/feature/j2d/PathBuilder.java | 268 +++++
.../apache/sis/internal/feature/j2d/Polygon.java | 30 +-
.../apache/sis/internal/feature/j2d/Polyline.java | 307 +++++
.../sis/internal/filter/FilterGeometryUtils.java | 7 +-
.../internal/processing/image/CompoundFuture.java | 202 ++++
.../internal/processing/image/IsolineTracer.java | 1260 ++++++++++++++++++++
.../sis/internal/processing/image/Isolines.java | 506 ++++++++
.../internal/processing/image/TiledProcess.java | 394 ++++++
.../internal/processing/image}/package-info.java | 16 +-
.../sis/coverage/grid/GridCoverageBuilderTest.java | 8 +-
.../sis/coverage/grid/GridDerivationTest.java | 70 +-
.../apache/sis/coverage/grid/GridGeometryTest.java | 2 +-
.../sis/coverage/grid/GridOrientationTest.java | 75 ++
.../coverage/grid/ResampledGridCoverageTest.java | 14 +-
.../sis/coverage/grid/ReshapedImageTest.java | 3 +-
.../apache/sis/feature/AbstractFeatureTest.java | 10 +-
.../apache/sis/feature/EnvelopeOperationTest.java | 2 +-
.../org/apache/sis/image/BandSelectImageTest.java | 2 +-
.../org/apache/sis/image/BandedIteratorTest.java | 79 ++
.../sis/image/BandedSampleConverterTest.java | 3 +-
.../org/apache/sis/image/ImageCombinerTest.java | 6 +-
.../org/apache/sis/image/ImageProcessorTest.java | 60 +
.../org/apache/sis/image/LinearIteratorTest.java | 42 +-
...ultIteratorTest.java => PixelIteratorTest.java} | 147 ++-
.../java/org/apache/sis/image/PlanarImageTest.java | 3 +-
.../org/apache/sis/image/ResampledImageTest.java | 3 +-
.../apache/sis/image/StatisticsCalculatorTest.java | 9 +-
.../java/org/apache/sis/image/TiledImageMock.java | 113 +-
.../sis/internal/feature/j2d/FlatShapeTest.java | 129 ++
.../internal/processing/image/IsolinesTest.java | 375 ++++++
.../java/org/apache/sis/test/FeatureAssert.java | 35 +
.../apache/sis/test/suite/FeatureTestSuite.java | 9 +-
core/sis-metadata/pom.xml | 10 +-
.../sis/internal/jaxb/gco/GO_CharacterString.java | 2 +-
.../apache/sis/internal/metadata/NameMeaning.java | 4 +-
.../sis/internal/metadata/sql/ScriptRunner.java | 6 +-
.../apache/sis/metadata/PropertyComparator.java | 4 +-
.../org/apache/sis/metadata/TreeNodeChildren.java | 2 +-
.../apache/sis/metadata/iso/DefaultMetadata.java | 17 +-
.../sis/metadata/iso/citation/Citations.java | 30 +-
.../iso/citation/DefaultResponsibleParty.java | 109 +-
.../iso/constraint/DefaultReleasability.java | 30 +-
.../apache/sis/metadata/iso/extent/Extents.java | 5 +-
.../java/org/apache/sis/xml/IdentifiedObject.java | 2 +-
.../org/apache/sis/metadata/sql/Citations.sql | 20 +-
.../metadata/iso/citation/HardCodedCitations.java | 6 +-
.../sis/metadata/sql/MetadataWriterTest.java | 4 +-
.../org/apache/sis/test/xml/SchemaCompliance.java | 5 +-
core/sis-portrayal/pom.xml | 9 +-
.../sis/internal/map/ExceptionPresentation.java | 66 +
.../org/apache/sis/internal/map/GridCanvas.java | 371 ------
.../apache/sis/internal/map/ListChangeEvent.java | 98 ++
.../org/apache/sis/internal/map/NotifiedList.java | 72 ++
.../org/apache/sis/internal/map/Presentation.java | 56 +-
.../sis/internal/map/PropertyNameCollector.java | 42 +-
.../sis/internal/map/ResourceSymbolizer.java | 32 +-
.../org/apache/sis/internal/map/SEPortrayer.java | 803 +++++++++++++
.../apache/sis/internal/map/SEPresentation.java | 85 ++
.../apache/sis/internal/map/SymbologyVisitor.java | 484 ++++++++
.../main/java/org/apache/sis/portrayal/Canvas.java | 46 +-
.../org/apache/sis/portrayal/CanvasExtent.java | 6 +-
.../java/org/apache/sis/portrayal/MapItem.java | 22 +-
.../java/org/apache/sis/portrayal/MapLayer.java | 73 +-
.../java/org/apache/sis/portrayal/MapLayers.java | 77 +-
.../java/org/apache/sis/portrayal/Observable.java | 59 +-
.../org/apache/sis/portrayal/PlanarCanvas.java | 2 +-
.../sis/internal/map/MockFeatureTypeStyle.java | 107 ++
.../sis/internal/map/MockLineSymbolizer.java | 112 ++
.../java/org/apache/sis/internal/map/MockRule.java | 131 ++
.../org/apache/sis/internal/map/MockStyle.java | 86 ++
.../apache/sis/internal/map/SEPortrayerTest.java | 772 ++++++++++++
.../org/apache/sis/portrayal/MapLayersTest.java | 99 ++
.../apache/sis/test/suite/PortrayalTestSuite.java | 30 +-
core/sis-referencing-by-identifiers/pom.xml | 4 +-
core/sis-referencing/pom.xml | 6 +-
.../org/apache/sis/geometry/AbstractEnvelope.java | 16 +
.../org/apache/sis/geometry/CoordinateFormat.java | 2 +-
.../java/org/apache/sis/geometry/Envelope2D.java | 28 +-
.../java/org/apache/sis/geometry/Envelopes.java | 328 ++---
.../org/apache/sis/geometry/GeneralEnvelope.java | 2 +-
.../java/org/apache/sis/geometry/Shapes2D.java | 291 ++---
.../apache/sis/geometry/WraparoundInEnvelope.java | 235 ++++
.../sis/internal/referencing/ExtentSelector.java | 414 ++++++-
.../apache/sis/internal/referencing/Formulas.java | 6 +
.../internal/referencing/ReferencingUtilities.java | 30 +-
.../apache/sis/internal/referencing/Resources.java | 26 +-
.../sis/internal/referencing/Resources.properties | 7 +-
.../internal/referencing/Resources_fr.properties | 7 +-
.../sis/internal/referencing/TemporalAccessor.java | 14 +-
.../internal/referencing/VerticalDatumTypes.java | 2 +-
.../sis/internal/referencing/WKTKeywords.java | 84 +-
.../internal/referencing/WraparoundAdjustment.java | 4 +-
.../internal/referencing/WraparoundApplicator.java | 156 +++
.../referencing/provider/DatumShiftGridFile.java | 11 +-
.../internal/referencing/provider/Wraparound.java | 4 +-
.../java/org/apache/sis/io/wkt/AbstractParser.java | 197 +--
.../main/java/org/apache/sis/io/wkt/Colors.java | 1 +
.../main/java/org/apache/sis/io/wkt/Element.java | 367 +++---
.../main/java/org/apache/sis/io/wkt/Formatter.java | 36 +-
.../apache/sis/io/wkt/GeodeticObjectParser.java | 51 +-
.../org/apache/sis/io/wkt/MathTransformParser.java | 4 +-
.../org/apache/sis/io/wkt/SingletonElement.java | 83 ++
.../java/org/apache/sis/io/wkt/StoredTree.java | 590 +++++++++
.../main/java/org/apache/sis/io/wkt/Symbols.java | 24 +-
.../java/org/apache/sis/io/wkt/WKTDictionary.java | 1131 ++++++++++++++++++
.../main/java/org/apache/sis/io/wkt/WKTFormat.java | 331 ++++-
.../main/java/org/apache/sis/io/wkt/Warnings.java | 3 +-
.../java/org/apache/sis/io/wkt/doc-files/ESRI.txt | 92 ++
.../java/org/apache/sis/io/wkt/package-info.java | 11 +-
.../sis/parameter/MapProjectionDescriptor.java | 5 +-
.../main/java/org/apache/sis/referencing/CRS.java | 2 +-
.../java/org/apache/sis/referencing/CommonCRS.java | 46 +-
.../sis/referencing/GeodesicsOnEllipsoid.java | 48 +-
.../apache/sis/referencing/GeodeticCalculator.java | 10 +-
.../apache/sis/referencing/IdentifiedObjects.java | 2 +-
.../sis/referencing/crs/AbstractDerivedCRS.java | 22 +-
.../sis/referencing/crs/DefaultCompoundCRS.java | 2 +-
.../sis/referencing/datum/DefaultEllipsoid.java | 2 +-
.../referencing/datum/DefaultGeodeticDatum.java | 48 +-
.../referencing/datum/DefaultPrimeMeridian.java | 2 +-
.../factory/CommonAuthorityFactory.java | 2 +-
.../factory/ConcurrentAuthorityFactory.java | 2 +-
.../factory/GeodeticAuthorityFactory.java | 6 +-
.../referencing/factory/GeodeticObjectFactory.java | 7 +-
.../factory/MultiAuthoritiesFactory.java | 3 +-
.../sis/referencing/factory/package-info.java | 2 +-
.../referencing/factory/sql/EPSGDataAccess.java | 8 +-
.../factory/sql/InstallationScriptProvider.java | 2 +-
.../sis/referencing/factory/sql/SQLTranslator.java | 2 +-
.../sis/referencing/factory/sql/TableInfo.java | 4 +-
.../sis/referencing/factory/sql/package-info.java | 2 +-
.../operation/AbstractCoordinateOperation.java | 6 +-
.../apache/sis/referencing/operation/CRSPair.java | 13 +-
.../operation/CoordinateOperationRegistry.java | 17 +-
.../operation/DefaultOperationMethod.java | 2 +-
.../operation/builder/LinearTransformBuilder.java | 261 ++--
.../operation/builder/LocalizationGridBuilder.java | 123 +-
.../operation/builder/ProjectedTransformTry.java | 179 ++-
.../operation/builder/ResidualGrid.java | 6 +-
.../operation/matrix/AffineTransforms2D.java | 5 +-
.../operation/projection/NormalizedProjection.java | 25 +-
.../operation/projection/TransverseMercator.java | 132 +-
.../operation/transform/AbstractMathTransform.java | 2 +
.../operation/transform/ConcatenatedTransform.java | 61 +-
.../transform/ConcatenatedTransformDirect.java | 4 +-
.../transform/ConcatenatedTransformDirect2D.java | 4 +-
.../transform/DefaultMathTransformFactory.java | 7 +
.../operation/transform/IdentityTransform.java | 2 +-
.../operation/transform/InterpolatedTransform.java | 28 +-
.../operation/transform/MathTransforms.java | 1 +
.../transform/SpecializableTransform.java | 17 +-
.../operation/transform/TransformAdapter2D.java | 6 -
.../operation/transform}/WraparoundTransform.java | 532 +++++----
.../org/apache/sis/referencing/package-info.java | 4 +-
.../sis/internal/jaxb/referencing/CodeTest.java | 2 +-
.../internal/referencing/ExtentSelectorTest.java | 147 +++
.../sis/internal/referencing/FormulasTest.java | 6 +-
.../sis/internal/referencing/WKTKeywordsTest.java | 41 +-
.../java/org/apache/sis/io/wkt/ElementTest.java | 31 +-
.../sis/io/wkt/GeodeticObjectParserTest.java | 4 +-
.../apache/sis/io/wkt/MathTransformParserTest.java | 4 +-
.../java/org/apache/sis/io/wkt/SymbolsTest.java | 12 +-
.../org/apache/sis/io/wkt/WKTDictionaryTest.java | 401 +++++++
.../java/org/apache/sis/io/wkt/WKTFormatTest.java | 3 +-
.../sis/referencing/GeodesicsOnEllipsoidTest.java | 87 +-
.../sis/referencing/GeodeticCalculatorTest.java | 116 +-
.../datum/DefaultPrimeMeridianTest.java | 2 -
.../referencing/factory/sql/EPSGInstallerTest.java | 2 +-
.../sis/referencing/factory/sql/epsg/package.html | 6 +-
.../builder/LinearTransformBuilderTest.java | 7 +-
.../operation/builder/ResidualGridTest.java | 2 +-
.../operation/projection/InitializerTest.java | 8 +-
.../projection/ObliqueStereographicTest.java | 9 +-
.../projection/TransverseMercatorTest.java | 71 +-
.../doc-files/TransverseMercatorErrors.png | Bin 0 -> 7954 bytes
.../transform/ConcatenatedTransformTest.java | 2 +-
.../transform/InterpolatedTransformTest.java | 2 +-
.../operation/transform/MathTransformTestCase.java | 2 +-
.../transform}/WraparoundTransformTest.java | 59 +-
.../report/CoordinateOperationMethods.java | 2 +-
.../sis/test/suite/ReferencingTestSuite.java | 4 +-
.../resources/org/apache/sis/io/wkt/ExtraCRS.txt | 81 ++
.../resources/org/apache/sis/io/wkt/Malformed.txt | 13 +
core/sis-utility/pom.xml | 10 +-
.../java/org/apache/sis/internal/jdk9/JDK9.java | 163 ++-
.../org/apache/sis/internal/system/Modules.java | 10 +
.../sis/internal/util/BaseStreamDecoration.java | 104 --
.../java/org/apache/sis/internal/util/Cloner.java | 76 +-
.../apache/sis/internal/util/CollectionsExt.java | 7 +-
.../apache/sis/internal/util/DefinitionURI.java | 6 +-
.../sis/internal/util/DoubleStreamDecoration.java | 201 ----
.../org/apache/sis/internal/util/Numerics.java | 2 +-
.../sis/internal/util/StandardDateFormat.java | 46 +-
.../apache/sis/internal/util/StreamDecoration.java | 219 ----
.../java/org/apache/sis/internal/util/Strings.java | 36 +-
.../src/main/java/org/apache/sis/io/IO.java | 2 +-
.../main/java/org/apache/sis/io/package-info.java | 4 +-
.../main/java/org/apache/sis/math/ArrayVector.java | 155 ++-
.../org/apache/sis/math/ConcatenatedVector.java | 10 +-
.../main/java/org/apache/sis/math/Fraction.java | 2 +-
.../org/apache/sis/math/LinearlyDerivedVector.java | 20 +-
.../java/org/apache/sis/math/PackedVector.java | 23 +-
.../java/org/apache/sis/math/RepeatedVector.java | 28 +-
.../java/org/apache/sis/math/SequenceVector.java | 10 +-
.../java/org/apache/sis/math/StatisticsFormat.java | 3 +-
.../src/main/java/org/apache/sis/math/Vector.java | 49 +-
.../java/org/apache/sis/measure/AngleFormat.java | 12 +-
.../java/org/apache/sis/measure/Longitude.java | 5 +-
.../java/org/apache/sis/measure/RangeFormat.java | 6 +-
.../src/main/java/org/apache/sis/setup/About.java | 53 +-
.../apache/sis/setup/InstallationResources.java | 2 +-
.../java/org/apache/sis/util/ArgumentChecks.java | 37 +-
.../main/java/org/apache/sis/util/ArraysExt.java | 2 +-
.../src/main/java/org/apache/sis/util/Numbers.java | 5 +-
.../apache/sis/util/collection/IntegerList.java | 38 +-
.../org/apache/sis/util/collection/TreeTable.java | 2 +-
.../sis/util/collection/TreeTableFormat.java | 4 +-
.../apache/sis/util/collection/WeakHashSet.java | 12 +-
.../sis/util/collection/WeakValueHashMap.java | 13 +-
.../org/apache/sis/util/logging/LoggerAdapter.java | 2 +-
.../apache/sis/util/logging/MonolineFormatter.java | 2 +-
.../apache/sis/util/logging/PerformanceLevel.java | 90 +-
.../java/org/apache/sis/util/resources/Errors.java | 16 +
.../apache/sis/util/resources/Errors.properties | 3 +
.../apache/sis/util/resources/Errors_fr.properties | 11 +-
.../org/apache/sis/util/resources/Vocabulary.java | 15 +
.../sis/util/resources/Vocabulary.properties | 3 +
.../sis/util/resources/Vocabulary_fr.properties | 3 +
.../sis/internal/util/StandardDateFormatTest.java | 4 +-
.../org/apache/sis/internal/util/StringsTest.java | 8 +-
.../test/java/org/apache/sis/util/ClassesTest.java | 2 +-
.../sis/util/logging/PerformanceLevelTest.java | 46 +-
ide-project/NetBeans/build.xml | 13 +
ide-project/NetBeans/nbproject/build-impl.xml | 1 +
ide-project/NetBeans/nbproject/genfiles.properties | 4 +-
ide-project/NetBeans/nbproject/project.properties | 26 +-
pom.xml | 63 +-
profiles/pom.xml | 6 +-
profiles/sis-french-profile/pom.xml | 6 +-
.../internal/profile/fra/DirectReferenceSystem.xml | 2 +-
profiles/sis-japan-profile/pom.xml | 4 +-
.../sis/internal/earth/netcdf/FactoryForUCAR.java | 123 ++
.../apache/sis/internal/earth/netcdf/GCOM_C.java | 13 +-
.../apache/sis/internal/earth/netcdf/GCOM_W.java | 57 +-
.../ucar.nc2.dataset.spi.CoordSystemBuilderFactory | 1 +
storage/pom.xml | 8 +-
storage/sis-earth-observation/pom.xml | 8 +-
.../storage/earthobservation/LandsatReader.java | 4 +-
.../doc-files/LandsatMetadata.html | 3 +-
storage/sis-gdal/pom.xml | 4 +-
storage/sis-geotiff/pom.xml | 8 +-
.../sis/internal/geotiff/Resources_fr.properties | 2 +-
.../org/apache/sis/storage/geotiff/CRSBuilder.java | 2 +-
storage/sis-netcdf/pom.xml | 8 +-
.../java/org/apache/sis/internal/netcdf/Axis.java | 222 ++--
.../org/apache/sis/internal/netcdf/AxisType.java | 179 +++
.../org/apache/sis/internal/netcdf/CRSBuilder.java | 175 ++-
.../org/apache/sis/internal/netcdf/Convention.java | 48 +-
.../org/apache/sis/internal/netcdf/DataType.java | 60 +-
.../org/apache/sis/internal/netcdf/Decoder.java | 100 +-
.../sis/internal/netcdf/DiscreteSampling.java | 12 +-
.../org/apache/sis/internal/netcdf/FeatureSet.java | 950 +++++++++++++++
.../java/org/apache/sis/internal/netcdf/Grid.java | 144 ++-
.../apache/sis/internal/netcdf/GridCacheKey.java | 31 +-
.../apache/sis/internal/netcdf/GridCacheValue.java | 77 ++
.../apache/sis/internal/netcdf/GridMapping.java | 62 +-
.../sis/internal/netcdf/{impl => }/HYCOM.java | 15 +-
.../org/apache/sis/internal/netcdf/Linearizer.java | 259 ++--
.../java/org/apache/sis/internal/netcdf/Node.java | 33 +-
.../apache/sis/internal/netcdf/RasterResource.java | 47 +-
.../org/apache/sis/internal/netcdf/Resources.java | 35 +-
.../sis/internal/netcdf/Resources.properties | 8 +-
.../sis/internal/netcdf/Resources_fr.properties | 16 +-
.../sis/internal/netcdf/SatelliteGroundTrack.java | 246 ----
.../org/apache/sis/internal/netcdf/Variable.java | 384 +++++-
.../apache/sis/internal/netcdf/VariableRole.java | 13 +-
.../sis/internal/netcdf/impl/ChannelDecoder.java | 137 ++-
.../sis/internal/netcdf/impl/FeaturesInfo.java | 426 -------
.../apache/sis/internal/netcdf/impl/GridInfo.java | 111 +-
.../sis/internal/netcdf/impl/VariableInfo.java | 365 +++---
.../sis/internal/netcdf/impl/package-info.java | 4 +-
.../internal/netcdf/ucar/CSBuilderFallback.java | 93 --
.../sis/internal/netcdf/ucar/DecoderWrapper.java | 156 ++-
.../sis/internal/netcdf/ucar/DimensionWrapper.java | 7 +-
.../sis/internal/netcdf/ucar/FeaturesWrapper.java | 17 +-
.../sis/internal/netcdf/ucar/GridWrapper.java | 72 +-
.../sis/internal/netcdf/ucar/GroupWrapper.java | 8 +-
.../org/apache/sis/internal/netcdf/ucar/Utils.java | 4 +-
.../sis/internal/netcdf/ucar/VariableWrapper.java | 260 ++--
.../sis/internal/netcdf/ucar/package-info.java | 4 +-
.../apache/sis/storage/netcdf/AttributeNames.java | 1 -
.../apache/sis/storage/netcdf/MetadataReader.java | 5 +-
.../org/apache/sis/storage/netcdf/NetcdfStore.java | 2 +-
.../sis/storage/netcdf/NetcdfStoreProvider.java | 31 +-
.../apache/sis/storage/netcdf/package-info.java | 14 +-
.../apache/sis/internal/netcdf/DataTypeTest.java | 42 +-
.../apache/sis/internal/netcdf/FeatureSetTest.java | 200 ++++
.../org/apache/sis/internal/netcdf/GridTest.java | 45 +-
.../internal/netcdf/SatelliteGroundTrackTest.java | 81 --
.../apache/sis/internal/netcdf/VariableTest.java | 28 +-
.../{VariableInfoTest.java => FeatureSetTest.java} | 24 +-
.../sis/internal/netcdf/impl/GridInfoTest.java | 9 +-
.../sis/internal/netcdf/impl/VariableInfoTest.java | 3 +-
.../org/apache/sis/test/suite/NetcdfTestSuite.java | 5 +-
.../apache/sis/internal/shapefile/AutoChecker.java | 3 +-
.../internal/shapefile/ShapefileByteReader.java | 3 +-
.../sis/storage/shapefile/InputFeatureStream.java | 3 +-
.../internal/sql/feature/BaseStreamWrapper.java | 159 +++
.../internal/sql/feature/DoubleStreamWrapper.java | 343 ++++++
.../sql/feature/GeometryIdentification.java | 2 +-
.../sis/internal/sql/feature/OGC06104r4.java | 3 +-
.../sis/internal/sql/feature/PostGISMapping.java | 7 +-
.../sis/internal/sql/feature/QueryFeatureSet.java | 2 +-
.../sis/internal/sql/feature/SQLQueryAdapter.java | 1 -
.../sis/internal/sql/feature/SpatialFunctions.java | 5 +-
.../apache/sis/internal/sql/feature/StreamSQL.java | 38 +-
.../sis/internal/sql/feature/StreamWrapper.java | 373 ++++++
.../sis/internal/sql/feature}/SubsetAdapter.java | 42 +-
.../org/apache/sis/internal/sql/feature/Table.java | 1 -
.../org/apache/sis/storage/sql/package-info.java | 2 +-
storage/sis-storage/pom.xml | 8 +-
.../sis/internal/storage/AbstractGridResource.java | 72 +-
.../org/apache/sis/internal/storage/Resources.java | 10 +
.../sis/internal/storage/Resources.properties | 2 +
.../sis/internal/storage/Resources_fr.properties | 4 +-
.../sis/internal/storage/StoreUtilities.java | 32 +-
.../apache/sis/internal/storage/URIDataStore.java | 3 +-
.../internal/storage/csv/MovingFeatureBuilder.java | 46 +-
.../storage/csv/MovingFeatureIterator.java | 11 +-
.../org/apache/sis/internal/storage/csv/Store.java | 3 +-
.../storage/folder/FolderStoreProvider.java | 3 +-
.../sis/internal/storage/io/ChannelFactory.java | 5 +-
.../internal/storage/io/HyperRectangleReader.java | 4 +-
.../sis/internal/storage/io/IOUtilities.java | 31 +-
.../org/apache/sis/internal/storage/io/Region.java | 39 +-
.../org/apache/sis/storage/DataStoreProvider.java | 8 +-
.../org/apache/sis/storage/StorageConnector.java | 4 +-
.../apache/sis/storage/StrictStorageConnector.java | 73 +-
.../apache/sis/storage/event/StoreListeners.java | 10 +-
.../sis/internal/storage/StoreUtilitiesTest.java | 34 +-
.../sis/storage/StrictStorageConnectorTest.java | 4 +-
.../apache/sis/test/suite/StorageTestSuite.java | 1 +
storage/sis-xmlstore/pom.xml | 2 +-
459 files changed, 27911 insertions(+), 7872 deletions(-)
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/gui/RecentFiles.java
delete mode 100644
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CategoryColors.java
delete mode 100644
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CategoryColorsCell.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/IsolineRenderer.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/LoadEvent.java
delete mode 100644
application/sis-javafx/src/main/java/org/apache/sis/gui/map/RenderingMode.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ColorCell.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ColorColumnHandler.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ColorRamp.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/FormatApplicator.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/FormatTableCell.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control/ValueColorMapper.java
copy {storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar =>
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/control}/package-info.java
(69%)
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/setup/Inflater.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/setup/Wizard.java
create mode 100644
application/sis-javafx/src/main/java/org/apache/sis/internal/setup/WizardPage.java
create mode 100644
application/sis-javafx/src/main/resources/org/apache/sis/gui/pseudo-classes.css
create mode 100644
application/sis-javafx/src/test/java/org/apache/sis/gui/coverage/CoverageCanvasApp.java
copy
application/sis-javafx/src/test/java/org/apache/sis/{gui/coverage/CoverageStylingApp.java
=> internal/gui/control/ValueColorMapperApp.java} (54%)
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/image/BandedIterator.java
delete mode 100644
core/sis-feature/src/main/java/org/apache/sis/image/DefaultIterator.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/image/ErrorAction.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/image/ErrorHandler.java
delete mode 100644
core/sis-feature/src/main/java/org/apache/sis/image/LinearIterator.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/TileErrorHandler.java
copy
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
=>
core/sis-feature/src/main/java/org/apache/sis/internal/feature/AbstractGeometry.java
(51%)
rename
core/sis-feature/src/main/java/org/apache/sis/internal/feature/{DateList.java
=> InstantList.java} (72%)
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeatures.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/EmptyShape.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/FlatShape.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/MultiPolylines.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PathBuilder.java
copy
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
=>
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Polygon.java
(62%)
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Polyline.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/CompoundFuture.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/IsolineTracer.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/Isolines.java
create mode 100644
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image/TiledProcess.java
copy {storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar =>
core/sis-feature/src/main/java/org/apache/sis/internal/processing/image}/package-info.java
(68%)
create mode 100644
core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridOrientationTest.java
create mode 100644
core/sis-feature/src/test/java/org/apache/sis/image/BandedIteratorTest.java
create mode 100644
core/sis-feature/src/test/java/org/apache/sis/image/ImageProcessorTest.java
rename
core/sis-feature/src/test/java/org/apache/sis/image/{DefaultIteratorTest.java
=> PixelIteratorTest.java} (88%)
create mode 100644
core/sis-feature/src/test/java/org/apache/sis/internal/feature/j2d/FlatShapeTest.java
create mode 100644
core/sis-feature/src/test/java/org/apache/sis/internal/processing/image/IsolinesTest.java
create mode 100644
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/ExceptionPresentation.java
delete mode 100644
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/GridCanvas.java
create mode 100644
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/ListChangeEvent.java
create mode 100644
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/NotifiedList.java
copy
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
=>
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/PropertyNameCollector.java
(55%)
copy
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/VariableRole.java
=>
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/ResourceSymbolizer.java
(62%)
create mode 100644
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPortrayer.java
create mode 100644
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPresentation.java
create mode 100644
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SymbologyVisitor.java
create mode 100644
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockFeatureTypeStyle.java
create mode 100644
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockLineSymbolizer.java
create mode 100644
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockRule.java
create mode 100644
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/MockStyle.java
create mode 100644
core/sis-portrayal/src/test/java/org/apache/sis/internal/map/SEPortrayerTest.java
create mode 100644
core/sis-portrayal/src/test/java/org/apache/sis/portrayal/MapLayersTest.java
copy
storage/sis-netcdf/src/test/java/org/apache/sis/test/suite/NetcdfTestSuite.java
=>
core/sis-portrayal/src/test/java/org/apache/sis/test/suite/PortrayalTestSuite.java
(54%)
create mode 100644
core/sis-referencing/src/main/java/org/apache/sis/geometry/WraparoundInEnvelope.java
create mode 100644
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/WraparoundApplicator.java
create mode 100644
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/SingletonElement.java
create mode 100644
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/StoredTree.java
create mode 100644
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/WKTDictionary.java
create mode 100644
core/sis-referencing/src/main/java/org/apache/sis/io/wkt/doc-files/ESRI.txt
rename core/sis-referencing/src/main/java/org/apache/sis/{internal/referencing
=> referencing/operation/transform}/WraparoundTransform.java (53%)
create mode 100644
core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ExtentSelectorTest.java
create mode 100644
core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTDictionaryTest.java
create mode 100644
core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/doc-files/TransverseMercatorErrors.png
rename core/sis-referencing/src/test/java/org/apache/sis/{internal/referencing
=> referencing/operation/transform}/WraparoundTransformTest.java (79%)
create mode 100644
core/sis-referencing/src/test/resources/org/apache/sis/io/wkt/ExtraCRS.txt
create mode 100644
core/sis-referencing/src/test/resources/org/apache/sis/io/wkt/Malformed.txt
delete mode 100644
core/sis-utility/src/main/java/org/apache/sis/internal/util/BaseStreamDecoration.java
delete mode 100644
core/sis-utility/src/main/java/org/apache/sis/internal/util/DoubleStreamDecoration.java
delete mode 100644
core/sis-utility/src/main/java/org/apache/sis/internal/util/StreamDecoration.java
create mode 100644
profiles/sis-japan-profile/src/main/java/org/apache/sis/internal/earth/netcdf/FactoryForUCAR.java
create mode 100644
profiles/sis-japan-profile/src/main/resources/META-INF/services/ucar.nc2.dataset.spi.CoordSystemBuilderFactory
create mode 100644
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/AxisType.java
create mode 100644
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/FeatureSet.java
create mode 100644
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/GridCacheValue.java
rename storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/{impl
=> }/HYCOM.java (91%)
delete mode 100644
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/SatelliteGroundTrack.java
delete mode 100644
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/FeaturesInfo.java
delete mode 100644
storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/CSBuilderFallback.java
create mode 100644
storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/FeatureSetTest.java
delete mode 100644
storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/SatelliteGroundTrackTest.java
copy
storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/impl/{VariableInfoTest.java
=> FeatureSetTest.java} (73%)
create mode 100644
storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/BaseStreamWrapper.java
create mode 100644
storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/DoubleStreamWrapper.java
create mode 100644
storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/StreamWrapper.java
rename storage/{sis-storage/src/main/java/org/apache/sis/internal/storage =>
sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature}/SubsetAdapter.java
(91%)
rename
core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeature.java
=>
storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/MovingFeatureBuilder.java
(88%)
copy
core/sis-utility/src/test/java/org/apache/sis/internal/util/StringsTest.java =>
storage/sis-storage/src/test/java/org/apache/sis/internal/storage/StoreUtilitiesTest.java
(51%)