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

jsorel pushed a change to branch feat/geojson
in repository https://gitbox.apache.org/repos/asf/sis.git.


 discard 993d7d4  GeoJson : fix test cases, reduce classes scopes, fix 
checkstyle issues
 discard b8be7b8  GeoJson : reorganize packages
 discard d7e9009  GeoJson : add GeoJson DataStore
     add e79f07f  Coverage2D : add sample dimension and rendered image bands 
size match verification
     add 458f3ce  Move the microbenchmarks to test directory for avoiding to 
introduce dependencies at runtime. Fix also some javadoc errors for allowing 
the project to build with checks enabled.
     add 92f425d  Referencing bug fix: CoordinateOperation metadata were 
sometime overwritten by CoordinateSystem metadata. 
https://issues.apache.org/jira/browse/SIS-483
     add 6619c1f  Less misleading error messages when a datum shift grid such 
as NTv2 can not be found. The previous message was saying that it can not be 
read, which gave the impression that the file has been found but there were 
some problem with it.
     add a234d6d  Image : fix getData X axis iteration in getData method
     add 0f90b1a  Image : fix missing translation in 
AbstractRenderedImage.getData() method
     add fb1d4e2  Adjust indentation and omit the properties for JUnit 
versions, temporarily replaced by hard-coded version numbers. The intent is to 
inherit those version numbers from GeoAPI since they are used for the 
conformance test suite. GeoAPI migration to JUnit 5 started in the "jupiter" 
branch.
     add 0431f2e  Partial review of GridCoverage.evaluate(DirectPosition) 
method. - Add a new FractionalGridCoordinates class with some of the 
calculations done by GridCoverage methods. - Rename toGridCoord as 
toGridCoordinates and change the return type to FractionalGridCoordinates. - 
Remove toLongExact(DirectPosition), replaced by FractionalGridCoordinates.
     add 4358ee9  Adjustment in the exception thrown if grid coordinates are 
outside the given bounds.
     add 67c5d18  Add an `ImageUtilities` class for methods to be needed by 
`GridCoverage2D`.
     add 3c22971  Portrayal : add query property on MapLayer, add grid geometry 
2d on GridCanvas
     add aea19ce  Portrayal : factorize code between MapContext and MapGroup, 
add event listeners
     add 262e966  Move GridCoverage2D to public API and revisit method contract 
/ implementation.
     add a57da1e  More tests about the inferrence of band names from a color 
model.
     add 6fc05b4  Some map projections need explicit wraparound when the 
difference between given longitude and central meridian is greater than 180°. 
This commit applies the fix on Albers Equal Area.
     add 8c761eb  Apply the wrapparound longitude on other map projections that 
may be affected by this problem. A bug fix in previous commit has also be 
corrected: missing a factor 2 in θ_span calculation.
     add 42eed3c  Change strategy regarding 
https://issues.apache.org/jira/browse/SIS-486 fix by shifting longitude only if 
needed for the anti-meridian problem and not in other cases. The intent is to 
reduce discontinuities in the mathematical function.
     add e79c07b  Share code between GridCoverage and GridCoverage2D for 
implementation of their `evaluate(DirectPosition, double[])` method. Also split 
GridCoverage2DTest in two test methods.
     add e2dde20  Move in a single package all Java2D dependencies (except 
public API) used by grid coverage.
     add 5491224  Fix compiler error in Javadoc.
     add 76376e3  Add an ImageUtilities.createGrayScale(…) factory method.
     add d768f64  Complete AbstractRenderedImage and add an initial test.
     add 0f3ada7  GridCoverage2D.toString() provides some information about the 
image (origin, tile size, data type, whether the image is opaque).
     add 8f5a5a8  Add one more test.
     add eb10ec8  Modify the semantic of TranslatedRenderedImage for storing a 
location instead than a translation. Rename that class as RelocatedImage to 
reflect that semantic change.
     add ca3387e  Move RelocatedImage as a package-private class accessible 
(for now) only from public static function. Rename AbstractRenderedImage as 
PlanarImage (taking inspiration from Java Advanced Imaging - JAI) with the 
intent to set it as the base class of most RenderedImage implementations in 
Apache SIS.
     add c39230c  Move RelocatedImage in the org.apache.sis.coverage.grid 
package and make it more specific to GridCoverage2D purpose. In particular we 
add the capability to produce a smaller image by retaining only the tiles 
needed for the request.
     add 9a6ace7  Remove one level of indirection when the image given to 
GridCoverage2D is a RelocatedImage. Relax the check for sample model size 
compared to tile size.
     add bc51b96  Rename RelocatedImage as ReshapedImage because this class can 
also change the image size.
     add 62cea41  Share TiledImageMock implementation with other tests.
     add a32a606  Add more tests for ReshapedImage and fix a few bugs in this 
process.
     add eb9ad25  Move PlanarImage in public API. I think it has reasonable 
chances to be stable now.
     add 6ef7876  Initial implementation of CachedImage. The intent is to hold 
the result of operations applied on other images. After completion, it will 
replace ConvertedGridCoverage.
     add 963004a  Avoid a NullPointerException on call to `getMetadata()`.
     add ae19e93  Base class for image operations.
     add bd7b424  Rename CachedImage as ComputedImage and retrofit part of 
ImageOperation in it.
     add be0c053  Add ImageLayout as a helper class for setting the tiling used 
by ComputedImage.
     add efd6eaa  Move ComputedImage in public API.
     add 2dff54f  First draft of BandedSampleConverter (not yet tested).
     add ac2fc3e  Add tests for BandedSampleConverter.
     add b1dc326  Add test for ComputedImage.
     add b372f87  Consolidation of Raster/ColorModel/SampleModel factories.
     add e8aa999  Replace ConvertedGridCoverage body by new code usinb 
BandedSampleConverter. We lost write capability in converted values for now.
     add db59cb5  Move a WKT utility method to WKTUtilities internal class.
     add 22ea241  ComputedImage tracks changes in its WritableRenderedImage 
sources in order to know which tiles to recompute.
     add 5d08bd4  Clarify ComputedImage assumptions on pixel coordinate system.
     add 6f551c4  ConvertedGridCoverage should provide a non-null ColorModel.
     add c7b967d  Move ConvertedGridCoverage to package-private class.
     add edfff44  Add a check for null JNDI context.
     add 6380604  Begin support of WritableRenderedImage in ComputedImage.
     add e2a8c3d  ComputedImage consolidation: - Remember when we failed to 
compute a tile. - Detect when a tile goes from having no writers to having one 
writer, or conversely. - Add documentation about behavior when image is also 
WritableRenderedImage.
     add 0d36b92  Add a `clearErrorFlags` method and add tests.
     add 0773330  Documentation update, in particular about 
WritableRenderedImage synchronization issue. 
https://issues.apache.org/jira/browse/SIS-487
     add 4322a73  Writing in ConvertedGridCoverage can now retro-propagate the 
changes to original WritableRenderedImage.
     add 7624b44  Retro-propagation of changes in converted values need to 
verify the bounds of the region to propagate.
     add 4bba629  Test of BufferedGridCoverage can share the test of 
GridCoverage2D (reduce code duplication).
     add ce51d34  After doing retro-propagation of converted values to source 
integer values, we should declare the tiles as dirty because converting back to 
"geophysics" values may produce slightly different results.
     add 49c68b4  Leverage ArgumentChecks.ensureNonEmpty(…) where appropriate. 
Restore some import statements to their original order for reducing the risk of 
conflicts when we will merge to master (we will need to choose later a more 
general approach for managing import statements).
     add 1c506b3  Move Schemas constant into CodeListUID for avoiding 
confusion: those URL are no longer the URL where to download the XML schemas 
since the protocol changed from "http" to "https". They are now only namespace 
for "codeList" ou "uom" attribute values in some XML elements. 
https://issues.apache.org/jira/browse/SIS-480
     add 3b73a08  Add axis names for extra-terrestial planets.
     add 3993e51  Documentation updates and minor code adjustments. Some import 
statements were restored to their original order to reducing conflicts when we 
will merge to master (the use of automatic tools for managing import statements 
is a question to be revisited later).
     add b9bfce3  Rename Features.castOrUnwrap(IdentifiedType) as 
Features.toAttribute(IdentifiedType) and use it where appropriate.
     add b961b32  Bug fix: read character set if not empty.
     add b9fe509  Conservatively fix CPG encoding to US_ASCII. Unwrap 
UncheckedIOException (or similar "exception wrappers") before to wrap them in 
ImagingOpException.
     add d70c166  Move QuadTreeWriter close to QuadTreeReader. We do this move 
for making history a little bit cleaner.
     add 3954de8  Remove application/sis-webapp implementation but keep the 
module for future development. This module has not been maintained for 7 years, 
still had links to incubator, has been reported to not work anymore (e.g. all 
links in "sis-location-config.xml" are dead) and is the only module using the 
QuadTree class, which may need incompatible API changes as warned in its 
javadoc. This module has been excluded from Apache SIS 1.0 release for above 
reasons. A reboot of this effor [...]
     add e4dba07  Refactor QuadTree: - Remove the assumption that coordinates 
are geographic. - Remove hard-coded constants for Earth radius. - Remove 
requirement that values implement QuadTreeData. - Allow any kind of Object 
specified by generic type. - Perform search with parallelizable streams. - 
Prepare for generalization to k-dimensions.
     add c2a2897  Move QuadTree implementation into KDTree after generalization 
to the n-dimensional case. Tested in two-dimensional case but not yet with 
higher dimensions. For now the maximal number of dimensions is 6.
     add f23b1d0  Move the KDTree/QuadTree implementation to sis-feature module 
and rename as PointTree (as opposed to "region QuadTree" or to RTree).
     add 2ce1448  Add documentation and more argument checks.
     add 5d975b2  First version of PointTree as a java.util.Set implementation. 
Optimized version of `contains` and `remove` to be provided in a next commit.
     add a579136  Implement PointTree.contains(Object). Implementation of 
removal operation is differed to a later version.
     add 29ac56d  Initial implementation of Spliterator.trySplit() for 
parallelism during PointTree traversal. Implementation is incomplete since it 
splits only the first node; we should go down in other nodes too.
     add b0b189c  Minor cleanup on filter package. The change in imports order 
is for reducing the risk of conflicts when code will be marged to master.
     add 8737d30  Trivial formatting.
     add 262c864  Rename WrapResolution as WraparoundStrategy and minor 
formatting.
     add bebba43  Add a test for NodeIterator.trySplit().
     add 7e8d056  Minor documentation correction, argument checks and add 
"TODO" tag for remembering next work to do.
     add 6fee246  Review of the methods added in Geometries internal class: - 
Be more specific about whether we unwrap GeometryWrapper or not. - Keep 
classical loops in this case. Actually since those loops are very small,   
applying lambda in Geometries require about twice more lines of code than 
loops. - Revert to package-private access some methods that, when public, 
encouraged the   writing of code specific to a single geometry library. - 
Change some implementation to have a consisten [...]
     add a3ddd65  Add a copy constructor to PointTree. This constructor share 
the data structures than can safely be shared, in order to reduce memory usage.
     add f7b4b91  Use a pre-allocated buffer for storing the coordinate values 
during traversal of elements in a PointTree.
     add 40a0cee  Remove use of @Generated annotation.
     add 08012a9  Add documentation about purpose of a method and what 
improvement could be done.
     add db11d82  Provide more control on the way to handle wraparound axis 
(e.g. longitude crossing the anti-meridian): - Move WraparoundMethod 
enumeration to public API and document more. - Add a 
GeneralEnvelope.wraparound(WraparoundMethod) method. - Add a 
GeneralEnvelope.horizontal() method (side-effect of next point). - Refactor 
Geometries.toGeometry2D(Envelope, WraparoundMethod) to use GeneralEnvelope 
methods. - Replace "envelope spanning the anti-meridian" by "envelope crossing 
the  [...]
     add 6aa28f8  Modify the JTS factory class for building JTS Polygon more 
directly, and complete javadoc.
     add e165916  Change strategy about the way we handle different geometry 
libraries (ESRI, JTS, Java2D). The previous strategy was to put all methods in  
   Geometries class, which was okay for a small number of methods. But with 
recent increase in number of methods, the Geometries class was becoming more 
convolved and inefficient. The new strategy moves non-factory methods (geometry 
instance methods) in the GeometryWrapper class, which starts behaving a little 
bit more like an API abstrac [...]
     add 617c6d0  fix(Feature): Do not fail decoding a linestring with only 
three points whose first and last are the same.
     add 28e8dc3  Keep the previous order of import statements for now. We will 
need some mechanism for handling that automatically in the future, but for now 
the intent is to reduce the risk of merge conflicts when the "geoapi-4.0" 
branch will be merged to "geoapi-3.1" and "master" branches.
     add e8a77fa  Resolve a race condition during class initialization: a 
Factory.INSTANCE field may be temporarily null during Factory class 
initialization if the initialization of that class started before Geometries 
class initialization.
     add b2d5797  Remove empty implementations of methods that were removed 
from GeoAPI-pending.
     add d0c9b54  Add a window for showing data (Features in current version, 
coverages in a future commit).
     add 1203628  Move window management in a separated WindowManager class.
     add 871fa33  Minor documentation fixes and interrupt loading when the 
FeatureSet is discarded.
     add f7798ef  First draft of a control showing sample values from a large 
tiled image.
     add a70927e  Fix numerous problems in the initial GridView implementation 
(horizontal scroll bar was not visible, too many GridCell nodes were created, 
etc.)
     add 60f9fee  Fix broken link.
     add ee71343  A little bit of formatting improvements.
     add 65e63cc  Complete the formatting of header row on top of the grid view 
area.
     add d0c3715  Add a little bit more space to the header row. This use of 
`cellSpacing` for that purpose is a little bit arbitrary.
     add 574fd06  Implement loading of tiles in background thread.
     add e2fb98c  Prevent having many threads requesting the same tile.
     add 7fa7573  Replaced the `loading` flag by `status` with more advanced 
cabability to report error.
     add 054d322  Portrayal : update mapitem API
     add b03c4e0  Fix an error in check for y bounds when 
RenderedImage.getMinY() is not zero. Numbers shown in header column and header 
row should starts at RenderedImage.getMinX() and getMinY().
     add 48f9399  Fix layout of error message.
     add bac4f07  In case of failure to fetch tiles, show error controls for 
every failed tiles instead than only the "widest" one. Actually it makes code 
simpler.
     add 131091f  Add a test application for manual testing of GridView.
     add 3bcec55  Use a fixed seed for avoiding a random (even if rare) test 
failure.
     add bfd2d3c  Give a way to export metadata information, through clipboard 
for now.
     add fd6d394  Copy also the Coordinate Reference System, in WKT or GML.
     add 3f6570e  The call to Arrays.sort(…) make unecessary the attempt to 
write indice in increasing order, which we the purpose of System.arraycopy(…) 
call.
     add cd4198d  Fix header row (was not visible anymore).
     add b07299c  Connect Gridview to the ResourceExplorer: grid data are now 
shown when a GridCoverageResource is selected.
     add 3605f9a  An attempt to fix the problem of cells sometime missing in 
header rows the fist time that the grid is shown.
     add b6a1403  Remove methods that we are not sure enough they will be 
appropriate.
     add 2709d98  Add an API for requesting only an overview. Not yet fully 
enabled since subsampling would require an improvement in GridView.
     add 08bc5dc  Show converted values (instead of "raw" sample values) in 
GridView. The converted values are the values in unit of measurement like °C, 
after application of transfer function.
     add 0bbdf79  Revert "An attempt to fix the problem of cells sometime 
missing in header rows the fist time that the grid is shown." It did not worked 
better. Since the problem appears only in some occasions and disappear on the 
first scrolling action, we leave it as it for now. This reverts commit 
3605f9aa45fd9e71071f873a70e3caa4e63bc1b8.
     add 22d2a86  Fix wrong value initially shown when the first values are NaN.
     add c322484  Load grid data only if the "data" tab content is visible.
     add cf18ddf  Show coverage data in a separated window, with initial set of 
controls (only a list of sample dimensions for now).
     add 5e91876  List the sample dimensions in CoverageExplorer.
     add 09cd4dd  Fix a NullPointerException.
     add e6f51e8  Handle formatting of cell values in a separated class, for 
making easier to share with the table of sample dimensions (to be provided in a 
future commit).
     add 8c19cc0  Show coverage sample dimensions in a table, with min/max 
values and units of measurement.
     add ac017a7  Finally found the cause of header row sometime not showing.
     add 6e86c5e  Provide controls for cells size.
     add 335984c  Remove the control for cell spacing since it is likely to be 
more confusing than helpful.
     add 136d403  Highlight the cell under mouse position. We will provide 
geographic coordinates of that cell in a future commit.
     add 37696ea  Display geographic or projected coordinates of selected cell.
     add b4ba732  Fix an horizontal offset in the selected cell.
     add 55f5813  Make native (implementation-dependent) NetCDF metadata 
available.
     add 1fd64e4  NetCDF native metadata should include attributes of variables 
(in addition of global attributes).
     add 3c438f1  Allow special case for parsing units of measurement in GCOM-W 
files.
     add 92dc482  Update the values shown in GridView according the band 
selected in the sample dimensions table.
     add 012d9b3  Add documentation on some portrayal classes.
     add 2eafd3c  Edit javadoc for `MapLayer`. Note: we omit the message saying 
that this class may change in future version; this is the case of anything in 
"internal" packages.
     add 7db89b6  Fix a NullPointerException (bug identified by Johann).
     add 0d04f2d  Renamed "resource" property as "data".
     add dc3f688  Javadoc.
     add fc88ca5  Javadoc clarification, second round.
     add c936bda  Start drafting a Canvas class as the common abstraction for 
implementations that manage the display of MapLayer instances.
     add a4c302f  Defines the 4 fundamental properties of Canvas and document 
their purpose and constraint.
     add 32546a8  Rename Canvas2D as PlanarCanvas because the constraint is not 
only to be two-dimensional, but also to use a Cartesian coordinate system (as 
opposed to the coordinate system of planetarium dome for example).
     add 3fd95d9  Add a Matrices.createAffine(Matrix, DirectPosition) method, 
to be used by ongoing work on Canvas.
     add 7c0e987  Add a MathTransforms.tangent(MathTransform, DirectPosition) 
method for computing linear approximation of a MathTransform at a given 
location.
     add 480c551  Start writting the actual code for Canvas (not yet completed).
     add 62eb5d1  First draft of Canvas.getGridGeometry() taking in account the 
supplemental dimensions (i.e. the dimensions of the Point Of Interest that are 
not in the objective CRS).
     add e86ef7f  Complete Canvas.getGridGeometry() - not yet tested.
     add 5b1726a  First implementation of Canvas.setGridGeometry(…) - not yet 
tested.
     add ffe449c  Do not fire "gridGeometry" property change anymore and add 
documentation explaining the policy.
     add 88b18df  First draft of Canvas.getGeographicArea() and 
getSpatialResolution(), and use those information when searching for a 
CoordinateOperation.
     add c060095  Document the approximation done regarding 
CoordinateOperationContext when changing the objective CRS or the Point Of 
Interest (POI). Replace the use of "Authalic radius" by "Radius of conformal 
sphere" at the latitude where the spatial resolution is computed.
     add 292c356  Review the NTv2 grid reader before upgrade to multi-grid 
support. Opportunistically prepare to support NTv1 in addition to NTv2.
     add b0f4cd9  Fix a (previously random) test parameter value for avoiding 
random test failures.
     add 9d2b7b5  Read all sub-grids and organize them in a tree (not yet 
stored). We still have to resolve the case where there is more than one root.
     add b25ef83  Change the strategy in the way the DatumShiftGrid tree is 
contructed by NTv2 loader. In other classes, improve a bit the documentation 
and the toString() result.
     add 8a462de  Port MosaicCalculator from Geotk (was named 
"RegionCalculator") for use by DatumShiftGridGroup, itself used by NTv2 reader 
when a NTv2 file contains more than one grid without common parent. The intent 
is to figure out how to layout the 114 sub-grids found in NTv2 file when the 
file provided limited information about the parent-child relationships, 
especially close to the root.
     add 327b2df  Refactor a bit DatumShiftGridGroup for computing sub-grid 
coordinates in a more direct way than using AffineTransform. This change allows 
us to fix a bug, where the translation that we got was not adjusted for the 
different size of the cell.
     add e900738  Renamed MosaicCalculator as TileOrganizer.
     add ce34db4  Renamed TranslatedTransform as TileTranslation.
     add 901921c  Consolidation of multi-grids NTv2 support with the addition 
of documentation and tests.
     add c484cfb  When a point to transform is outside all sub-grids provided 
by a NTv2 file, take the nearest grid.
     add e16a2c4  Change the policy of DatumShiftGrid.getDomainOfValidity(): 
compute the envelope from cell center, not cell border. This is necessary for 
avoiding spurious overlaps when two grids are side-by-side (in principle 
without overlapping) but one grid has larger cells than the other other grid. 
The 0.5 cell expansion caused the grid with larger cells to overlap the grid 
with smaller cells. This problem happens with NTv2 datum shift grid.
     add ffe4da9  Delegate the choice of NTv2 sub-grid to 
SpecializableTransform. With this commit, 
DatumShiftGridGroup.interpolateInCell(…) really become only a fallback (except 
during inverse transforms).
     add cd87c70  Replace the half-backed mechanism in SpecializableTransform 
by something closer to an R-Tree. This is not yet a "professional" R-Tree; it 
requires that nodes for widest areas are added first and even in those 
condition the tree may not be well equilibrated. But it will hopefully do the 
work for the foreseeing time until we implement a real R-Tree.
     add c50586b  Add "National Transformation version 1" (EPSG:9614) operation 
method.
     add a581d4e  Replace `distance` method by `distanceSquared` for avoiding 
the Math.hypot(…) cost.
     add a4bf8d4  Make GridDerivation more flexible in two ways: 1) If both 
envelopes contain only an Envelope, compoute the envelopes intersection. 2) If 
only a margin is specified, apply that margin even if no other change is 
specified.
     add 8f4d5c3  Move TileTranslation as an inner class for keeping it close 
to the only code where it is used.
     add 717c52b  Rename Tile.getAbsoluteRegion() as getRegionOnFinestLevel() 
and add check against integer overflows.
     add cbcfca6  Provide control on the number of fraction digits shown in the 
GridView cells.
     add e557a14  Initial version of a viewer of RenderedImage.
     add 6f54acf  Fix a ClassCastException reported on mailing list.
     add 8032164  Documentation cleanup.
     add 0853138  Handle the case where the longitude value of the point to 
transform using a datum shift is on the other side of the ±180° meridian 
compared to the region where the grid is defined. Example: NADCON file for 
Alaska which is defined in the [−194° … −127.875°] range of longitude value, so 
the +170° longitude needs to be converted to −190° before it can be used.
     add f8b3f5e  First attempt to apply the fix for NADCON grids crossing 
anti-meridian to NetCDF localization grids crossing the anti-meridian. Current 
fix may be okay for grid without rotations or with a 90° rotation, but may not 
be okay in the general case. A better fix may require an API change in 
DatumShiftGrid.replaceOutsideGridCoordinate(…).
     add e11726f  Change DatumShiftGrid.replaceOutsideGridCoordinates(…) API 
for processing all dimensions at once. This is needed when a shift of 360° of 
longitude (for example) corresponds in a change of grid indices in all 
dimensions, because the grid is inclined.
     add 7e9faf3  Basic navigation between the window showing tabular data and 
the window showing the image (empty for now).
     add c46f427  Workaround a bug of BufferedImage.getTileGridXOffset() / 
getTileGridYOffset() not returning zero (contrarily to what their javadoc said).
     add e819438  Add reference to bug 
https://bugs.openjdk.java.net/browse/JDK-8166038
     add 89b6293  Consolidation of the we relate "tabular data window" and 
"visualization window".
     add 149e764  Fix a NullPointerException when showing the FeatureTable 
window before the corresponding tab in the overview window has been made 
visible.
     add 8ade352  Try again to fix the problem of missing column headers. This 
hack seems to work.
     add 7193100  First draft of a CoverageView window showing the image 
(identity transform only for now).
     add 2d4382a  Add transparency support in images backed by ScaledColorSpace.
     add 0b64c9b  Consolidation of ScaledColorSpace / ScaledColorModel.
     add 3195e47  Reduce the number of Locale object we carry. They are not 
needed at this time since the application is shown in default locale only, and 
the information is tedious to transfer between various objects.
     add b08e247  Reorganize the construction of CoverageExplorer in a way that 
make easier to provide different views (tabular or image) of the GridCoverage 
in the same DataWindow. First draft of controls for the GridCoverage rendered 
image.
     add 8d17146  Remove (for now) the code managing related windows since it 
is no longer used. We may bring it back later but in another form.
     add cffed6a  Provide more control on the image shown. Control on 
background color make easier to distinguish the missing values. Control on 
range to use for scaling gray tone will in in place but the actual action will 
be the purpose of the next commit.
     add aaf65e7  Define a policy about thread pool in Apache SIS: JDK common 
pool reserved for short computational tasks without blocking operations, 
sis-util pool for longer potentially blocking tasks limited to the number of 
available CPU, and sis-javafx pool for immediate execution regardless if CPU 
are already busy or not. Initial version of TileOpExecutor capable to 
parallelize the operations on a RenderedImage using sis-util thread pool. First 
draft of ImageOperations convenience m [...]
     add 7514d35  Rename PropertyCalculator as AnnotatedImage (the properties 
are the annotations) and expose less implementation details. Allow sequential 
computation for the RenderedImage implementations that are not thread-safe. Add 
tests.
     add d1e0024  Move out the formatting code that check for special types 
(InternationalString, ControlledVocabulary, Enum, Locale, TimeZone, Currency, 
Charset, etc.) so it can be shared by the JavaFX application. The intent is to 
have range of values (given as array of 2 elements) shown in a readable way.
     add ca055b6  Provides default values for more properties in a netCDF 
Coordinate Reference System for making possible to open a file even if the CRS 
is not well defined.
     add f2e9be1  Use a fallback coordinate system when we can not determine 
its type.
     add 39c5396  Adjust the number of fraction digits shown in coordinate 
values according the pixel resolution at that position. This resolution may 
change at any position if the `gridToCRS` transform is non-linear.
     add 5b6f88a  Consolidation of the policy about handling of errors during 
statistics computation.
     add 52c0706  Cache previously computed values even if they were computed 
by other AnnotatedImage instances, as long as they were doing the same 
operation on the same image.
     add 9c1c34c  Manage the cache in AnnotatedImage class instead than 
ImageOperations for a better separation of tasks. A future version of 
ImageOperations may create other kinds of images, in which case we would 
probably not want to mix the caches. Also clarify the policy about error 
management: we cache only the properties computed fully without errors.
     add 626cf06  Use statistics for adjusting the minimum and maximum values 
between which the gray scale tones are applied.
     add 8aa76e3  Render image in background for avoiding to block the JavaFX 
thread.
     add ab5f516  Show the geographic coordinates of pixel under mouse pointer.
     add a126136  Provides an indication that work is in progress and report 
error in the status bar.
     add 530a5af  Avoid sending tons of repaint requests if a rendering process 
is already in progress.
     add a203f47  Make ImageOperations configurable.
     add cab811d  Move in a `MapCanvas` parent class the map rendering that can 
be done with any Graphics2D handler, not only `RenderedImage`.
     add 8fd1a2f  The AffineTransform used for rendering coverage needs to be 
the concatenation of "grid to CRS" + "objective to display", assuming that 
"grid CRS" = "objective CRS". This will be needed later for zoom, translations, 
etc.
     add 5d63cb1  Zoom out for showing the full coverage.
     add 8f5c507  Center the image.
     add da15d49  Move the computation of initial zoom to the MapCanvas parent 
class, so it can be used by other implementations than `CoverageView`.
     add f85e424  Be a little bit more tolerant to NaN values during the "units 
to sample" conversions. Previous behavior was to throw a TransformException 
because we don't know which value to use. This commit relaxes a little bit this 
behavior with the following heuristic rules:
     add 0280ffb  Fix a MismatchedDimensionException when extracting the 
horizontal component of a three-dimensional ProjectedCRS.
     add bda2ec8  Comment formatting.
     add 6ff3fd2  Move in a separated class (LocalDataSource) the code from 
Initializer.getDataSource() which was managing a local installation of the 
database. With this move, it is easier to manage an alternative database 
(HSQLDB) in addition to Derby for local storage.
     add 8011fe0  In a call to `GridGeometry.reduce(…)`, the number of CRS 
dimensions is not necessarily the same than the number of grid dimensions.
     add 1f4f6e4  When invoking GridGeometry.reduce(…), try to reduce the 
number of CRS dimensions by the same amount than the reduction in grid 
dimensions.
     add 221bbc1  Compensate for non-square pixels when computing with CRS axes 
are more closely related with grid axes.
     add 3d1ad33  Remove support for JavaDB.
     add 97edb07  Minor documentation updates. Addition of a more efficient 
`PixelIterator.getPosition(double[])` method.
     add 112f191  When rounding from Envelope to GridExtent result in lower == 
upper, must ensure than [lower … upper] contains the coordinate.
     add 19a38a2  Fix GCOM-C unit of measurement. Avoid displaying extraneous 
fraction digits.
     add b37fde6  Try to produce better identifiers and title for netCDF 
variables. The identifier excludes the "long_name" attribute, which is sometime 
more like a sentence than an identifier (the standard name or variable name 
provides more stable identifiers). Conversely the `metadata.citation.title` 
uses the "long_name" attribute as first choice, formatted in a way more like 
English sentence (with '_' and CamelCase replaced by space). Variable names are 
declared as citation identifier [...]
     add 791558a  Allow DecimalFormat precision to be set even if the CRS is 
unknown (in which case a generic number format is used).
     add facc539  Coverage : add GridCoverageBuilder helper class
     add 8f1e806  Begin implementation of "Modified Azimuthal Equidistant" 
projection (EPSG:9832). Only forward projection for now. Inverse projection and 
derivative will be in a next commit.
     add 9d4fa26  Coverage : add GridCoverageBuilder tests
     add 95e0ce2  Compute the `gridToCRS` transform is a `GridGeometry` is 
given with only an envelope.
     add 3fdbc4c  Implement ModifiedAzimuthalEquidistant.inverseTransform(…). 
Rewrite some equations using trigonometric identities for reducing the amount 
of trigonometric operations.
     add ebc9c64  Coverage : add setValues(WritabableRaster) method on 
GridCoverageBuilder
     add aef299e  BufferedGridCoverage : fix buffer size verification, number 
of banks was ignored
     add f8aa040  Add "Azimuthal Equidistant (Spherical)" projection (no EPSG 
code). The main purpose will be to provide an approximation of the derivative.
     add c69d648  Define ModifiedAzimuthalEquidistant as a subtype of 
AzimuthalEquidistant.
     add 9d80cb1  Coverage : add method to flip axis in GridCoverageBuilder
     add 0045413  Implement derivate for "Azimuthal Equidistant (Spherical)" 
projection.
     add 7336b1c  Tune the checks for error conditions in GridCoverage and 
BufferedGridCoverage construction.
     add a01eaf3  Reduce the amount of copy-and-paste in the test and add some 
assertions. This review does not yet include the change of exception type.
     add 06a685d  Add more javadoc in GridCoverageBuilder and replace code 
copied from other classes by method calls. This required to modify the API of 
some invoked methods (package-private API only).
     add 0349b33  Remove commented-out methods that were creating an image from 
arrays. They will be in the history if we want to bring them back. Those 
methods are omitted because they implied a copy of all sample values, 
contrarily to all other `setValues(…)` methods which copy only a reference.
     add d84d464  Remove the creation of a dummy SampleDimension in the test of 
setValues(DataBuffer); this is not needed anymore.
     add e198880  Select the same visible band than the source image.
     add 976898a  Add a Features.getLinkTarget(…) method for determining if a 
PropertyType is a link.
     add ace1eed  Minor cleanups.
     add 3ccfaea  First implementation of ResampledImage for raster 
reprojection support. https://issues.apache.org/jira/browse/SIS-493
     add 9c29e45  Rename Interpolator as Interpolation.
     add bc36b68  Add Lanczos interpolation (experimental).
     add c92fbca  Add a simple interpolation test.
     add a9d62ad  Rename InterpolationTest as ResampledImageTest and add more 
tests.
     add 1e87bbd  Renamed ImageOperations as ImageProcessor.
     add cbbfb4e  Initial draft of a GridCoverage "resample" operation. This 
starting point process only 2D coverages with a complete target grid geometry.
     add 485df91  Add nearest-neighbor interpolation.
     add e2f3f2a  Compute a default GridExtent during resampling operation if 
it was not specified by user.
     add 2f78016  Add a method for computing immediately an image.
     add 4fe9e7e  Correction in the way to compute the `gridToCRS` of target 
grid geometry.
     add 8ec46f6  Allow some tolerance when comparing two `GridGeometry` 
objects. It allows to detect more easily when a `GridCoverage` can be used 
unchanged.
     add 9043e33  Add test class for `ResampledGridCoverage`.
     add 61196ea  In ResampledGridCoverage.render(…) converts the `sliceExtent` 
from target grid coordinates to source grid coordinates. Use ImageProcessor for 
creating ResampledImage.
     add 2e525a8  Add an offset to default "grid to CRS" transform so that grid 
coordinates near the point of interest are integers in both grids.
     add 8d8b09f  Avoid resampling the data when the operation can be 
represented by a change of "gridToCRS" transform.
     add 0bdce38  If users specified an envelope, use it for computing the 
sub-region to resample.
     add 46059c2  Filter : fix ST_Point and ST_LineString not parsing crs when 
integer or string
     add 983c69f  Make a best effort for reusing existing computation results, 
for avoiding spending CPU for e.g. resampling twice the same image.
     add bfe5583  Make processor configuration cloneable and use them in 
`ResampledGridCoverage`.
     add cf9962a  Interpolation should be done on floating point values when 
they exist. This is required for handling correctly the missing values.
     add e52cc8e  Begin the port from Geotk project of the code using a 
precomputed grid of coordinate values for image resampling operations.
     add 82ea59b  ResampleGrid implements MathTransform2D.
     add 6d07eb4  Checkstyle correction.
     add 307f3cf  Add more tests for ResamplingGrid.
     add 27172a4  Minor formatting.
     add 1960207  Try to be a little bit stricter on the check about whether a 
ResamplingGrid tile is close enough to a linear transform.
     add 84f904e  Remove (at least for now) 
roundIfAlmostInteger(AffineTransform) since it is not sure that the benefit is 
worth the risk.
     add c0ad361  Add more interpolation tests. Contains a correction about the 
size of ResampledImage tiles.
     add c45277f  Rearrange tests with a separated class focussing on 
`Interpolation` only (without going through `ResampledImage`).
     add ff5e15e  Include the Japan profile in JavaFX application because it 
provides access to more file formats. Opportunistic replacement of 0 literal by 
constant value.
     add 5c85521  Fix an IndexOfBoundsException when the "visible band" is -1 
(sentinel value for information not available).
     add eb3f52c  Provides an icon for making easier to identify SIS when 
switching between different applications.
     add b3ba51b  Add a button for getting more information about an error 
while loading resources. Fix exceptions in netCDF reader which occurred when a 
variable is not a coverage.
     add 54c4fc6  Basic zoom and pane services on the map view, not yet using 
the full resolution available.
     add 7972946  Repaint the map after a zoom or pan gesture. It allows the 
viewer to fetch new data for the new region and resolution.
     add 4c63b80  Fix an application freeze when an image operation executed by 
`TileOpExecutor` recursively uses `TileOpExecutor` on another image.
     add d7d7b7f  Make code a little bit more type safe.
     add 6f8ff41  Fix some anomalies observed when zooming or panning the map 
for a time long enough that some rendering happen during the gesture. This 
commit fixes some problems but not all of them; more investigations are needed.
     add a33b746  Replace http links by https and minor documentation fixes.
     add f6c88a1  Add missing parameters in the internal `toString()` 
representation of some map projections.
     add cac009d  Simplify the handling of transforms by updating a single 
Affine instance instead than adding/removing instances in the ObservableList.
     add a0bcc59  Fix the anomalies (jumps in image position) that we observed 
when zooming and panning faster than the repaint events.
     add 4973476  Consolidation of the rendering process.
     add f938b54  Removed unecessary calls to 
super.succeeded()/cancelled()/failed().
     add 89ec44d  Separate the case of nodes to move together with the map 
("floatingPane") with the nodes to keep at fixed positions regardless pans, 
zooms and rotations ("fixedPane").
     add fba5c2b  Add listeners to keyboard, track pad or touch screen for 
navigation.
     add be8e094  Check for spherical case in Modified Azimuthal Equidistant 
projection.
     add f2f5771  separate the Java2D-specific rendering code in MapCanvasAWT 
subclass. It allows to use MapCanvas base class with pure JavaFX graphics.
     add e51cfe5  Fix wrong position when performing pan or zooms with keyboard 
while the map is rendering in background thread.
     add 19b59af  Provides a Widget base class for making easier to locate SIS 
widgets.
     add 2f96f80  Improve StatusBar, make it public and make it useable with 
arbitrary MapCanvas.
     add 7893dbd  Rename CoverageView as CoverageCanvas and make public with 
better separation of tasks.
     add 24c4bea  More control on the initial coverage view (image versus 
tabular data).
     add f9154f7  Move `PlanarCanvas` and dependencies in public package. They 
were already visible because of `MapCanvas` extending `PlanarCanvas`.
     new 979f433  GeoJson : add GeoJson DataStore

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (993d7d4)
            \
             N -- N -- N   refs/heads/feat/geojson (979f433)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

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-javafx/pom.xml                     |   26 +-
 .../main/java/org/apache/sis/gui/DataViewer.java   |   37 +-
 .../src/main/java/org/apache/sis/gui/Widget.java   |   57 +
 .../sis/gui/coverage/BandSelectionListener.java    |   64 ++
 .../sis/gui/coverage/CategoryCellFactory.java      |  158 +++
 .../org/apache/sis/gui/coverage/CellFormat.java    |  322 ++++++
 .../java/org/apache/sis/gui/coverage/Controls.java |  143 +++
 .../apache/sis/gui/coverage/CoverageCanvas.java    |  339 ++++++
 .../apache/sis/gui/coverage/CoverageControls.java  |  135 +++
 .../apache/sis/gui/coverage/CoverageExplorer.java  |  352 +++++++
 .../java/org/apache/sis/gui/coverage/GridCell.java |   73 ++
 .../org/apache/sis/gui/coverage/GridControls.java  |  163 +++
 .../org/apache/sis/gui/coverage/GridError.java     |  131 +++
 .../java/org/apache/sis/gui/coverage/GridRow.java  |  113 ++
 .../org/apache/sis/gui/coverage/GridRowSkin.java   |  138 +++
 .../java/org/apache/sis/gui/coverage/GridTile.java |  194 ++++
 .../org/apache/sis/gui/coverage/GridTileCache.java |   55 +
 .../java/org/apache/sis/gui/coverage/GridView.java |  550 ++++++++++
 .../org/apache/sis/gui/coverage/GridViewSkin.java  |  568 ++++++++++
 .../org/apache/sis/gui/coverage/ImageLoader.java   |  191 ++++
 .../org/apache/sis/gui/coverage/ImageRequest.java  |  274 +++++
 .../org/apache/sis/gui/coverage/RangeType.java     |   70 ++
 .../org/apache/sis/gui/coverage}/package-info.java |    9 +-
 .../org/apache/sis/gui/dataset/DataWindow.java     |  118 +++
 .../org/apache/sis/gui/dataset/FeatureList.java    |    6 +-
 .../org/apache/sis/gui/dataset/FeatureLoader.java  |    5 +-
 .../org/apache/sis/gui/dataset/FeatureTable.java   |  220 ++--
 .../apache/sis/gui/dataset/ResourceExplorer.java   |  199 +++-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |   33 +-
 .../org/apache/sis/gui/dataset/SelectedData.java   |  122 +++
 .../org/apache/sis/gui/dataset/WindowManager.java  |  204 ++++
 .../java/org/apache/sis/gui/map/MapCanvas.java     |  871 ++++++++++++++++
 .../java/org/apache/sis/gui/map/MapCanvasAWT.java  |  460 ++++++++
 .../java/org/apache/sis/gui/map/StatusBar.java     |  562 ++++++++++
 .../sis/gui/{metadata => map}/package-info.java    |   11 +-
 .../sis/gui/metadata/IdentificationInfo.java       |   30 +
 .../apache/sis/gui/metadata/MetadataSummary.java   |   57 +-
 .../org/apache/sis/gui/metadata/MetadataTree.java  |  157 +--
 .../sis/gui/metadata/StandardMetadataTree.java     |  241 +++++
 .../org/apache/sis/gui/metadata/package-info.java  |    2 +-
 .../apache/sis/gui/referencing/AuthorityCodes.java |    2 -
 .../org/apache/sis/gui/referencing/WKTPane.java    |    3 -
 .../apache/sis/internal/gui/BackgroundThreads.java |   21 +-
 .../gui/DataFormats.java}                          |   29 +-
 .../apache/sis/internal/gui/ExceptionReporter.java |   84 +-
 .../sis/internal/gui/IdentityValueFactory.java     |    7 +-
 .../apache/sis/internal/gui/ImageRenderings.java   |   61 ++
 .../sis/internal/gui/NonNullObjectProperty.java    |   49 +-
 .../org/apache/sis/internal/gui/RecentChoices.java |   28 +
 .../apache/sis/internal/gui/ResourceLoader.java    |    3 +-
 .../org/apache/sis/internal/gui/Resources.java     |   90 ++
 .../apache/sis/internal/gui/Resources.properties   |   20 +-
 .../sis/internal/gui/Resources_fr.properties       |   22 +-
 .../java/org/apache/sis/internal/gui/Styles.java   |   58 ++
 .../org/apache/sis/internal/gui/ToolbarButton.java |  122 +++
 .../resources/org/apache/sis/gui/SIS_128px.png     |  Bin 0 -> 26619 bytes
 .../main/resources/org/apache/sis/gui/SIS_64px.png |  Bin 0 -> 8906 bytes
 .../org/apache/sis/gui/coverage/GridViewApp.java   |   93 ++
 application/sis-webapp/pom.xml                     |   77 --
 .../java/org/apache/sis/index/tree/GeoRSSData.java |  177 ----
 .../org/apache/sis/index/tree/QuadTreeReader.java  |  163 ---
 .../org/apache/sis/services/LocationServlet.java   |  479 ---------
 .../org/apache/sis/services}/package-info.java     |    7 +-
 .../src/main/resources/sis-location-config.xml     |   28 -
 .../src/main/webapp/META-INF/context.xml           |    9 +-
 .../sis-webapp/src/main/webapp/WEB-INF/web.xml     |   20 +-
 application/sis-webapp/src/main/webapp/demo.jsp    |  321 ------
 .../src/main/webapp/images/sis_logo_small.png      |  Bin 35560 -> 0 bytes
 .../java/org/apache/sis/coverage/CategoryList.java |  169 ++-
 .../org/apache/sis/coverage/SampleDimension.java   |    8 +-
 .../sis/coverage/grid/ConvertedGridCoverage.java   |  229 ++++
 .../sis/coverage/grid/DisjointExtentException.java |   17 +-
 .../coverage/grid/FractionalGridCoordinates.java   |  526 ++++++++++
 .../sis/coverage/grid/GridCoordinatesView.java     |   10 +-
 .../org/apache/sis/coverage/grid/GridCoverage.java |  309 ++++--
 .../apache/sis/coverage/grid/GridCoverage2D.java   |  668 ++++++++++++
 .../sis/coverage/grid/GridCoverageBuilder.java     |  522 ++++++++++
 .../sis/coverage/grid/GridCoverageProcessor.java   |  228 ++++
 .../apache/sis/coverage/grid/GridDerivation.java   |   71 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |  257 +++--
 .../org/apache/sis/coverage/grid/GridGeometry.java |  258 ++++-
 .../grid/IllegalGridGeometryException.java         |   13 +-
 .../apache/sis/coverage/grid/ImageRenderer.java    |   25 +-
 .../sis/coverage/grid/PointToGridCoordinates.java  |   81 ++
 .../sis/coverage/grid/ResampledGridCoverage.java   |  504 +++++++++
 .../apache/sis/coverage/grid/ReshapedImage.java    |  303 ++++++
 .../org/apache/sis/coverage/grid/package-info.java |    3 +-
 .../org/apache/sis/feature/EnvelopeOperation.java  |   25 +-
 .../java/org/apache/sis/feature/FeatureFormat.java |    4 +-
 .../org/apache/sis/feature/FeatureOperations.java  |   21 +-
 .../main/java/org/apache/sis/feature/Features.java |  120 ++-
 .../java/org/apache/sis/feature/LinkOperation.java |    9 +-
 .../java/org/apache/sis/feature/package-info.java  |    2 +-
 .../org/apache/sis/filter/ArithmeticFunction.java  |    8 +-
 .../java/org/apache/sis/filter/BinaryFunction.java |   14 +-
 .../org/apache/sis/filter/ComparisonFunction.java  |   76 +-
 .../java/org/apache/sis/filter/DefaultBBOX.java    |   14 +-
 .../apache/sis/filter/DefaultFilterFactory.java    |   44 +-
 .../org/apache/sis/filter/LogicalFunction.java     |    6 +-
 .../org/apache/sis/filter/TemporalFunction.java    |    7 +-
 .../java/org/apache/sis/filter/UnaryFunction.java  |    8 +-
 .../java/org/apache/sis/filter/package-info.java   |   63 +-
 .../java/org/apache/sis/image/AnnotatedImage.java  |  410 ++++++++
 .../java/org/apache/sis/image/ComputedImage.java   |  623 +++++++++++
 .../java/org/apache/sis/image/ComputedTiles.java   |  361 +++++++
 .../java/org/apache/sis/image/DefaultIterator.java |   44 +-
 .../java/org/apache/sis/image/ImageAdapter.java    |  174 ++++
 .../java/org/apache/sis/image/ImageProcessor.java  |  609 +++++++++++
 .../java/org/apache/sis/image/Interpolation.java   |  179 ++++
 .../org/apache/sis/image/LanczosInterpolation.java |  114 ++
 .../java/org/apache/sis/image/LinearIterator.java  |    2 +-
 .../java/org/apache/sis/image/PixelIterator.java   |   83 +-
 .../java/org/apache/sis/image/PlanarImage.java     |  513 +++++++++
 .../java/org/apache/sis/image/RecoloredImage.java  |  109 ++
 .../java/org/apache/sis/image/ResampledImage.java  |  536 ++++++++++
 .../java/org/apache/sis/image/ResamplingGrid.java  |  510 +++++++++
 .../org/apache/sis/image/StatisticsCalculator.java |  181 ++++
 .../main/java/org/apache/sis/image/TileCache.java  |  164 +++
 .../java/org/apache/sis/image/package-info.java    |    3 +-
 .../org/apache/sis/index/tree/NodeIterator.java    |  443 ++++++++
 .../java/org/apache/sis/index/tree/PointTree.java  |  533 ++++++++++
 .../org/apache/sis/index/tree/PointTreeNode.java   |  268 +++++
 .../org/apache/sis/index/tree/QuadTreeNode.java    |  131 +++
 .../org/apache/sis/index/tree}/package-info.java   |   13 +-
 .../internal/coverage/ConvertedGridCoverage.java   |  500 ---------
 .../sis/internal/coverage/GridCoverage2D.java      |  209 ----
 .../coverage/j2d/BandedSampleConverter.java        |  434 ++++++++
 .../coverage/{ => j2d}/BufferedGridCoverage.java   |  132 +--
 .../coverage/{ => j2d}/ColorModelFactory.java      |  114 +-
 .../coverage/{ => j2d}/ColorModelPatch.java        |    2 +-
 .../sis/internal/coverage/j2d/ImageLayout.java     |  255 +++++
 .../sis/internal/coverage/j2d/ImageUtilities.java  |  410 ++++++++
 .../{ => j2d}/MultiBandsIndexColorModel.java       |    4 +-
 .../internal/coverage/{ => j2d}/RasterFactory.java |  129 ++-
 .../internal/coverage/j2d/ScaledColorModel.java    |  125 +++
 .../coverage/{ => j2d}/ScaledColorSpace.java       |  115 +-
 .../sis/internal/coverage/j2d/TileOpExecutor.java  |  938 +++++++++++++++++
 .../sis/internal/coverage/j2d/TiledImage.java      |  184 ++++
 .../sis/internal/coverage/j2d/Transferer.java      |  601 +++++++++++
 .../sis/internal/coverage/j2d/WriteSupport.java    |  101 ++
 .../internal/coverage/{ => j2d}/package-info.java  |    9 +-
 .../sis/internal/feature/AttributeConvention.java  |   30 +-
 .../java/org/apache/sis/internal/feature/ESRI.java |  282 -----
 .../sis/internal/feature/FeatureUtilities.java     |   33 +-
 .../apache/sis/internal/feature/Geometries.java    |  744 +++++--------
 .../sis/internal/feature/GeometryFactories.java    |   73 ++
 .../sis/internal/feature/GeometryWithCRS.java      |   65 ++
 .../sis/internal/feature/GeometryWrapper.java      |  298 +++++-
 .../java/org/apache/sis/internal/feature/JTS.java  |  448 --------
 .../org/apache/sis/internal/feature/Java2D.java    |  389 -------
 .../apache/sis/internal/feature/MovingFeature.java |    2 +-
 .../org/apache/sis/internal/feature/Resources.java |   77 +-
 .../sis/internal/feature/Resources.properties      |   14 +
 .../sis/internal/feature/Resources_fr.properties   |   14 +
 .../sis/internal/feature/WrapResolution.java       |   53 -
 .../apache/sis/internal/feature/esri/Factory.java  |  157 +++
 .../apache/sis/internal/feature/esri/Wrapper.java  |  201 ++++
 .../feature/{j2d => esri}/package-info.java        |    9 +-
 .../apache/sis/internal/feature/j2d/Factory.java   |  214 ++++
 .../sis/internal/feature/j2d/PointWrapper.java     |  130 +++
 .../sis/internal/feature/j2d/ShapeProperties.java  |   26 +-
 .../apache/sis/internal/feature/j2d/Wrapper.java   |  210 ++++
 .../sis/internal/feature/j2d/package-info.java     |    5 +-
 .../apache/sis/internal/feature/jts/Factory.java   |  284 +++++
 .../org/apache/sis/internal/feature/jts/JTS.java   |   75 +-
 .../apache/sis/internal/feature/jts/Wrapper.java   |  277 +++++
 .../apache/sis/internal/feature/package-info.java  |    3 +-
 .../sis/internal/filter/FilterGeometryUtils.java   |   46 +-
 .../apache/sis/internal/filter/NamedFunction.java  |    6 +-
 .../java/org/apache/sis/internal/filter/Node.java  |    8 +-
 .../apache/sis/internal/filter}/package-info.java  |    7 +-
 .../filter/sqlmm/AbstractGeomConstructor.java      |   26 +
 .../filter/sqlmm/AbstractSpatialFunction.java      |   25 +-
 .../sis/internal/filter/sqlmm/ST_Buffer.java       |   13 +-
 .../sis/internal/filter/sqlmm/ST_Centroid.java     |    9 +-
 .../sis/internal/filter/sqlmm/ST_Envelope.java     |   11 +-
 .../sis/internal/filter/sqlmm/ST_LineString.java   |   19 +-
 .../apache/sis/internal/filter/sqlmm/ST_Point.java |   11 +-
 .../sis/internal/filter/sqlmm/ST_Transform.java    |   13 +-
 .../sis/internal/image/AbstractRenderedImage.java  |  153 ---
 .../internal/image/TranslatedRenderedImage.java    |  138 ---
 .../org/apache/sis/coverage/CategoryListTest.java  |  102 +-
 .../grid/FractionalGridCoordinatesTest.java        |  101 ++
 .../sis/coverage/grid/GridCoverage2DTest.java      |  211 ++++
 .../sis/coverage/grid/GridCoverageBuilderTest.java |  212 ++++
 .../sis/coverage/grid/GridDerivationTest.java      |   35 +-
 .../apache/sis/coverage/grid/GridExtentTest.java   |   24 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |   30 +-
 .../sis/coverage/grid/PixelTranslationTest.java    |   14 +-
 .../coverage/grid/ResampledGridCoverageTest.java   |  189 ++++
 .../sis/coverage/grid/ReshapedImageTest.java       |  197 ++++
 .../org/apache/sis/image/ComputedImageTest.java    |  212 ++++
 .../org/apache/sis/image/DefaultIteratorTest.java  |    1 +
 .../org/apache/sis/image/InterpolationTest.java    |  178 ++++
 .../java/org/apache/sis/image/PlanarImageTest.java |   98 ++
 .../org/apache/sis/image/ResampledImageTest.java   |  319 ++++++
 .../org/apache/sis/image/ResamplingGridTest.java   |  222 ++++
 .../apache/sis/image/StatisticsCalculatorTest.java |  139 +++
 .../java/org/apache/sis/image/TiledImageMock.java  |  218 +++-
 .../apache/sis/index/tree/PointTreeNodeTest.java   |  113 ++
 .../org/apache/sis/index/tree/PointTreeTest.java   |  184 ++++
 .../coverage/BufferedGridCoverageTest.java         |  143 ---
 .../sis/internal/coverage/GridCoverage2DTest.java  |  153 ---
 .../coverage/j2d/BandedSampleConverterTest.java    |  158 +++
 .../coverage/j2d/BufferedGridCoverageTest.java     |   67 ++
 .../internal/coverage/j2d/ImageUtilitiesTest.java  |  178 ++++
 .../coverage/{ => j2d}/ScaledColorSpaceTest.java   |    2 +-
 .../sis/internal/feature/GeometriesTestCase.java   |  220 ++--
 .../{ESRITest.java => esri/FactoryTest.java}       |   23 +-
 .../{Java2DTest.java => j2d/FactoryTest.java}      |   21 +-
 .../feature/{JTSTest.java => jts/FactoryTest.java} |   21 +-
 .../sis/internal/filter/sqlmm/SQLMMTest.java       |   61 +-
 .../image/TranslatedRenderedImageTest.java         |   64 --
 .../java/org/apache/sis/test/FeatureAssert.java    |  100 ++
 .../java/org/apache/sis/test}/package-info.txt     |    0
 .../apache/sis/test/suite/FeatureTestSuite.java    |   37 +-
 .../apache/sis/internal/jaxb/cat/CodeListUID.java  |   88 +-
 .../apache/sis/internal/jaxb/cat/package-info.java |    2 +-
 .../sis/internal/jaxb/gml/CodeListAdapter.java     |   35 +-
 .../apache/sis/internal/jaxb/gml/CodeListUID.java  |   59 --
 .../org/apache/sis/internal/jaxb/gml/Measure.java  |    8 +-
 .../apache/sis/internal/jaxb/gml/package-info.java |    2 +-
 .../apache/sis/internal/metadata/AxisNames.java    |   23 +-
 .../apache/sis/internal/metadata/Resources.java    |    2 -
 .../sis/internal/metadata/sql/Initializer.java     |  269 ++---
 .../sis/internal/metadata/sql/LocalDataSource.java |  457 ++++++++
 .../sis/internal/metadata/sql/SQLBuilder.java      |    2 +-
 .../sis/internal/metadata/sql/package-info.java    |    2 +-
 .../java/org/apache/sis/internal/xml/Schemas.java  |  100 --
 .../org/apache/sis/internal/xml/package-info.java  |    2 +-
 .../org/apache/sis/metadata/AbstractMetadata.java  |    2 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |    2 +-
 .../org/apache/sis/metadata/PropertyAccessor.java  |    2 +-
 .../java/org/apache/sis/metadata/SpecialCases.java |    2 +-
 .../iso/extent/DefaultGeographicBoundingBox.java   |   24 +-
 .../apache/sis/util/iso/DefaultNameFactory.java    |   15 +-
 .../org/apache/sis/util/iso/DefaultScopedName.java |    9 +-
 .../internal/jaxb/cat/CodeListMarshallingTest.java |   19 +-
 .../apache/sis/internal/jaxb/gml/MeasureTest.java  |   18 +-
 .../sis/internal/jaxb/lan/LanguageCodeTest.java    |    6 +-
 .../org/apache/sis/metadata/TreeTableViewTest.java |    2 +-
 .../extent/DefaultGeographicBoundingBoxTest.java   |   64 +-
 .../sis/metadata/iso/extent/ExtentsTest.java       |    6 +-
 .../iso/identification/DefaultResolutionTest.java  |    8 +-
 .../java/org/apache/sis/test/sql/TestDatabase.java |   62 +-
 .../java/org/apache/sis/test/sql/package-info.java |    3 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |    6 +-
 .../java/org/apache/sis/test/xml/TestCase.java     |    8 +-
 .../java/org/apache/sis/test/xml/package-info.java |    2 +-
 .../org/apache/sis/internal/map/GridCanvas.java    |  330 +++++-
 .../org/apache/sis/internal/map/MapContext.java    |   79 --
 .../java/org/apache/sis/internal/map/MapGroup.java |   66 --
 .../java/org/apache/sis/internal/map/MapItem.java  |   88 --
 .../java/org/apache/sis/internal/map/MapLayer.java |  104 --
 .../org/apache/sis/internal/map/Presentation.java  |   36 +-
 .../org/apache/sis/internal/map/package-info.java  |    9 +-
 .../main/java/org/apache/sis/portrayal/Canvas.java | 1101 ++++++++++++++++++++
 .../org/apache/sis/portrayal/CanvasContext.java    |  214 ++++
 .../org/apache/sis/portrayal/CanvasExtent.java     |  235 +++++
 .../java/org/apache/sis/portrayal/MapItem.java     |  278 +++++
 .../java/org/apache/sis/portrayal/MapLayer.java    |  201 ++++
 .../java/org/apache/sis/portrayal/MapLayers.java   |  125 +++
 .../java/org/apache/sis/portrayal/Observable.java  |  160 +++
 .../org/apache/sis/portrayal/PlanarCanvas.java     |  208 ++++
 .../map => portrayal}/RenderException.java         |   42 +-
 .../org/apache/sis/portrayal}/package-info.java    |   14 +-
 .../apache/sis/internal/gazetteer/Resources.java   |    2 -
 .../gazetteer/GeohashReferenceSystem.java          |    2 +-
 .../gazetteer/MilitaryGridReferenceSystem.java     |    7 +-
 .../sis/referencing/gazetteer/LocationViewer.java  |    2 +-
 .../gazetteer/MilitaryGridReferenceSystemTest.java |    2 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |  108 +-
 .../org/apache/sis/geometry/CoordinateFormat.java  |  271 ++++-
 .../java/org/apache/sis/geometry/Envelope2D.java   |   88 +-
 .../java/org/apache/sis/geometry/Envelopes.java    |    2 +-
 .../org/apache/sis/geometry/GeneralEnvelope.java   |  213 +++-
 .../java/org/apache/sis/geometry/Shapes2D.java     |    6 +-
 .../org/apache/sis/geometry/WraparoundMethod.java  |  173 +++
 .../java/org/apache/sis/geometry/package-info.java |    5 +-
 .../sis/internal/referencing/AxisDirections.java   |   32 +-
 .../internal/referencing/DirectPositionView.java   |    5 +-
 .../apache/sis/internal/referencing/Formulas.java  |   23 +-
 .../apache/sis/internal/referencing/RTreeNode.java |  357 +++++++
 .../internal/referencing/ReferencingUtilities.java |    4 +-
 .../apache/sis/internal/referencing/Resources.java |   29 +-
 .../sis/internal/referencing/Resources.properties  |    5 +
 .../internal/referencing/Resources_fr.properties   |    5 +
 .../internal/referencing/ServicesForMetadata.java  |    2 +-
 .../sis/internal/referencing/WKTUtilities.java     |   42 +-
 .../referencing/j2d/IntervalRectangle.java         |   63 +-
 .../apache/sis/internal/referencing/j2d/Tile.java  |  683 ++++++++++++
 .../internal/referencing/j2d/TileOrganizer.java    |  566 ++++++++++
 .../sis/internal/referencing/j2d/package-info.java |    2 +-
 .../sis/internal/referencing/package-info.java     |    2 +-
 .../referencing/provider/AbstractProvider.java     |   16 +-
 .../provider/AzimuthalEquidistantSpherical.java    |   83 ++
 .../provider/DatumShiftGridCompressed.java         |   58 +-
 .../referencing/provider/DatumShiftGridFile.java   |  404 ++++++-
 .../referencing/provider/DatumShiftGridGroup.java  |  306 ++++++
 .../referencing/provider/DatumShiftGridLoader.java |   39 +-
 .../provider/FranceGeocentricInterpolation.java    |   12 +-
 .../referencing/provider/GeocentricAffine.java     |   11 +-
 .../referencing/provider/Interpolation1D.java      |    2 +-
 .../provider/ModifiedAzimuthalEquidistant.java     |  167 +++
 .../internal/referencing/provider/Mollweide.java   |    2 +-
 .../internal/referencing/provider/Molodensky.java  |    5 +-
 .../sis/internal/referencing/provider/NADCON.java  |    5 +-
 .../sis/internal/referencing/provider/NTv1.java    |   90 ++
 .../sis/internal/referencing/provider/NTv2.java    |  557 +++++++---
 .../main/java/org/apache/sis/io/wkt/Formatter.java |    2 +-
 .../java/org/apache/sis/io/wkt/Transliterator.java |   20 +-
 .../main/java/org/apache/sis/io/wkt/WKTFormat.java |    2 +-
 .../java/org/apache/sis/io/wkt/package-info.java   |    2 +-
 .../org/apache/sis/parameter/ParameterFormat.java  |    2 +-
 .../main/java/org/apache/sis/referencing/CRS.java  |  113 +-
 .../referencing/EllipsoidalHeightSeparator.java    |   66 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   19 +-
 .../apache/sis/referencing/crs/package-info.java   |    2 +-
 .../apache/sis/referencing/cs/AxesConvention.java  |    2 +-
 .../org/apache/sis/referencing/cs/AxisFilter.java  |    2 +-
 .../sis/referencing/datum/BursaWolfParameters.java |    4 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |  224 +++-
 .../sis/referencing/datum/DefaultEllipsoid.java    |    7 -
 .../factory/MultiAuthoritiesFactory.java           |    2 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |    3 +-
 .../operation/DefaultConicProjection.java          |    2 +-
 .../DefaultCoordinateOperationFactory.java         |   11 +-
 .../operation/DefaultCylindricalProjection.java    |    2 +-
 .../operation/DefaultPlanarProjection.java         |    2 +-
 .../operation/builder/LinearTransformBuilder.java  |   14 +-
 .../operation/builder/LocalizationGridBuilder.java |   40 +-
 .../operation/builder/ResidualGrid.java            |  121 ++-
 .../operation/builder/package-info.java            |    2 +-
 .../sis/referencing/operation/builder/readme.html  |    6 +-
 .../operation/matrix/AffineTransforms2D.java       |   35 +-
 .../sis/referencing/operation/matrix/Matrices.java |  147 ++-
 .../sis/referencing/operation/matrix/Matrix1.java  |   11 +-
 .../sis/referencing/operation/matrix/Matrix2.java  |   10 -
 .../referencing/operation/matrix/MatrixSIS.java    |   34 +-
 .../referencing/operation/matrix/package-info.java |    2 +-
 .../sis/referencing/operation/package-info.java    |    2 +-
 .../operation/projection/AlbersEqualArea.java      |   41 +-
 .../operation/projection/AzimuthalEquidistant.java |  234 +++++
 .../operation/projection/Initializer.java          |   42 +
 .../projection/LambertConicConformal.java          |   31 +-
 .../referencing/operation/projection/Mercator.java |    2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |  240 +++++
 .../operation/projection/Mollweide.java            |    4 +-
 .../operation/projection/NormalizedProjection.java |   38 +-
 .../operation/projection/ObliqueStereographic.java |   43 +-
 .../operation/projection/Orthographic.java         |   41 +-
 .../operation/projection/Polyconic.java            |    3 +-
 .../operation/projection/SatelliteTracking.java    |   36 +-
 .../operation/projection/Sinusoidal.java           |    2 +-
 .../operation/projection/package-info.java         |    2 +-
 .../operation/transform/LinearTransform.java       |    5 +-
 .../operation/transform/MathTransforms.java        |   61 +-
 .../operation/transform/ProjectiveTransform.java   |   44 +-
 .../transform/SpecializableTransform.java          |  309 ++----
 .../operation/transform/TransformSeparator.java    |    4 +-
 .../operation/transform/package-info.java          |    2 +-
 ...g.opengis.referencing.operation.OperationMethod |    3 +
 .../apache/sis/geometry/CoordinateFormatTest.java  |   20 +-
 .../org/apache/sis/geometry/EnvelopesTest.java     |    2 +-
 .../apache/sis/geometry/GeneralEnvelopeTest.java   |   39 +-
 .../java/org/apache/sis/geometry/Shapes2DTest.java |    2 +-
 .../sis/internal/referencing/FormulasTest.java     |   18 +-
 .../referencing/ServicesForMetadataTest.java       |    4 +-
 .../sis/internal/referencing/WKTUtilitiesTest.java |   14 +-
 .../FranceGeocentricInterpolationTest.java         |    8 +-
 .../internal/referencing/provider/NADCONTest.java  |   20 +-
 .../internal/referencing/provider/NTv2Test.java    |  117 ++-
 .../referencing/provider/ProvidersTest.java        |    3 +
 .../java/org/apache/sis/referencing/CRSTest.java   |   21 +-
 .../org/apache/sis/referencing/CommonCRSTest.java  |    2 +-
 .../sis/referencing/GeodeticCalculatorTest.java    |    8 +-
 .../apache/sis/referencing/crs/HardCodedCRS.java   |   11 +-
 .../apache/sis/referencing/cs/HardCodedAxes.java   |    4 +-
 .../operation/HardCodedConversions.java            |   32 +-
 .../operation/builder/ResidualGridTest.java        |    8 +-
 .../referencing/operation/matrix/MatricesTest.java |   21 +-
 .../operation/matrix/MatrixTestCase.java           |   31 +-
 .../operation/projection/AlbersEqualAreaTest.java  |   50 +-
 .../projection/AzimuthalEquidistantTest.java       |  162 +++
 .../projection/LambertConicConformalTest.java      |    9 +-
 .../ModifiedAzimuthalEquidistantTest.java          |   96 ++
 .../operation/transform/MathTransformWrapper.java  |   14 +-
 .../operation/transform/MathTransformsTest.java    |   34 +-
 .../transform/TransformSeparatorTest.java          |   53 +-
 .../sis/test/suite/ReferencingTestSuite.java       |    2 +
 .../java/org/apache/sis/internal/jdk9/JDK9.java    |   11 +
 .../apache/sis/internal/system/CommonExecutor.java |  133 +++
 .../apache/sis/internal/system/DataDirectory.java  |    2 +-
 .../org/apache/sis/internal/system/Shutdown.java   |    5 +-
 .../apache/sis/internal/system/package-info.java   |    2 +-
 .../org/apache/sis/internal/util/DoubleDouble.java |   13 +-
 .../org/apache/sis/internal/util/Numerics.java     |   63 +-
 .../apache/sis/internal/util/PropertyFormat.java   |  216 ++++
 .../java/org/apache/sis/internal/util/X364.java    |    2 +-
 .../main/java/org/apache/sis/io/TableAppender.java |   12 +-
 .../main/java/org/apache/sis/math/Fraction.java    |   14 +-
 .../java/org/apache/sis/math/MathFunctions.java    |   41 +-
 .../main/java/org/apache/sis/math/Statistics.java  |    4 +-
 .../java/org/apache/sis/measure/AngleFormat.java   |   21 +-
 .../java/org/apache/sis/measure/Longitude.java     |    6 +-
 .../java/org/apache/sis/measure/NumberRange.java   |    4 +-
 .../main/java/org/apache/sis/measure/Range.java    |    4 +-
 .../java/org/apache/sis/measure/RangeFormat.java   |    4 +-
 .../main/java/org/apache/sis/measure/Scalar.java   |    3 +-
 .../java/org/apache/sis/measure/UnitDimension.java |    2 +-
 .../java/org/apache/sis/measure/package-info.java  |    2 +-
 .../java/org/apache/sis/util/ArgumentChecks.java   |   24 +-
 .../main/java/org/apache/sis/util/ArraysExt.java   |   20 +-
 .../java/org/apache/sis/util/CharSequences.java    |  181 +++-
 .../main/java/org/apache/sis/util/Exceptions.java  |   19 +-
 .../src/main/java/org/apache/sis/util/Locales.java |    2 +-
 .../java/org/apache/sis/util/collection/Cache.java |   22 +-
 .../sis/util/collection/TreeTableFormat.java       |  207 +---
 .../apache/sis/util/collection/package-info.java   |    2 +-
 .../java/org/apache/sis/util/logging/Logging.java  |    4 +-
 .../java/org/apache/sis/util/package-info.java     |    5 +-
 .../java/org/apache/sis/util/resources/Errors.java |   11 +-
 .../apache/sis/util/resources/Errors.properties    |    1 -
 .../apache/sis/util/resources/Errors_fr.properties |    1 -
 .../sis/util/resources/IndexedResourceBundle.java  |   37 +-
 .../org/apache/sis/util/resources/Messages.java    |    2 -
 .../org/apache/sis/util/resources/Vocabulary.java  |  137 ++-
 .../sis/util/resources/Vocabulary.properties       |   27 +
 .../sis/util/resources/Vocabulary_fr.properties    |   27 +
 .../apache/sis/util/resources/package-info.java    |    2 +-
 .../apache/sis/internal/util/DoubleDoubleTest.java |    9 +-
 .../org/apache/sis/internal/util/NumericsTest.java |   15 +-
 .../org/apache/sis/math/MathFunctionsTest.java     |   15 +-
 .../java/org/apache/sis/math/StatisticsTest.java   |    2 +-
 .../org/apache/sis/measure/AngleFormatTest.java    |   14 +-
 .../src/test/java/org/apache/sis/test/Assert.java  |    1 +
 .../src/test/java/org/apache/sis/test/Assume.java  |    2 +-
 .../java/org/apache/sis/test/LoggingWatcher.java   |    5 +-
 .../java/org/apache/sis/test/TestUtilities.java    |    2 +-
 .../org/apache/sis/util/CharSequencesTest.java     |   26 +-
 ide-project/NetBeans/nbproject/genfiles.properties |    4 +-
 ide-project/NetBeans/nbproject/project.properties  |    4 -
 ide-project/NetBeans/nbproject/project.xml         |    2 +
 pom.xml                                            |   49 +-
 .../apache/sis/internal/earth/netcdf/GCOM_C.java   |   24 +
 .../apache/sis/internal/earth/netcdf/GCOM_W.java   |   24 +-
 .../org/apache/sis/internal/geotiff/Resources.java |    2 -
 .../java/org/apache/sis/internal/netcdf/Axis.java  |   23 +-
 .../org/apache/sis/internal/netcdf/CRSBuilder.java |   38 +-
 .../org/apache/sis/internal/netcdf/Convention.java |   18 +-
 .../org/apache/sis/internal/netcdf/Decoder.java    |   12 +-
 .../java/org/apache/sis/internal/netcdf/Grid.java  |   10 +
 .../org/apache/sis/internal/netcdf/Raster.java     |    2 +-
 .../apache/sis/internal/netcdf/RasterResource.java |   98 +-
 .../org/apache/sis/internal/netcdf/Resources.java  |    2 -
 .../org/apache/sis/internal/netcdf/Variable.java   |   92 +-
 .../sis/internal/netcdf/impl/ChannelDecoder.java   |   18 +
 .../sis/internal/netcdf/impl/FeaturesInfo.java     |    2 +-
 .../apache/sis/internal/netcdf/impl/GridInfo.java  |    2 +-
 .../sis/internal/netcdf/impl/VariableInfo.java     |   39 +-
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |   69 ++
 .../apache/sis/storage/netcdf/MetadataReader.java  |    4 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |   25 +-
 .../apache/sis/storage/netcdf/package-info.java    |    2 +-
 .../internal/netcdf/SatelliteGroundTrackTest.java  |    2 +-
 .../apache/sis/storage/shapefile/cpg/CpgFiles.java |   66 +-
 storage/sis-sqlstore/pom.xml                       |    6 +-
 .../sis/internal/sql/feature/ANSIInterpreter.java  |   38 +-
 .../sis/internal/sql/feature/EWKBReader.java       |   35 +-
 .../apache/sis/internal/sql/feature/Features.java  |    2 +-
 .../sis/internal/sql/feature/QueryFeatureSet.java  |    3 +-
 .../apache/sis/internal/sql/feature/Resources.java |    2 -
 .../apache/sis/internal/sql/feature/EWKBTest.java  |    3 +-
 .../sql/feature/QuerySpliteratorsBench.java        |    5 +-
 .../apache/sis/index/tree/LatLonPointRadius.java   |  138 ---
 .../java/org/apache/sis/index/tree/NodeType.java   |   28 -
 .../java/org/apache/sis/index/tree/QuadTree.java   |  622 -----------
 .../org/apache/sis/index/tree/QuadTreeData.java    |   59 --
 .../org/apache/sis/index/tree/QuadTreeNode.java    |  178 ----
 .../org/apache/sis/index/tree/QuadTreeWriter.java  |  164 ---
 .../java/org/apache/sis/index/tree/Quadrant.java   |   62 --
 .../sis/internal/storage/AbstractGridResource.java |    4 +-
 .../sis/internal/storage/AbstractResource.java     |   40 +-
 .../internal/storage/ConcatenatedFeatureSet.java   |    4 +-
 .../sis/internal/storage/MetadataBuilder.java      |   18 +-
 .../org/apache/sis/internal/storage/Resources.java |    2 -
 .../apache/sis/internal/storage/SubsetAdapter.java |    3 +-
 .../sis/internal/storage/csv/StoreProvider.java    |    2 +-
 .../storage/folder/FolderStoreProvider.java        |    8 +-
 .../apache/sis/internal/storage/folder/Store.java  |   17 +-
 .../sis/internal/storage/query/SimpleQuery.java    |   25 +-
 .../sis/internal/storage/wkt/StoreFormat.java      |   10 +-
 .../java/org/apache/sis/storage/DataStore.java     |   31 +-
 .../java/org/apache/sis/storage/FeatureNaming.java |    6 +-
 .../apache/sis/index/tree/TestQuadTreeNode.java    |   31 -
 .../storage/ConcatenatedFeatureSetTest.java        |    5 +-
 .../apache/sis/test/suite/StorageTestSuite.java    |    2 +-
 .../sis/internal/storage/gpx/StoreProvider.java    |    2 +-
 .../apache/sis/internal/storage/gpx/Writer.java    |    2 +-
 499 files changed, 38936 insertions(+), 9569 deletions(-)
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/Widget.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/BandSelectionListener.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CategoryCellFactory.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CellFormat.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/Controls.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageCanvas.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageControls.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageExplorer.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridCell.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridControls.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridError.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridRow.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridRowSkin.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridTile.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridTileCache.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridView.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/GridViewSkin.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/ImageLoader.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/ImageRequest.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/RangeType.java
 copy {core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/cat => 
application/sis-javafx/src/main/java/org/apache/sis/gui/coverage}/package-info.java
 (80%)
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/DataWindow.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/SelectedData.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/WindowManager.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/map/MapCanvas.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/map/MapCanvasAWT.java
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/map/StatusBar.java
 copy application/sis-javafx/src/main/java/org/apache/sis/gui/{metadata => 
map}/package-info.java (70%)
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/gui/metadata/StandardMetadataTree.java
 copy 
application/sis-javafx/src/main/java/org/apache/sis/{gui/metadata/package-info.java
 => internal/gui/DataFormats.java} (58%)
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/ImageRenderings.java
 copy 
core/sis-feature/src/test/java/org/apache/sis/internal/feature/Java2DTest.java 
=> 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/NonNullObjectProperty.java
 (51%)
 create mode 100644 
application/sis-javafx/src/main/java/org/apache/sis/internal/gui/ToolbarButton.java
 create mode 100644 
application/sis-javafx/src/main/resources/org/apache/sis/gui/SIS_128px.png
 create mode 100644 
application/sis-javafx/src/main/resources/org/apache/sis/gui/SIS_64px.png
 create mode 100644 
application/sis-javafx/src/test/java/org/apache/sis/gui/coverage/GridViewApp.java
 delete mode 100644 
application/sis-webapp/src/main/java/org/apache/sis/index/tree/GeoRSSData.java
 delete mode 100644 
application/sis-webapp/src/main/java/org/apache/sis/index/tree/QuadTreeReader.java
 delete mode 100644 
application/sis-webapp/src/main/java/org/apache/sis/services/LocationServlet.java
 rename {storage/sis-storage/src/main/java/org/apache/sis/index/tree => 
application/sis-webapp/src/main/java/org/apache/sis/services}/package-info.java 
(76%)
 delete mode 100644 
application/sis-webapp/src/main/resources/sis-location-config.xml
 delete mode 100644 application/sis-webapp/src/main/webapp/demo.jsp
 delete mode 100644 
application/sis-webapp/src/main/webapp/images/sis_logo_small.png
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ConvertedGridCoverage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/FractionalGridCoordinates.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridCoverage2D.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridCoverageBuilder.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridCoverageProcessor.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/PointToGridCoordinates.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ResampledGridCoverage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ReshapedImage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/AnnotatedImage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ComputedImage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ComputedTiles.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ImageAdapter.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ImageProcessor.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/Interpolation.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/LanczosInterpolation.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/PlanarImage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/RecoloredImage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ResampledImage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/ResamplingGrid.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/StatisticsCalculator.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/image/TileCache.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/index/tree/NodeIterator.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTree.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/index/tree/PointTreeNode.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/index/tree/QuadTreeNode.java
 copy {application/sis-javafx/src/main/java/org/apache/sis/gui/metadata => 
core/sis-feature/src/main/java/org/apache/sis/index/tree}/package-info.java 
(72%)
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/ConvertedGridCoverage.java
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/GridCoverage2D.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/BandedSampleConverter.java
 rename core/sis-feature/src/main/java/org/apache/sis/internal/coverage/{ => 
j2d}/BufferedGridCoverage.java (54%)
 rename core/sis-feature/src/main/java/org/apache/sis/internal/coverage/{ => 
j2d}/ColorModelFactory.java (82%)
 rename core/sis-feature/src/main/java/org/apache/sis/internal/coverage/{ => 
j2d}/ColorModelPatch.java (98%)
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/ImageLayout.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/ImageUtilities.java
 rename core/sis-feature/src/main/java/org/apache/sis/internal/coverage/{ => 
j2d}/MultiBandsIndexColorModel.java (98%)
 rename core/sis-feature/src/main/java/org/apache/sis/internal/coverage/{ => 
j2d}/RasterFactory.java (65%)
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/ScaledColorModel.java
 rename core/sis-feature/src/main/java/org/apache/sis/internal/coverage/{ => 
j2d}/ScaledColorSpace.java (51%)
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/TileOpExecutor.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/TiledImage.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/Transferer.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/WriteSupport.java
 rename core/sis-feature/src/main/java/org/apache/sis/internal/coverage/{ => 
j2d}/package-info.java (75%)
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/ESRI.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/GeometryFactories.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/GeometryWithCRS.java
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/JTS.java
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/Java2D.java
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/WrapResolution.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/esri/Factory.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/esri/Wrapper.java
 copy core/sis-feature/src/main/java/org/apache/sis/internal/feature/{j2d => 
esri}/package-info.java (82%)
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Factory.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PointWrapper.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/Wrapper.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/Factory.java
 create mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/Wrapper.java
 copy {application/sis-javafx/src/main/java/org/apache/sis/gui/metadata => 
core/sis-feature/src/main/java/org/apache/sis/internal/filter}/package-info.java
 (81%)
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/image/AbstractRenderedImage.java
 delete mode 100644 
core/sis-feature/src/main/java/org/apache/sis/internal/image/TranslatedRenderedImage.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/coverage/grid/FractionalGridCoordinatesTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridCoverage2DTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridCoverageBuilderTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ReshapedImageTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/ComputedImageTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/InterpolationTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/PlanarImageTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/ResampledImageTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/ResamplingGridTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/image/StatisticsCalculatorTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/index/tree/PointTreeNodeTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/index/tree/PointTreeTest.java
 delete mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/coverage/BufferedGridCoverageTest.java
 delete mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/coverage/GridCoverage2DTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/coverage/j2d/BandedSampleConverterTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/coverage/j2d/BufferedGridCoverageTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/coverage/j2d/ImageUtilitiesTest.java
 rename core/sis-feature/src/test/java/org/apache/sis/internal/coverage/{ => 
j2d}/ScaledColorSpaceTest.java (98%)
 rename 
core/sis-feature/src/test/java/org/apache/sis/internal/feature/{ESRITest.java 
=> esri/FactoryTest.java} (77%)
 rename 
core/sis-feature/src/test/java/org/apache/sis/internal/feature/{Java2DTest.java 
=> j2d/FactoryTest.java} (70%)
 rename 
core/sis-feature/src/test/java/org/apache/sis/internal/feature/{JTSTest.java => 
jts/FactoryTest.java} (82%)
 delete mode 100644 
core/sis-feature/src/test/java/org/apache/sis/internal/image/TranslatedRenderedImageTest.java
 create mode 100644 
core/sis-feature/src/test/java/org/apache/sis/test/FeatureAssert.java
 copy {storage/sis-xmlstore/src/test/java/org/apache/sis/test/suite => 
core/sis-feature/src/test/java/org/apache/sis/test}/package-info.txt (100%)
 delete mode 100644 
core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gml/CodeListUID.java
 create mode 100644 
core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/LocalDataSource.java
 delete mode 100644 
core/sis-metadata/src/main/java/org/apache/sis/internal/xml/Schemas.java
 delete mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/MapContext.java
 delete mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/MapGroup.java
 delete mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/MapItem.java
 delete mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/internal/map/MapLayer.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/Canvas.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/CanvasContext.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/CanvasExtent.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/MapItem.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/MapLayer.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/MapLayers.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/Observable.java
 create mode 100644 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal/PlanarCanvas.java
 rename core/sis-portrayal/src/main/java/org/apache/sis/{internal/map => 
portrayal}/RenderException.java (55%)
 copy {application/sis-javafx/src/main/java/org/apache/sis/gui/metadata => 
core/sis-portrayal/src/main/java/org/apache/sis/portrayal}/package-info.java 
(70%)
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/geometry/WraparoundMethod.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/RTreeNode.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/Tile.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/TileOrganizer.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AzimuthalEquidistantSpherical.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridGroup.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/ModifiedAzimuthalEquidistant.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv1.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/AzimuthalEquidistant.java
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ModifiedAzimuthalEquidistant.java
 create mode 100644 
core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/AzimuthalEquidistantTest.java
 create mode 100644 
core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/ModifiedAzimuthalEquidistantTest.java
 create mode 100644 
core/sis-utility/src/main/java/org/apache/sis/internal/system/CommonExecutor.java
 create mode 100644 
core/sis-utility/src/main/java/org/apache/sis/internal/util/PropertyFormat.java
 rename storage/sis-sqlstore/src/{main => 
test}/java/org/apache/sis/internal/sql/feature/QuerySpliteratorsBench.java (97%)
 delete mode 100644 
storage/sis-storage/src/main/java/org/apache/sis/index/tree/LatLonPointRadius.java
 delete mode 100644 
storage/sis-storage/src/main/java/org/apache/sis/index/tree/NodeType.java
 delete mode 100644 
storage/sis-storage/src/main/java/org/apache/sis/index/tree/QuadTree.java
 delete mode 100644 
storage/sis-storage/src/main/java/org/apache/sis/index/tree/QuadTreeData.java
 delete mode 100644 
storage/sis-storage/src/main/java/org/apache/sis/index/tree/QuadTreeNode.java
 delete mode 100644 
storage/sis-storage/src/main/java/org/apache/sis/index/tree/QuadTreeWriter.java
 delete mode 100644 
storage/sis-storage/src/main/java/org/apache/sis/index/tree/Quadrant.java
 delete mode 100644 
storage/sis-storage/src/test/java/org/apache/sis/index/tree/TestQuadTreeNode.java

Reply via email to