This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch SIS-457 in repository https://gitbox.apache.org/repos/asf/sis.git.
discard 0e02be3 First patch from Michiel Rop for migrating to JUnit 5: https://issues.apache.org/jira/browse/SIS-457 The code compile but tests are not yet enabled. add 88826a8 Remove unnecessary reference to Citation standard in PropertyAccessor. add 7696815 Document the new synchronization policy of DataStores. add 3b1e96d Fix or avoid test failures happening on Windows. add 41fcbd8 Add an example about the use of GridDerivation.sliceByRatio since its method signature is not intuitive. add 2b44b0c Merge branch 'geoapi-4.0' into geoapi-3.1 add fee544d Merge branch 'geoapi-3.1' add d515e82 When no source dimensions were specified, TransformSeparator should keep only the source dimensions needed for the target dimensions. https://issues.apache.org/jira/browse/SIS-458 add b8e3a9b One more attempt to fix platform-dependent line separator issue in tests. add df4d04d Remove an unnecessary field and add a clarification in documentation. add b942045 PixelIteration.getIterationOrder() is Optional. add 51fc7a3 Transform coordinates of JTS geometries by batches instead than one-by-one. Take in account the region of interest of geometries to transform. add 62129dd Merge branch 'geoapi-4.0' into geoapi-3.1 add 4e74c58 Merge branch 'geoapi-3.1' add 76d0e34 Refator the filter implementation in order to share more common implementations. Also try to perform a more elaborated analysis of types during arithmetic operations. This work is not final; we still need to do a deeper review of filter interfaces: https://github.com/opengeospatial/geoapi/issues/32 add 76eabab Merge branch 'geoapi-4.0' into geoapi-3.1: refactoring of filter implementations. add 57f05d7 Skip most of the "org.apache.sis.filter" refactoring done on branch 'geoapi-3.1' since that package is not ready for release. add d30bbbf Support limited conversions between floating point numbers and fractions. add 4610d2e Catch some exceptions related to number conversions. Either rethrow them or log them. Note: the decision to require Expression.evaluate(Object, Class) to return null in case of error is questionable. We should revisit that policy when we will review the org.opengis.filter interfaces. add 5cd788a Merge branch 'geoapi-4.0' into geoapi-3.1. add 069e51b Merge branch 'geoapi-3.1'. add d3085db Rename ComparisonMode.APPROXIMATIVE as APPROXIMATE. https://issues.apache.org/jira/browse/SIS-440 add f690931 Rename Utilities.equalsApproximatively(…) as Utilities.equalsApproximately(…). https://issues.apache.org/jira/browse/SIS-440 add 47e7bf0 Try harder to detect when the coordinate reference system in a netCDF file is geographic. add 5b1a811 Modify the strategy of previous commit for geographic CRS detection: - Check for "standard_name" attribute sooner because it is controlled vocabulary. - Check for "degree_east" and "degree_north" units later because they are already verified by Axis constructor. This allows that constructor to report a warning in case of inconsistency. add cd225fa Leverage java.util.function for Line and Plane equations. add 9640679 StorageConnector.getStorageAs(…) should not try to open a channel on directory. This is a workaround for https://bugs.openjdk.java.net/browse/JDK-8080629 add 3ebdf21 Replace "ordinate" term by "coordinate" for compliance with ISO 19111 terminology. https://issues.apache.org/jira/browse/SIS-461 add 78c8c1a Override equals(Object) in GeneralDirectPosition with a more efficient implementation. add e36a238 Remove Formulas.pow3(int), replaced by the more generic MathFunctions.pow(long, int). add 906814a Merge branch 'geoapi-4.0' into geoapi-3.1 add ef45707 Merge branch 'geoapi-3.1' add 8382160 Ensure that netCDF reader can parse at least "degrees_N" and "degree_N" in addition of "degrees_north" and "degree_north" (same for east). add ac19cfb Take a note of newly created JIRA issue. add fdd282c More effort for avoiding NaN values when computing GridGeometry envelope. add b1f8b1b Verify conformate of JAXB annotations with ISO 19115-3 schemas. add e2d37e3 Upgrade to EPSG geodetic database 9.6.3. add 8257c01 Partial revert of the fix for NaN in envelope, since it introduced other NaN values. It is not worth to maintain a `modified` flag in this part of the code. add 201f980 GridGeometry.toString() also shows spatio-temporal extent as geographic coordinates with ISO dates. add 81ef6b2 Move the location of the block showing geographic and temporal coordinates in `toString()` representation. add 0103945 Add convenience methods for setting temporal range in an envelope, then build a GridGeometry from an envelope. add 98215cc Use double-double arithmetic for computing the `gridToCRS` from a GridExtent and an Envelope. add 6defc3c Clarify the behavior of GeneralEnvelope.add(Envelope) and intersect(Envelope) if some coordinate values are NaN. This fix allows GridDerivation to behave in a more expected way when a grid geometry has unknown tickness in some dimensions. add a2ab2e1 Merge branch 'geoapi-4.0' into geoapi-3.1 add a6946a1 Merge branch 'geoapi-3.1' add f1a54a4 Fix a copy/paster error in RasterFactory, creating images with same width and height add 1877ab0 Fix a copy/paster error in RasterFactory, creating images with same width and height add 041701d Replace the use of ImmutableIdentifier by DefaultIdentifier in metadata, and remove (for now) JAXB annotations on ImmutableIdentifier. The intent is to prepare the migration of ImmutableIdentifier to sis-referencing and simplify maintenance by avoiding duplicating JAXB annotations on two implementation classes. In a later commit, the ImmutableIdentifier JAXB annotations may be replaced by annotations for GML. https://issues.apache.org/jira/browse/SIS-405 add 58b2bb4 Merge branch 'geoapi-4.0' into geoapi-3.1 add 1d47498 Merge branch 'geoapi-3.1' add 35bb3c4 Post-merge fix: some pending API were not recognized (if an interface existed in GeoAPI 3.0 but a new parent has been added in GeoAPI 3.1). add 693a3d1 fix(netcdf): Fix border behavior to ensure enclosing when reading a subgrid. add 4f4ef95 Minor adjustment of imports order. add 2f67744 feat(Storage): add a feature set decoration, allowing to view a sequence of feature sets as a single one. add ea26103 Refactor pull request #18: - Move code common between ConcatenatedFeatureSet and JoinFeatureSet in a new common parent: AggregatedFeatureSet. - Populate the `Metadata.lineage` node in ISO 19115 metadata with information about the source FeatureSets. - Implement ConcatenatedFeatureSet.subset(Query) by delegating the query to source feature sets. - Modify the algorithm finding common parent type: instead of counting occurrences (those numbers may be wrong in context of mul [...] add d44bfad Merge branch 'feat/featureset-concatenation' into geoapi-4.0 (pull request #18). add 6e82922 Use OptionalLong for AbstractFeatureSet.getFeatureCount(). add 38b1593 AggregatedFeatureSet tuning: - If a source can not compute the envelope, aggregated envelope is null. - Cache the envelope and add a `clearCache()` method (to be used later). - Add metadata tests. add 2b788ad Adjustment in default implementation of Resources: - AbstractFeatureSet implements ResourceOnFileSystem - FeatureSet provides a default implementation of subset(Query). add abde658 DataSet.getEnvelope() should return Optional<Envelope>. https://issues.apache.org/jira/browse/SIS-464 add 4e2add0 Resources.getIdentifier() should be Optional<GenericName> since the identifier may be absent. add 59b8d22 Merge branch 'geoapi-4.0' into geoapi-3.1 add 5ed134f Merge branch 'geoapi-3.1' add 450ad14 Avoid the use of ImmutableIdentifier in anticipation for its migration to sis-referencing module. add 2f7d100 Initial move of WKT parser/formatter from sis-metadata module to sis-referencing. https://issues.apache.org/jira/browse/SIS-463 add 2058ee3 Merge branch 'geoapi-4.0' into geoapi-3.1: move of WKT support from sis-metadata to sis-referencing module. This merge contains only the moving part, with the minimal amount of changes needed for compiling and passing tests. Cleanup will be part of a separated merge. add a977d2a Merge branch 'geoapi-3.1': move of WKT support from sis-metadata to sis-referencing module. This merge contains only the moving part, with the minimal amount of changes needed for compiling and passing tests. Cleanup will be part of a separated merge. add 7c21a98 First round of simplication allowed by SIS-463: delete ReferencingServices methods which were used for GeodeticObjectParser implementation. Instead, GeodeticObjectParser can now access directly the sis-referencing classes that it needs. add 4f553de SIS-463 cleanup: move the WKTKeywords class to sis-referencing and add support for Position and Envelope in WKTFormat.format(…). add 6ab6bbd Retrofit internal Citations class into public Citations class. add 557fb8b Add an optimization enabled by the previous commit (part of SIS-463). add a3c2b52 Move EllipsoidalHeightCombiner to sis-referencing module. https://issues.apache.org/jira/browse/SIS-463 add eeebc8d Move AxisDirection from sis-metadata to sis-referencing. https://issues.apache.org/jira/browse/SIS-463 add 2fc100b Remove ReferencingServices that do not need anymore to be in that class. https://issues.apache.org/jira/browse/SIS-463 add 59a2368 EllipsoidalHeightCombiner leverage ReferencingFactoryContainer. https://issues.apache.org/jira/browse/SIS-463 add 64d320e Move VerticalDatumTypes to sis-referencing module. https://issues.apache.org/jira/browse/SIS-463 add 5aea881 GeodeticObjectParser use ReferencingFactoryContainer instead of its own factories management. add e270be9 Merge branch 'geoapi-4.0' into geoapi-3.1. They are simplifications enabled by https://issues.apache.org/jira/browse/SIS-463 add 5661571 Merge branch 'geoapi-3.1' The changes are simplifications enabled by https://issues.apache.org/jira/browse/SIS-463 add aa6f6cb Update for a change in GeoAPI: fix 2 wrong method signatures, and tests need to ignore private methods. add efd7537 Omit null or empty properties that are now inherited from GeoAPI interfaces. https://github.com/opengeospatial/geoapi/issues/47 add fb60ef7 Merge branch 'geoapi-4.0' into geoapi-3.1. This merge removes some implementations for null or empty values. add 8d62582 Remove method implementations that can be inherited from interfaces. add b778b4a Update for GeoAPI change and simplification of an exception stack trace. add 8d61976 Merge branch 'geoapi-4.0' into geoapi-3.1. add 9f19b09 Merge branch 'geoapi-3.1' add 24cf318 Revert erroneous removal of 2 methods. add 6ca3363 Update for GeoAPI change: missing methods added in DataFile interface and "featureType" UML identifier become plural for matching the XSD. https://github.com/opengeospatial/geoapi/issues/16 add a6c548a Merge branch 'geoapi-4.0' into geoapi-3.1 except the change of `LocalName` into `GenericName` in the `featureTypes` property. The old type is kept on this branch for preserving backward compatibility. add d2003d3 Merge branch 'geoapi-3.1'. add 1c04921 Update for change in GeoAPI. https://github.com/opengeospatial/geoapi/issues/31 add 7adeb94 Change serialVersionUID on AbstractIdentification in geoapi-3.1/4.0 branches but not on master. The change of serialVersionUID has been done on development branches for SIS 0.5 but has been accidentally propagated to master in the SIS 0.5 release. It is too late for changing serialVersionUID on master, so we have to change it again on geoapi-3.1/4.à branches even if the current serialVersionUID on those branches is the "right" one. We want a different serialVersionUID be [...] add c468aad Merge branch 'geoapi-4.0' into geoapi-3.1. Removal of `MathTransformFactory.fromXML(String)` since that method is still part of GeoAPI 3.x. add c8bf605 Merge branch 'geoapi-3.1', without changing the way to create CodeList since the new API is not available in GeoAPI 3.0.1. add 6371286 GridDerivation.subgrid(GridGeometry) should modify the resolution to match the given `gridOfInterest`. add 4579037 Filter : add function register api, prepare SQL/MM function register add f2df1ad Filter : support raw crs in ST_Transform, implement SimpleQuery.toString add cc7b369 Feature : do not skip attributes with characteristics in toString formating add 55e1313 Creation of GeodesicsOnEllipsoid class for computing geodescis on ellipsoid of revolution. Based on the algorithm published in Karney C.F.F. (2013), Algorithms for geodesics, SRI International, https://doi.org/10.1007/s00190-012-0578-z Deprecate DefaultEllipsoid.orthodromicDistance(…), which is replaced by GeodeticCalculator. https://issues.apache.org/jira/browse/SIS-386 add 2aecabd Renamed GeodeticCalculator.createCircularRegion2D(…) as createGeodesicCircle2D(…). add efb5039 Document better the algorithm source and the accuracy. add 1146ab5 Rename dφ as mcosα and dλ as msinα. The previous name were misleading since they were not displacements in degrees, but displacements in some conformal projection. The difference is a cos(φ) factor on northing values. add 7d277eb Take flattening in account when computing (∂y/∂φ)⁻¹. add 4b6bb5f Omit redundant sinα0 field. add 6baf41f Convenience method for repeating a character at the end of a StringBuilder. add aacd07f Create a ClenshawSummation helper class for applying the Clenshaw summation technic (recommended by Karney) on Karney equation 25. This technic has been applied in other places in Apache SIS since it happen often in map projections. Before this class, we used an OpenOffice spreadsheet for performing this summation. But Karney equation 25 is more difficult because of its dependency to another term, the third flattening factor. Using an OpenOffice spreadsheet was no longer [...] add 59d8460 Apply Clenshaw summation on Karney equation 25. add 98080c7 Now that the development of geodesic distance is completed, set STORE_LOCAL_VARIABLES debug flag to false. add 31042ac Adjustment in the way iteration tolerance is determined. add 919c2f2 Use the same latitude difference threshold for geodesic and rhumb line distances. add e7a95a2 fix(NetCDF): Remove subsampling doublon when preparing grid geometry for reading. add 26efb3d chore(Feature): minor fix on a javadoc sentence. add ff8e769 Reduce the number of distinct constants by replacing some additions by subtractions. add e3d94ef Initial draft of Rhumb Line distance calculated using formulas published by: G.G. Bennett, 1996. Practical Rhumb Line Calculations on the Spheroid. J. Navigation 49(1), 112--119. https://doi.org/10.1017/S0373463300013151 add b8aa208 Add tests for the rhumb line equatorial case. add ad6c9d8 Rewrite Bennett equation 1 by merging ΔΨ = Ψ(φ₂) - Ψ(φ₁) in a single step. It reduces the number of calls to Math.log and Math.pow. add dc53abf Apply Clenshaw summation on Bennett (1996) equation 2. add 1101a6c Replace sin or cos(atan2(Δλ, ΔΨ)) by more direct equivalence. add 8c9cf96 Add tests for the spherical case of rhumb line. add dba1bd6 Replace authalic radius by semi-major axis length in GeodeticCalculator. The intent is to allow GeodesicsOnEllipsoid to delegate to its parent class in the equatorial case. add d42ec44 Delegate to parent class for geodesic distance on equator. add 101aa25 Make computation of rhumb line robust to the case where longitude difference is greater than 180°. Minor formatting. add 9a32072 Partially revert "Omit redundant sinα0 field." This reverts parts of commit 4b6bb5fd7844d977e14957a5d618b8f91873d4f7. The reason is that the merging sinα0 into msinα2 was dangerous. It makes the code more difficult to analyse and was a cause of bug in createGeodesicPath2D(…), where msinα2 was updated by different ways than through α0 computation. add 4a0bac3 More accurate rhumb line distance in test cases using values computed by Karney's online calculator. add 071aae3 Test rhumb line azimuth. add 07448ca Replace checked exceptions by unchecked exceptions in GeodeticCalculator API. add f2591a4 Replace RuntimeException by GeodeticException where appropriate. add 8811433 JTS : make CRS key constant public add e94684c Filter : fix sort by comparator on Iterable types add e6a19fd Documentation updates. add be6e5d5 Rename Node.name() as getName() in order to implement Function.getName(). add 3cecdda Rename AbstractFunction as NamedFunction with the following modifications: - `name` and `fallback` field replaced by methods to override, since they are often fixed values for a given class. - `equals(Object)` and `hashCode()` implementations inherited from parent class. - Verification that `parameters` argument contains only non-null values. add 43187e6 Avoid direct reference to Java Topology Suite (JTS) library from the ST_Transform class. Instead, use the Geometries intenal class which will delegate to JTS, ESRI or Java2D depending which libraries are on the classpath. This commit also relaxes restrictions on type of arguments (first expression may not be an instance of FeatureExpression, and second expression does not need to be a literal). add 7daf0a9 CQL : add AntLR filter parser add 804cd1a CQL : move all antlr specific methods in internal package add 4a864d9 Filter ; add comparison filter tests add 1518f6c Filter : add Temporal filter function classes add aab81c7 Filter : add ST_Centroid and ST_Buffer add 0da1c1c Fix the version number of Java Topology Suite (JTS) dependency. add 99cac87 More arguments verification at SimpleQuery construction time and `toString()` adjustments. add 218845d Clarify which exception may be thrown if result type of expressions can not be determined. add e553027 When creating the FeatureType for a query or an expression, provide the FeatureTypeBuilder where the properties can be appended directly. add 4877df8 Improve error message if the feature type of filtered data can not be determined. add a4a4228 Avoid direct dependency to Java Topology Suite (JTS) library, and adjust exceptions. add 2d7e4a4 OGC filter specification mandates that the default value of `matchCase` parameter is true. add c51c8cc Better handling of temporal types in comparisons. add 86e4d51 Initial implementation of TemporalFunction. add b4d7b41 More tests about temporal functions. add 5961fbc Verify also the ComparisonFunction name during tests, and verify at least one of the two expression operands. Recycle some previously created objects, and add comments about what is being tested in TemporalFunctionTest. add 25a4935 Minor reformating and test refactoring. Some module of CQL reviews will be done later (hopefully), among other for avoiding dependency to AntLR, delegate geometry parsing to JTS/ESRI library and for trying to avoid direct dependency to JTS. In the meantime, the module is available on geoapi=4.0 branch for experiment but will be excluded from Apache SIS 1.0 release. add a206c7b Hide SQLMM class from public API (the function that it provides are available through DefaultFilterFactory) and refactor tests. add 38edbe5 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains GeodeticCalculator implementation on ellipsoid and additional expression & filter implementations. add 309aad8 Merge branch 'geoapi-3.1' The main work is GeodeticCalculator on ellipsoid. The work on filters & expressions is excluded since filter interfaces are not available in GeoAPI 3.0. add 154e065 Update dependencies. add 90949f7 Reduce the amount of HSQL-specific changes to SQL statements. We do not need anymore to omit "UNIQUE" keywords or to rename "CHR" as "CHAR". Avoid the "CREATE CACHED TABLE" statement by setting a default value instead. add bceb569 Remove the MORE_WORDS hack. It is no longer needed since we avoid using the HSQLDB-specific "CREATE CACHED TABLE" statement. A comment has been added to the `addReplacement(String, String)` method for allowing us to reintroduce this hack if we need it again in the future. add 1c8d8b1 Update links in documentation. add e0fa493 Minor documentation update. add 25af314 Spelling change: implementor -> implementer. add 4d20d15 Avoid a NullPointerException which may happen with non-standard logging configuration. The null logging Level has been observed when using HSQL. add bd753fe Provide more details in the documentation about how to upgrade the EPSG geodetic dataset. add 53cbe72 Fix the SIS-377 fix: standard foot (0.3048 meter) shall not be confused with US survey foot. See https://issues.apache.org/jira/browse/SIS-377 add cc55302 Update documentation about upgrading the EPSG database and update the list of sections in CoordinateReferenceSystems.java. add 83846c5 Merge branch 'geoapi-4.0' into geoapi-3.1 add cd5fecb Merge branch 'geoapi-3.1' add 8b31096 chore(Build): set explicit dependencies for JAXB api and engine. add 2972cce fix(referencing): remove useless jaxb dependency, already handled by sis-metadata. add b9b440d Merge branch 'chore/jaxb-dependency' into geoapi-4.0 with modifications: - Implementation.INTERNAL keep for now with removal is deferred at a later time: https://issues.apache.org/jira/browse/SIS-469 - All OGCNamespacePrefixMapper removed instead of only one, in order to keep Implementation.INTERNAL and ENDORSED equivalent. - Jakarata dependency with provided scope for allowing Java 8 to use its internal JAXB implementation. add 1f6356a Add a note about JAXB being distributed under Eclipse Distribution License license. add 17e09ca Make the sis-javafx module optional. That module is built only if the PATH_TO_FX environment variable is set. See https://openjfx.io/openjfx-docs/#install-javafx for more information. add 599ef94 Remove spurious warnings about "org.apache.sis.xml.defaultNamespace" property. add 2114e9d Modify the NetBeans project configuration for making it compatible with Java 11. We dropped the JavaFX sources from now (they are still present as an optional Maven module). add ae989c9 Add a note saying that Apache SIS can be built with Java version higher than 10. https://issues.apache.org/jira/browse/SIS-438 add 3363d3c Merge branch 'geoapi-4.0' into geoapi-3.1: make Apache SIS compatible with Java 11+. https://issues.apache.org/jira/browse/SIS-438 add bd04498 Merge branch 'geoapi-3.1'. Make Apache SIS compatible with Java 11. https://issues.apache.org/jira/browse/SIS-438 add 9abaedd Remove a version number which is already declared in dependency management. add d22d15f Rename ChangeListener as StoreListener and ChangeEvent as StoreEvent. https://issues.apache.org/jira/browse/SIS-421 add 962ee26 Replace hard-coded string value by a new constant in the Modules class. add b4b8bc3 Shapefile loggers should be package names, not class names. add 4f46eeb Prepare replacement of WarningListeners by StoreListeners. https://issues.apache.org/jira/browse/SIS-421 add 237a0a0 Replace the use of WarningListeners by StoreListeners in DataStore implementations. https://issues.apache.org/jira/browse/SIS-421 add 8201633 Replace null argument by call to convenience StoreListeners.warning(…) method. add d756a19 Deprecate WarningListener, replaced by the more generic StoreListener. In module that do not depend on org.apache.sis.storage, use java.util.logging.Filter. add 5db8d26 Merge https://issues.apache.org/jira/browse/SIS-421 work from branch 'geoapi-4.0' into geoapi-3.1. add e6937d1 Merge branch 'geoapi-3.1' add 26e5a8a Keep longer logger configuration for DataStores, and avoid the "internal" word in logger name. add 7663ff9 Edit project description. add fe2cbc1 Throws an exception on attempt to use a closed StorageConnector. This is necessary for avoiding NullPointerException later. add 5aa174a Safety against a wrong parameter type specified by user. add b2326a1 Clarification in documentation about where is located the iterator current position in the window. add 59b2a4b Change approach regarding MetadataCopier: throws IllegalArgumentException if the user specify an implementation class instead than interface. The previous approach was to fix automagically the user argument, but it would not work for some cases like implementations backed by java.lang.reflect.Proxy. We are better to let users know soon that they should specify an interface. add ced338e Provides a way to setup the "SpatialMetadata" data source programmatically. https://issues.apache.org/jira/browse/SIS-395 add 9e45485 Get synchronization lock only once for a whole WKT string to format. add 414235b Move ImmutableIdentifier from org.apache.sis.metadata.iso package to org.apache.sis.referencing package. This is an anticipation for Jigsaw modularisation in a future version. add cbe6d78 Merge branch 'geoapi-4.0' into geoapi-3.1 add 9671eeb Merge branch 'geoapi-3.1' add 6b6cc17 Fix javadoc links. add 1f3d2d6 Split the test in a case focusing on vertical extent and in a case for the larger metadata test file. add add9c3c Update documentation to better reflect the state of MD_ReferenceSystem support at XML marshalling time. It appears that https://issues.apache.org/jira/browse/SIS-431 is already mostly done, but it was not clear from the javadoc comments. add 54d6f5d Spelling fix: marshall -> marshal. add d6817fa Upgrade some Apache SIS version numbers from 0.8 to 1.0 in preparation for release candidate. add b403553 Merge branch 'geoapi-4.0' into geoapi-3.1 add a888fcd Merge branch 'geoapi-3.1' add 9f6d579 Update README file. add 97bbd5c Fix HTML errors. add e84fbdf Merge branch 'geoapi-4.0' into geoapi-3.1 add 0ba78eb Merge branch 'geoapi-3.1' add d9b2863 Set version number to 1.1-SNAPSHOT on master for next developments after 1.0 release. add b94b082 First round of removal of classes/methods deprecated in SIS 1.0. This commit removes only the classes and methods having no dependencies in SIS. add 25e21ce Remove the deprecated WarningListeners class and interface. add 3f0bf11 Delete deprecated DistanceUtils class (replaced by GeodeticCalculator) and remove LatLonPointRadius from public API. add 7762360 Bug fix: MetadataCopier.copy(type, metadata) should accept a type which is a super-type of the interface implemented by the given metadata instance. add 1387466 Remove the deprecated ModifiableMetadata.unmodifiable() method. add 1cbed34 Remove more deprecated methods: DefaultEllipsoid.orthodromicDistance, XML.DEFAULT_NAMESPACE. add ddbee3b Merge branch 'geoapi-4.0' into geoapi-3.1: removal of deprecated methods. add 90b5999 Merge branch 'geoapi-3.1': remove deprecated methods. add e016ebd Bug fix: Comparison with `ANY` returned `true` while `false` was expected. add 11a09b8 Rename "ModifiableMetadata.transition" to "transitionTo". The previous name was a bit ambiguous. add 82991de API change before 1.0 release: Reverse the argument order in DataStore.addListener/removeListener. The intent is to be consistent with similar methods elsewhere in SIS, which put the Class<T> argument first. add 48d2fc1 Clarification about whether a DataStore.getFoo() method can return null. Contain one last-minute API change before 1.0 release: getOpenParameters() return Optional. add 6217d6d Merge branch 'geoapi-4.0' into geoapi-3.1: last minute API changes before 1.0 release. add ba0a5b3 Merge branch 'geoapi-3.1': last-minute API changes before 1.0 release. add 0dc29ec Upgrade version numbers from 1.0 to 1.1 on classes that are not part of Apache SIS 1.0 release. add ef215fb Upgrade the build requirement from Java 10 to Java 11 (but keep the result executable on Java 8). This upgrade allows us to remove a hack for javadoc generation under Java 10. add ec4f7b6 Add a test for an issue reported when running units of measurement TCK. add 1c2643b Adjustement to the build for Apache SIS 1.0 release: - Add explicitly a transitive dependency required for javadoc generation. - Add a public class (empty for now) in Japanese profile for preventing empty javadoc. - Remove Ant tasks that were specifics to Subversion branches and tags. - Adjust version numbers. add 8b80a97 Identity unit conversion should preserve negative zero. When the value is used in a map projection parameter, the sign has implications in the concatenated transforms chain. The final result is numerically equivalent, but intermediate steps may differ depending on the parameter sign. add 8bc9157 Last configuration and documentation fixes ported from Apache SIS 1.0-RC1. add 7d1c6db Merge branch 'geoapi-4.0' into geoapi-3.1: port fixes from Apache SIS 1.0-RC1. add 71f1c7d Merge branch 'geoapi-3.1': port fixes from Apache SIS 1.0-RC1. add efdf7d8 Fix copyright year (error identified by Alexis) and URL to Maven. add 7c07889 Updates paths and properties to new syntax or location. add 6274488 Reduce the numbers of authorities declared in the ESRI-specific projections: limit to ESRI, OGC and Proj4. add d650236 feat (sis-referencing & internal) : implement cylindrical and conic satellite-tracking projections from Snyder's 'Map Projections - a working Manual'. Don't compute derivatives yet. Very few tests. add c9746c3 feat (sis-referencing & internal) : add test for cylindrical satellite-tracking projection and refactor of the ConicSatelliteTracking classe to use methods instead of lambda expressions add 2b94c39 feat (referencing) : add some tests for satellite-tracking projections from tables 38 and 39 of Snyder's Manual (page 238). Fix the condition of the while loop when applying Newton method. add a8a3962 feat&refactor (referencing- satellite tracking) : refactor to extract terms from transform/inverseTransform methods AND try to compute Jacobian Matrix. Tests not passed for the conic satellite tracking projection yet. Refactor should be lead to compute L coefficient and its derivative in a method. add 47873d4 fix (referencing satellite-tracking projections) : fix the Jacobian matrix in both satellite-tracking projections by inverting m01 and m10 in order to have the partial derivative of x on the matrix's first line and of y on the second line. add 8c2d72d refactor (referencing satellite-tracking projections) : Method used by both (cylindrical and conic) direct transformation of the Satellite-tracking projections to compute the L coefficient and its partial derivate dL_dφ if queried. Test passed for both transformation and testDerivativeOnSphere. add 4f9f695 Merge remote-tracking branch 'Satellite_Tracking_Projection' into geoapi-4.0. Some refactoring to come in next commits. add ea466fa Reformatting: - Format copyright header in the same way than other files. - Rearrange some import order and remove some empty lines. - Set version number to 1.1. add 64a587b Apply some algebraic simplifications on formulas, then merge ConicSatelliteTracking and CylindricalSatelliteTracking in a single SatelliteTracking class. Those cylindrical and conical forms have a lot in common, which make them easier to manage by `if (isConic)` statements. Reduce the number of fields as a consequence of the merge and algebraic simplification. Adjust the type of exception thrown, or whether an exception is thrown instead of setting values to NaN (policy [...] add 130cec1 Apply some algebraic rearrangements and update the documentation about which Snyder formulas are used. Verify the validity of latitude arguments compared to satellite orbit inclination. Tune the tolerance factors used in tests. add 574a501 Adjust formatting of angular value of zero. Fix typo in person name. add 195b528 Register the SatelliteTracking projection. This commit completes https://issues.apache.org/jira/browse/SIS-452 add 47cbce0 When an additional offset needs to be added to the pixel stride, scanline stride, plane stride, etc., express that offset in byte units instead than sample units. This change fixes https://issues.apache.org/jira/browse/SIS-476 add 5c02092 Coverage : fix a null pointer on sample dimension creation when name is undefined add 1ff7519 fix(Referencing): improve common CRS suggestion to return base geographic system when possible. add d3672ef Remove obsolete documentation. add 6a8e917 Check for arithmetic overflows. add 88db100 Referencing objects implement java.util.Formattable. add 692ba84 Minor documentation fixes. add bdce53d Clarification in javadoc. add 8916572 Make the build compatible with Java 12+. We do not yet require Java 13 at build time, but this is something we may do. https://lists.apache.org/thread.html/da2026376fe0c92b3434c489bb5c35f55e436c1f20eddb777da28d01@%3Cdev.sis.apache.org%3E add fb28872 Documentation updates for synchronization with code changes. add 574a063 Merge branch 'geoapi-4.0' into geoapi-3.1. add 283f572 Merge branch 'geoapi-3.1'. add efa8203 Adjust the style and formatting of <div class="note">...</div>. add 5913110 Remplace <div class="section"> HTML tags by <h2> or <h4> standard tags. We avoided those tags previously because it was not clear at which number we should start. But Java 13 now fix those numbers with implicit value depending on the context (whether we are documenting a class or a method), and the compiler verifies those numbers. Since those numbers are now clearly defined, we can rely on them and remove the previous conservative apprach. add c63edcc Actually the <h4> numbering in Javadoc seems to be incompatible with the numbers expected by Java 11. Require Java 13 for building Apache SIS (but still produce code executable on Java 8) so we can write Javadoc comments compliant with most recent Java version. add 20de767 Merge HTML changes in javadoc from branch 'geoapi-4.0'. add ddfef3e Merge HTML changes in javadoc from branch 'geoapi-3.1'. add 52a543d Use {@systemProperty} javadoc tag (new in Java 12) where we are defining system properties. add adfaee7 Upgrade some dependencies. add a941f05 Consolidation of the way we check if some tests are enabled. add d1ee6aa Inserts table of parameter names for every `ParameterDescriptor` declaration in the provider package. Those tables are generated automatically by `ParameterNameTableGenerator` from runtime information. The intent is to make easier to maintain the parameter declarations when new projections are added, since we use the existing parameters as templates. add 42ed8a4 Add additional information about parameter: value domain, default value, whether it is optional. add d28ce40 Correction in the report of default values. add a8e2cbb Initial implementation of Orthographic projection (spherical formulas) implemented from Wikipedia and Snyder equations. https://issues.apache.org/jira/browse/SIS-223 - not yet completed because missing ellipsoidal formulas. This work implied revisiting the way we copy names and identifiers from an existing ParameterDescriptor for creating a new ParameterDescriptor. add d33105c Consolidation of reference to Wikipedia or MathWorld. add dd58ea3 Fix "llegalArgumentException: Argument ‘count’ shall not be negative" when invoking GridGeometry.toString(). add be44417 'sis' command should resolve symbolic link. add 9581e07 Fix SampleDimension formatting bugs: - Was missing name of sample dimensions after the first one. - Formatting of bands without categories was not helpful. add 609bbd9 More explicit exception when there is overlapping range, and make this exception non-fatal in netCDF reader. add 31758f6 Avoid range collision if the minimum or maximum value in a netCDF file is equals to a pad/fill value. add 64f0021 Documentation updates and finer checks of overlapping ranges in netCDF files. add 13b98e3 Add an checked exception for data not found for other reason than illegal name. The reason of interest in this commit is disjoint extent. add c68512d Implement ellipsoidal formulas of Orthographic projection from the formulas published in EPSG guidance notes. https://issues.apache.org/jira/browse/SIS-223 add 25fbf74 When computing inverse projection, temporarily disable the setting of out-of-domain coordinates to NaN. We use the Inverter class as a flag for identifying those situations. add 1105c74 Merge branch 'geoapi-4.0' into geoapi-3.1 add b25123d Merge branch 'geoapi-3.1' new 85784b5 First patch from Michiel Rop for migrating to JUnit 5: https://issues.apache.org/jira/browse/SIS-457 The code compile but tests are not yet enabled. new 5bc9d1e SIS-457 Run TestSuites with junit5 new 6f72a1d SIS-457 Update javadoc new ca0e3b7 SIS-457 Replace @BeforeClass and @AfterClass new e807c05 Upgrade JUnit dependency and replace JUnit 4 dependency by JUnit 5 in NetBeans project configuration. 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 (0e02be3) \ N -- N -- N refs/heads/SIS-457 (e807c05) 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 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: NOTICE | 13 +- README | 30 +- application/pom.xml | 19 +- application/sis-console/pom.xml | 11 +- application/sis-console/src/main/artifact/README | 6 +- application/sis-console/src/main/artifact/bin/sis | 5 +- .../sis-console/src/main/artifact/lib/README | 1 + .../java/org/apache/sis/console/AboutCommand.java | 2 +- .../main/java/org/apache/sis/console/Command.java | 8 +- .../org/apache/sis/console/IdentifierCommand.java | 6 +- .../apache/sis/console/ResourcesDownloader.java | 2 +- .../org/apache/sis/console/TransformCommand.java | 21 +- .../java/org/apache/sis/console/package-info.java | 4 +- .../apache/sis/console/IdentifierState.properties | 2 +- .../sis/console/IdentifierState_fr.properties | 2 +- .../org/apache/sis/console/AboutCommandTest.java | 8 +- .../org/apache/sis/console/CRSCommandTest.java | 20 +- .../apache/sis/test/suite/ConsoleTestSuite.java | 9 +- application/sis-javafx/pom.xml | 7 +- .../org/apache/sis/gui/dataset/ResourceTree.java | 4 +- .../org/apache/sis/internal/gui/Resources.java | 2 +- application/sis-openoffice/pom.xml | 2 +- .../org/apache/sis/openoffice/Transformer.java | 4 +- .../src/main/unopkg/build-instruction.html | 2 +- .../sis/openoffice/ReferencingFunctionsTest.java | 4 +- .../org/apache/sis/openoffice/TransformerTest.java | 4 +- .../apache/sis/test/suite/OpenOfficeTestSuite.java | 8 +- application/sis-webapp/pom.xml | 2 +- .../org/apache/sis/services/LocationServlet.java | 13 +- core/pom.xml | 2 +- core/sis-build-helper/pom.xml | 2 +- .../src/main/ant/prepare-release.xml | 26 +- .../org/apache/sis/internal/doclet/Doclet.java | 45 +- .../org/apache/sis/internal/doclet/Include.java | 2 +- .../org/apache/sis/internal/doclet/Taglet.java | 23 +- .../apache/sis/internal/unopkg/package-info.java | 4 +- core/sis-feature/pom.xml | 2 +- .../java/org/apache/sis/coverage/Category.java | 8 +- .../java/org/apache/sis/coverage/CategoryList.java | 8 +- ...n.java => IllegalSampleDimensionException.java} | 23 +- .../org/apache/sis/coverage/SampleDimension.java | 13 +- .../org/apache/sis/coverage/SampleRangeFormat.java | 146 +- .../main/java/org/apache/sis/coverage/ToNaN.java | 4 +- .../sis/coverage/grid/GridCoordinatesView.java | 18 +- .../org/apache/sis/coverage/grid/GridCoverage.java | 11 +- .../apache/sis/coverage/grid/GridDerivation.java | 120 +- .../org/apache/sis/coverage/grid/GridExtent.java | 145 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 462 ++++- .../apache/sis/coverage/grid/ImageRenderer.java | 2 +- .../java/org/apache/sis/coverage/package-info.java | 2 +- .../apache/sis/feature/AbstractAssociation.java | 4 +- .../org/apache/sis/feature/AbstractAttribute.java | 8 +- .../org/apache/sis/feature/AbstractFeature.java | 16 +- .../apache/sis/feature/AbstractIdentifiedType.java | 2 +- .../apache/sis/feature/CharacteristicTypeMap.java | 2 +- .../org/apache/sis/feature/CommonParentFinder.java | 174 ++ .../apache/sis/feature/DefaultAssociationRole.java | 2 +- .../apache/sis/feature/DefaultAttributeType.java | 6 +- .../org/apache/sis/feature/DefaultFeatureType.java | 14 +- .../org/apache/sis/feature/EnvelopeOperation.java | 2 +- .../java/org/apache/sis/feature/FeatureFormat.java | 11 +- .../org/apache/sis/feature/FeatureOperations.java | 10 +- .../main/java/org/apache/sis/feature/Features.java | 25 +- .../apache/sis/feature/MultiValuedAssociation.java | 2 +- .../apache/sis/feature/MultiValuedAttribute.java | 2 +- .../apache/sis/feature/SingletonAssociation.java | 2 +- .../org/apache/sis/feature/SingletonAttribute.java | 2 +- .../sis/feature/builder/FeatureTypeBuilder.java | 9 - .../apache/sis/feature/builder/TypeBuilder.java | 2 +- .../java/org/apache/sis/feature/package-info.java | 6 +- .../java/org/apache/sis/image/DefaultIterator.java | 7 +- .../java/org/apache/sis/image/LinearIterator.java | 5 +- .../java/org/apache/sis/image/PixelIterator.java | 14 +- .../java/org/apache/sis/image/SequenceType.java | 7 +- .../apache/sis/image/WritablePixelIterator.java | 11 +- .../sis/internal/coverage/RasterFactory.java | 24 +- .../sis/internal/feature/AttributeConvention.java | 2 +- .../java/org/apache/sis/internal/feature/ESRI.java | 25 +- .../sis/internal/feature/FeatureExpression.java | 46 - .../apache/sis/internal/feature/Geometries.java | 252 ++- .../sis/internal/feature/GeometryWrapper.java | 5 +- .../java/org/apache/sis/internal/feature/JTS.java | 110 +- .../org/apache/sis/internal/feature/Java2D.java | 36 +- .../apache/sis/internal/feature/MovingFeature.java | 4 +- .../org/apache/sis/internal/feature/Resources.java | 19 +- .../sis/internal/feature/Resources.properties | 5 +- .../sis/internal/feature/Resources_fr.properties | 5 +- .../feature/jts/GeometryCoordinateTransform.java | 80 +- .../internal/feature/jts/GeometryTransform.java | 161 +- .../org/apache/sis/internal/feature/jts/JTS.java | 67 +- .../apache/sis/coverage/SampleRangeFormatTest.java | 137 ++ .../sis/coverage/grid/GridDerivationTest.java | 32 +- .../apache/sis/coverage/grid/GridExtentTest.java | 22 +- .../apache/sis/coverage/grid/GridGeometryTest.java | 21 + .../org/apache/sis/image/DefaultIteratorTest.java | 44 +- .../java/org/apache/sis/image/ImageTestCase.java | 2 +- .../org/apache/sis/image/LinearIteratorTest.java | 2 +- .../apache/sis/internal/feature/jts/JTSTest.java | 11 +- .../apache/sis/test/suite/FeatureTestSuite.java | 11 +- core/sis-metadata/pom.xml | 15 +- .../java/org/apache/sis/internal/jaxb/Context.java | 21 +- .../sis/internal/jaxb/IdentifierMapAdapter.java | 8 +- .../sis/internal/jaxb/ModifiableIdentifierMap.java | 2 +- .../sis/internal/jaxb/PrimitiveTypeProperties.java | 6 +- .../apache/sis/internal/jaxb/gco/GO_DateTime.java | 2 +- .../apache/sis/internal/jaxb/gco/GO_Decimal.java | 2 +- .../org/apache/sis/internal/jaxb/gco/GO_Real.java | 2 +- .../jaxb/gco/InternationalStringAdapter.java | 2 +- .../apache/sis/internal/jaxb/gco/PropertyType.java | 6 +- .../sis/internal/jaxb/gco/StringAdapter.java | 2 +- .../apache/sis/internal/jaxb/gco/package-info.java | 7 +- .../sis/internal/jaxb/geometry/package-info.java | 2 +- .../sis/internal/jaxb/gmi/LE_ProcessStep.java | 2 +- .../apache/sis/internal/jaxb/gmi/LE_Source.java | 2 +- .../org/apache/sis/internal/jaxb/gmi/MI_Band.java | 2 +- .../internal/jaxb/gmi/MI_CoverageDescription.java | 2 +- .../sis/internal/jaxb/gmi/MI_Georectified.java | 2 +- .../sis/internal/jaxb/gmi/MI_Georeferenceable.java | 2 +- .../sis/internal/jaxb/gmi/MI_ImageDescription.java | 2 +- .../apache/sis/internal/jaxb/gmi/MI_Metadata.java | 2 +- .../apache/sis/internal/jaxb/gml/GMLAdapter.java | 2 +- .../org/apache/sis/internal/jaxb/gml/Measure.java | 2 +- .../sis/internal/jaxb/metadata/CI_Address.java | 2 +- .../sis/internal/jaxb/metadata/CI_Citation.java | 2 +- .../sis/internal/jaxb/metadata/CI_Contact.java | 2 +- .../apache/sis/internal/jaxb/metadata/CI_Date.java | 2 +- .../internal/jaxb/metadata/CI_OnlineResource.java | 2 +- .../sis/internal/jaxb/metadata/CI_Party.java | 2 +- .../internal/jaxb/metadata/CI_Responsibility.java | 2 +- .../jaxb/metadata/CI_ResponsibleParty.java | 2 +- .../sis/internal/jaxb/metadata/CI_Series.java | 2 +- .../sis/internal/jaxb/metadata/CI_Telephone.java | 2 +- .../sis/internal/jaxb/metadata/DQ_DataQuality.java | 2 +- .../sis/internal/jaxb/metadata/DQ_Element.java | 2 +- .../jaxb/metadata/DQ_PositionalAccuracy.java | 2 +- .../sis/internal/jaxb/metadata/DQ_Result.java | 2 +- .../sis/internal/jaxb/metadata/EX_Extent.java | 2 +- .../jaxb/metadata/EX_GeographicExtent.java | 2 +- .../internal/jaxb/metadata/EX_TemporalExtent.java | 2 +- .../internal/jaxb/metadata/EX_VerticalExtent.java | 2 +- .../sis/internal/jaxb/metadata/LE_Algorithm.java | 2 +- .../jaxb/metadata/LE_NominalResolution.java | 2 +- .../jaxb/metadata/LE_ProcessStepReport.java | 2 +- .../sis/internal/jaxb/metadata/LE_Processing.java | 2 +- .../sis/internal/jaxb/metadata/LI_Lineage.java | 2 +- .../sis/internal/jaxb/metadata/LI_ProcessStep.java | 2 +- .../sis/internal/jaxb/metadata/LI_Source.java | 2 +- .../jaxb/metadata/MD_AggregateInformation.java | 2 +- .../metadata/MD_ApplicationSchemaInformation.java | 2 +- .../internal/jaxb/metadata/MD_AttributeGroup.java | 2 +- .../internal/jaxb/metadata/MD_BrowseGraphic.java | 2 +- .../sis/internal/jaxb/metadata/MD_Constraints.java | 2 +- .../jaxb/metadata/MD_ContentInformation.java | 2 +- .../jaxb/metadata/MD_DataIdentification.java | 2 +- .../jaxb/metadata/MD_DigitalTransferOptions.java | 2 +- .../sis/internal/jaxb/metadata/MD_Dimension.java | 2 +- .../internal/jaxb/metadata/MD_Distribution.java | 2 +- .../sis/internal/jaxb/metadata/MD_Distributor.java | 2 +- .../metadata/MD_ExtendedElementInformation.java | 2 +- .../internal/jaxb/metadata/MD_FeatureTypeInfo.java | 2 +- .../sis/internal/jaxb/metadata/MD_Format.java | 2 +- .../jaxb/metadata/MD_GeometricObjects.java | 2 +- .../internal/jaxb/metadata/MD_Identification.java | 2 +- .../sis/internal/jaxb/metadata/MD_Identifier.java | 28 +- .../internal/jaxb/metadata/MD_KeywordClass.java | 2 +- .../sis/internal/jaxb/metadata/MD_Keywords.java | 2 +- .../jaxb/metadata/MD_MaintenanceInformation.java | 2 +- .../sis/internal/jaxb/metadata/MD_Medium.java | 2 +- .../sis/internal/jaxb/metadata/MD_Metadata.java | 2 +- .../metadata/MD_MetadataExtensionInformation.java | 2 +- .../internal/jaxb/metadata/MD_MetadataScope.java | 2 +- .../metadata/MD_PortrayalCatalogueReference.java | 2 +- .../internal/jaxb/metadata/MD_RangeDimension.java | 2 +- .../internal/jaxb/metadata/MD_Releasability.java | 2 +- .../jaxb/metadata/MD_RepresentativeFraction.java | 2 +- .../sis/internal/jaxb/metadata/MD_Resolution.java | 2 +- .../sis/internal/jaxb/metadata/MD_Scope.java | 2 +- .../jaxb/metadata/MD_ScopeDescription.java | 2 +- .../jaxb/metadata/MD_SpatialRepresentation.java | 2 +- .../jaxb/metadata/MD_StandardOrderProcess.java | 2 +- .../sis/internal/jaxb/metadata/MD_Usage.java | 2 +- .../jaxb/metadata/MI_AcquisitionInformation.java | 2 +- .../jaxb/metadata/MI_EnvironmentalRecord.java | 2 +- .../sis/internal/jaxb/metadata/MI_Event.java | 2 +- .../apache/sis/internal/jaxb/metadata/MI_GCP.java | 2 +- .../jaxb/metadata/MI_GeolocationInformation.java | 2 +- .../sis/internal/jaxb/metadata/MI_Instrument.java | 2 +- .../sis/internal/jaxb/metadata/MI_Objective.java | 2 +- .../sis/internal/jaxb/metadata/MI_Operation.java | 2 +- .../apache/sis/internal/jaxb/metadata/MI_Plan.java | 2 +- .../sis/internal/jaxb/metadata/MI_Platform.java | 2 +- .../internal/jaxb/metadata/MI_PlatformPass.java | 2 +- .../jaxb/metadata/MI_RangeElementDescription.java | 2 +- .../internal/jaxb/metadata/MI_RequestedDate.java | 2 +- .../sis/internal/jaxb/metadata/MI_Requirement.java | 2 +- .../sis/internal/jaxb/metadata/MX_DataFile.java | 2 +- .../sis/internal/jaxb/metadata/RS_Identifier.java | 98 - .../internal/jaxb/metadata/RS_ReferenceSystem.java | 22 +- .../internal/jaxb/metadata/SV_CoupledResource.java | 2 +- .../jaxb/metadata/SV_OperationChainMetadata.java | 2 +- .../jaxb/metadata/SV_OperationMetadata.java | 2 +- .../sis/internal/jaxb/metadata/SV_Parameter.java | 2 +- .../sis/internal/jaxb/metadata/package-info.java | 2 +- .../jaxb/metadata/replace/RS_Identifier.java | 110 + .../metadata/replace/ReferenceSystemMetadata.java | 47 +- .../jaxb/metadata/replace/ServiceParameter.java | 2 +- .../jaxb/metadata/replace/package-info.java | 2 + .../org/apache/sis/internal/jaxb/package-info.java | 2 +- .../apache/sis/internal/metadata/Identifiers.java | 273 +++ .../sis/internal/metadata/NameToIdentifier.java | 14 + .../sis/internal/metadata/ReferencingServices.java | 420 +--- .../apache/sis/internal/metadata/Resources.java | 27 + .../sis/internal/metadata/Resources.properties | 2 + .../sis/internal/metadata/Resources_fr.properties | 2 + .../sis/internal/metadata/ServicesForUtility.java | 42 +- .../internal/metadata/TransformationAccuracy.java | 2 +- .../sis/internal/metadata/sql/Initializer.java | 22 +- .../sis/internal/metadata/sql/ScriptRunner.java | 63 +- .../sis/internal/metadata/sql/package-info.java | 2 +- .../apache/sis/internal/simple/SimpleCitation.java | 2 - .../internal/simple/SimpleIdentifiedObject.java | 8 +- .../sis/internal/simple/SimpleIdentifier.java | 5 +- .../java/org/apache/sis/internal/xml/Schemas.java | 2 +- .../org/apache/sis/metadata/AbstractMetadata.java | 19 +- .../org/apache/sis/metadata/InformationMap.java | 14 +- .../org/apache/sis/metadata/MetadataCopier.java | 41 +- .../org/apache/sis/metadata/MetadataStandard.java | 46 +- .../org/apache/sis/metadata/MetadataVisitor.java | 4 +- .../apache/sis/metadata/ModifiableMetadata.java | 142 +- .../org/apache/sis/metadata/PropertyAccessor.java | 68 +- .../apache/sis/metadata/PropertyInformation.java | 2 +- .../java/org/apache/sis/metadata/SpecialCases.java | 6 +- .../java/org/apache/sis/metadata/StateChanger.java | 6 +- .../org/apache/sis/metadata/TreeNodeChildren.java | 6 +- .../apache/sis/metadata/ValueExistencePolicy.java | 2 +- .../apache/sis/metadata/iso/DefaultIdentifier.java | 30 +- .../apache/sis/metadata/iso/DefaultMetadata.java | 6 +- .../org/apache/sis/metadata/iso/ISOMetadata.java | 6 +- .../metadata/iso/acquisition/DefaultObjective.java | 2 +- .../sis/metadata/iso/acquisition/package-info.java | 4 +- .../sis/metadata/iso/citation/Citations.java | 308 ++- .../sis/metadata/iso/citation/DefaultCitation.java | 8 +- .../sis/metadata/iso/citation/DefaultContact.java | 2 +- .../metadata/iso/citation/DefaultTelephone.java | 8 +- .../sis/metadata/iso/citation/package-info.java | 6 +- .../iso/constraint/DefaultLegalConstraints.java | 2 +- .../sis/metadata/iso/constraint/package-info.java | 4 +- .../sis/metadata/iso/content/package-info.java | 4 +- .../metadata/iso/distribution/DefaultDataFile.java | 14 +- .../distribution/DefaultStandardOrderProcess.java | 4 +- .../metadata/iso/distribution/package-info.java | 4 +- .../sis/metadata/iso/extent/DefaultExtent.java | 2 +- .../iso/extent/DefaultGeographicBoundingBox.java | 17 +- .../metadata/iso/extent/DefaultTemporalExtent.java | 2 +- .../metadata/iso/extent/DefaultVerticalExtent.java | 8 +- .../apache/sis/metadata/iso/extent/Extents.java | 8 +- .../sis/metadata/iso/extent/package-info.java | 4 +- .../iso/identification/AbstractIdentification.java | 2 +- .../DefaultAggregateInformation.java | 2 +- .../identification/DefaultAssociatedResource.java | 2 +- .../iso/identification/DefaultBrowseGraphic.java | 4 +- .../iso/identification/DefaultCoupledResource.java | 6 +- .../DefaultRepresentativeFraction.java | 4 +- .../iso/identification/DefaultResolution.java | 12 +- .../metadata/iso/identification/package-info.java | 4 +- .../sis/metadata/iso/lineage/DefaultLineage.java | 2 +- .../sis/metadata/iso/lineage/DefaultSource.java | 2 +- .../sis/metadata/iso/lineage/package-info.java | 4 +- .../iso/maintenance/DefaultScopeDescription.java | 102 +- .../iso/maintenance/LegacyFeatureType.java | 21 + .../sis/metadata/iso/maintenance/package-info.java | 4 +- .../org/apache/sis/metadata/iso/package-info.java | 8 +- .../sis/metadata/iso/quality/AbstractElement.java | 2 +- .../metadata/iso/quality/DefaultDataQuality.java | 2 +- .../iso/quality/DefaultQuantitativeResult.java | 2 +- .../sis/metadata/iso/quality/package-info.java | 6 +- .../metadata/iso/spatial/DefaultGeorectified.java | 6 +- .../sis/metadata/iso/spatial/package-info.java | 6 +- .../java/org/apache/sis/metadata/package-info.java | 8 +- .../apache/sis/metadata/sql/CachedStatement.java | 33 +- .../org/apache/sis/metadata/sql/Dispatcher.java | 2 +- .../sis/metadata/sql/IdentifierGenerator.java | 2 +- .../apache/sis/metadata/sql/MetadataFallback.java | 21 +- .../apache/sis/metadata/sql/MetadataSource.java | 77 +- .../apache/sis/metadata/sql/MetadataWriter.java | 6 +- .../org/apache/sis/metadata/sql/package-info.java | 2 +- .../org/apache/sis/util/iso/AbstractFactory.java | 2 +- .../java/org/apache/sis/util/iso/AbstractName.java | 4 +- .../org/apache/sis/util/iso/DefaultLocalName.java | 4 +- .../org/apache/sis/util/iso/DefaultMemberName.java | 2 +- .../apache/sis/util/iso/DefaultNameFactory.java | 2 +- .../org/apache/sis/util/iso/DefaultNameSpace.java | 7 +- .../org/apache/sis/util/iso/DefaultRecord.java | 2 +- .../apache/sis/util/iso/DefaultRecordSchema.java | 4 +- .../org/apache/sis/util/iso/DefaultRecordType.java | 6 +- .../org/apache/sis/util/iso/DefaultScopedName.java | 2 +- .../org/apache/sis/util/iso/DefaultTypeName.java | 4 +- .../org/apache/sis/util/iso/GlobalNameSpace.java | 2 +- .../main/java/org/apache/sis/util/iso/Names.java | 22 +- .../org/apache/sis/util/iso/RecordDefinition.java | 4 +- .../main/java/org/apache/sis/util/iso/Types.java | 2 +- .../java/org/apache/sis/util/iso/package-info.java | 5 +- .../java/org/apache/sis/xml/IdentifiedObject.java | 2 +- .../java/org/apache/sis/xml/Implementation.java | 32 +- .../java/org/apache/sis/xml/MarshalContext.java | 10 +- .../java/org/apache/sis/xml/MarshallerPool.java | 35 +- .../main/java/org/apache/sis/xml/Namespaces.java | 24 +- .../main/java/org/apache/sis/xml/NilObject.java | 2 +- .../main/java/org/apache/sis/xml/NilReason.java | 6 +- .../apache/sis/xml/OGCNamespacePrefixMapper.java | 79 - .../sis/xml/OGCNamespacePrefixMapper_Endorsed.java | 73 - .../src/main/java/org/apache/sis/xml/Pooled.java | 16 +- .../java/org/apache/sis/xml/ReferenceResolver.java | 2 +- .../main/java/org/apache/sis/xml/Transformer.java | 2 +- .../java/org/apache/sis/xml/ValueConverter.java | 6 +- .../src/main/java/org/apache/sis/xml/XLink.java | 20 +- .../src/main/java/org/apache/sis/xml/XML.java | 42 +- .../main/java/org/apache/sis/xml/package-info.java | 4 +- .../src/main/java/org/apache/sis/xml/readme.html | 2 +- .../org/apache/sis/xml/RenameOnImport.lst | 2 + .../internal/jaxb/cat/CodeListMarshallingTest.java | 6 +- .../sis/internal/jaxb/cat/EnumMarshallingTest.java | 2 +- .../sis/internal/jaxb/gco/MultiplicityTest.java | 3 +- .../sis/internal/jaxb/gml/TimePeriodTest.java | 6 +- .../sis/internal/jaxb/lan/LanguageCodeTest.java | 7 +- .../sis/internal/metadata/IdentifiersTest.java | 114 ++ .../java/org/apache/sis/io/wkt/WKTFormatTest.txt | 4 - .../apache/sis/metadata/MetadataCopierTest.java | 48 +- .../apache/sis/metadata/MetadataStandardTest.java | 4 +- .../sis/metadata/ModifiableMetadataTest.java | 10 +- .../java/org/apache/sis/metadata/NameMapTest.java | 2 +- .../apache/sis/metadata/PropertyAccessorTest.java | 18 +- .../sis/metadata/PropertyConsistencyCheck.java | 4 +- .../org/apache/sis/metadata/SpecialCasesTest.java | 8 +- .../apache/sis/metadata/TreeNodeChildrenTest.java | 2 +- .../sis/metadata/iso/CustomMetadataTest.java | 2 +- .../sis/metadata/iso/citation/CitationsTest.java | 31 +- .../metadata/iso/citation/DefaultCitationTest.java | 23 +- .../metadata/iso/citation/DefaultContactTest.java | 20 +- .../metadata/iso/citation/HardCodedCitations.java | 13 +- .../identification/DefaultBrowseGraphicTest.java | 17 +- .../DefaultRepresentativeFractionTest.java | 4 +- .../iso/identification/DefaultResolutionTest.java | 4 +- .../maintenance/DefaultScopeDescriptionTest.java | 3 +- .../iso/spatial/DefaultGeorectifiedTest.java | 3 +- .../java/org/apache/sis/test/MetadataAssert.java | 108 +- .../java/org/apache/sis/test/sql/TestDatabase.java | 13 +- .../apache/sis/test/suite/MetadataTestSuite.java | 21 +- .../sis/test/xml/AnnotationConsistencyCheck.java | 25 +- .../java/org/apache/sis/test/xml/TestCase.java | 3 +- .../sis/util/iso/DefaultNameFactoryTest.java | 6 +- .../org/apache/sis/util/iso/DefaultRecordTest.java | 7 +- .../apache/sis/util/iso/NameMarshallingTest.java | 4 +- .../sis/xml/CharSequenceSubstitutionTest.java | 36 +- .../org/apache/sis/xml/MarshallerPoolTest.java | 2 - .../java/org/apache/sis/xml/NilReasonTest.java | 4 +- .../sis/xml/OGCNamespacePrefixMapperTest.java | 134 -- core/sis-portrayal/pom.xml | 2 +- core/sis-referencing-by-identifiers/pom.xml | 6 +- .../referencing/gazetteer/FinalLocationType.java | 14 +- .../gazetteer/GeohashReferenceSystem.java | 6 +- .../gazetteer/MilitaryGridReferenceSystem.java | 12 +- .../gazetteer/ModifiableLocationType.java | 4 +- .../gazetteer/ReferencingByIdentifiers.java | 2 +- .../sis/referencing/gazetteer/SimpleLocation.java | 8 +- .../sis/referencing/gazetteer/package-info.java | 2 +- .../referencing/gazetteer/LocationTypeTest.java | 2 +- .../suite/ReferencingByIdentifiersTestSuite.java | 8 +- core/sis-referencing/pom.xml | 11 +- .../org/apache/sis/distance/DistanceUtils.java | 102 - .../sis/geometry/AbstractDirectPosition.java | 65 +- .../org/apache/sis/geometry/AbstractEnvelope.java | 113 +- .../org/apache/sis/geometry/ArrayEnvelope.java | 153 +- .../org/apache/sis/geometry/CoordinateFormat.java | 61 +- .../org/apache/sis/geometry/CurveExtremum.java | 8 +- .../org/apache/sis/geometry/DirectPosition1D.java | 50 +- .../org/apache/sis/geometry/DirectPosition2D.java | 34 +- .../java/org/apache/sis/geometry/Envelope2D.java | 113 +- .../java/org/apache/sis/geometry/Envelopes.java | 67 +- .../apache/sis/geometry/GeneralDirectPosition.java | 129 +- .../org/apache/sis/geometry/GeneralEnvelope.java | 436 ++-- .../org/apache/sis/geometry/ImmutableEnvelope.java | 16 +- .../java/org/apache/sis/geometry/Shapes2D.java | 16 +- .../java/org/apache/sis/geometry/SubEnvelope.java | 54 +- .../java/org/apache/sis/geometry/package-info.java | 10 +- .../internal/jaxb/referencing/CC_Conversion.java | 2 +- .../jaxb/referencing/CC_CoordinateOperation.java | 2 +- .../referencing/CC_GeneralOperationParameter.java | 2 +- .../jaxb/referencing/CC_GeneralParameterValue.java | 2 +- .../jaxb/referencing/CC_OperationMethod.java | 2 +- .../jaxb/referencing/CC_OperationParameter.java | 2 +- .../referencing/CC_OperationParameterGroup.java | 2 +- .../internal/jaxb/referencing/CD_Ellipsoid.java | 2 +- .../jaxb/referencing/CD_EngineeringDatum.java | 2 +- .../jaxb/referencing/CD_GeodeticDatum.java | 2 +- .../internal/jaxb/referencing/CD_ImageDatum.java | 2 +- .../jaxb/referencing/CD_ParametricDatum.java | 2 +- .../jaxb/referencing/CD_PrimeMeridian.java | 2 +- .../jaxb/referencing/CD_TemporalDatum.java | 2 +- .../jaxb/referencing/CD_VerticalDatum.java | 2 +- .../sis/internal/jaxb/referencing/CS_AffineCS.java | 2 +- .../internal/jaxb/referencing/CS_CartesianCS.java | 2 +- .../jaxb/referencing/CS_CoordinateSystem.java | 2 +- .../jaxb/referencing/CS_CoordinateSystemAxis.java | 2 +- .../jaxb/referencing/CS_CylindricalCS.java | 2 +- .../jaxb/referencing/CS_EllipsoidalCS.java | 2 +- .../sis/internal/jaxb/referencing/CS_LinearCS.java | 2 +- .../internal/jaxb/referencing/CS_ParametricCS.java | 2 +- .../sis/internal/jaxb/referencing/CS_PolarCS.java | 2 +- .../internal/jaxb/referencing/CS_SphericalCS.java | 2 +- .../sis/internal/jaxb/referencing/CS_TimeCS.java | 2 +- .../jaxb/referencing/CS_UserDefinedCS.java | 2 +- .../internal/jaxb/referencing/CS_VerticalCS.java | 2 +- .../apache/sis/internal/jaxb/referencing/Code.java | 7 +- .../internal/jaxb/referencing/RS_Identifier.java | 12 +- .../sis/internal/jaxb/referencing/SC_CRS.java | 2 +- .../internal/jaxb/referencing/SC_SingleCRS.java | 2 +- .../internal/jaxb/referencing/SC_VerticalCRS.java | 2 +- .../internal/jaxb/referencing/package-info.java | 2 +- .../sis/internal/referencing}/AxisDirections.java | 5 +- .../internal/referencing/CoordinateOperations.java | 103 +- .../internal/referencing/DefinitionVerifier.java | 20 +- .../sis/internal/referencing/DeprecatedCode.java | 2 +- .../internal/referencing/DirectPositionView.java | 60 +- .../sis/internal/referencing/EPSGFactoryProxy.java | 7 +- .../internal/referencing/EPSGParameterDomain.java | 2 +- .../referencing}/EllipsoidalHeightCombiner.java | 74 +- .../apache/sis/internal/referencing/Formulas.java | 30 +- .../referencing/GeodeticObjectBuilder.java | 9 +- .../internal/referencing/PositionTransformer.java | 2 +- .../referencing/PositionalAccuracyConstant.java | 5 +- .../referencing/ReferencingFactoryContainer.java | 131 +- .../internal/referencing/ReferencingUtilities.java | 19 +- .../apache/sis/internal/referencing/Resources.java | 5 + .../sis/internal/referencing/Resources.properties | 1 + .../internal/referencing/Resources_fr.properties | 1 + .../internal/referencing/ServicesForMetadata.java | 393 +--- .../internal/referencing/SignReversalComment.java | 3 + .../sis/internal/referencing/TemporalAccessor.java | 104 + .../internal/referencing}/VerticalDatumTypes.java | 2 +- .../sis/internal/referencing}/WKTKeywords.java | 4 +- .../sis/internal/referencing/WKTUtilities.java | 36 + .../internal/referencing/WraparoundAdjustment.java | 1 - .../referencing/j2d/IntervalRectangle.java | 76 +- .../referencing/provider/AbstractLambert.java | 22 + .../referencing/provider/AbstractMercator.java | 22 + .../provider/AbstractStereographic.java | 22 + .../referencing/provider/AlbersEqualArea.java | 89 +- .../internal/referencing/provider/EPSGName.java | 2 +- .../sis/internal/referencing/provider/ESRI.java | 107 +- .../referencing/provider/Equirectangular.java | 64 + .../provider/FranceGeocentricInterpolation.java | 10 + .../referencing/provider/GeocentricAffine.java | 65 +- .../GeocentricAffineBetweenGeographic.java | 56 + .../referencing/provider/Geographic2Dto3D.java | 6 + .../referencing/provider/Geographic3Dto2D.java | 2 +- .../provider/GeographicAndVerticalOffsets.java | 6 + .../referencing/provider/GeographicOffsets.java | 18 + .../provider/GeographicToGeocentric.java | 12 + .../referencing/provider/LambertConformal1SP.java | 37 + .../referencing/provider/LambertConformal2SP.java | 75 +- .../provider/LambertConformalMichigan.java | 10 + .../referencing/provider/LambertConformalWest.java | 11 + .../provider/LambertCylindricalEqualArea.java | 48 + .../referencing/provider/MapProjection.java | 150 +- .../internal/referencing/provider/Mercator1SP.java | 37 + .../internal/referencing/provider/Mercator2SP.java | 29 +- .../referencing/provider/MercatorSpherical.java | 2 +- .../referencing/provider/MillerCylindrical.java | 2 +- .../internal/referencing/provider/Mollweide.java | 24 + .../internal/referencing/provider/Molodensky.java | 26 +- .../sis/internal/referencing/provider/NADCON.java | 22 +- .../sis/internal/referencing/provider/NTv2.java | 10 + .../referencing/provider/ObliqueMercator.java | 93 +- .../provider/ObliqueMercatorCenter.java | 20 + .../referencing/provider/ObliqueStereographic.java | 33 + .../referencing/provider/Orthographic.java | 196 ++ .../referencing/provider/PolarStereographicA.java | 37 + .../referencing/provider/PolarStereographicB.java | 43 +- .../referencing/provider/PolarStereographicC.java | 22 + .../provider/PolarStereographicSouth.java | 4 +- .../internal/referencing/provider/Polyconic.java | 44 + .../referencing/provider/RegionalMercator.java | 37 + .../referencing/provider/SatelliteTracking.java | 205 ++ .../internal/referencing/provider/Sinusoidal.java | 24 + .../referencing/provider/TransverseMercator.java | 37 +- .../provider/ZonedTransverseMercator.java | 21 + .../referencing/provider/package-info.java | 3 +- .../java/org/apache/sis/io/wkt/AbstractParser.java | 0 .../main/java/org/apache/sis/io/wkt/Colors.java | 0 .../java/org/apache/sis/io/wkt/Convention.java | 13 +- .../main/java/org/apache/sis/io/wkt/Element.java | 2 +- .../java/org/apache/sis/io/wkt/ElementKind.java | 2 +- .../org/apache/sis/io/wkt/FormattableObject.java | 6 +- .../main/java/org/apache/sis/io/wkt/Formatter.java | 39 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 186 +- .../java/org/apache/sis/io/wkt/KeywordCase.java | 0 .../java/org/apache/sis/io/wkt/KeywordStyle.java | 0 .../org/apache/sis/io/wkt/MathTransformParser.java | 55 +- .../main/java/org/apache/sis/io/wkt/Parser.java | 0 .../main/java/org/apache/sis/io/wkt/Symbols.java | 16 +- .../java/org/apache/sis/io/wkt/Transliterator.java | 10 +- .../sis/io/wkt/UnformattableObjectException.java | 0 .../sis/io/wkt/UnparsableObjectException.java | 2 +- .../java/org/apache/sis/io/wkt/VerticalInfo.java | 0 .../main/java/org/apache/sis/io/wkt/WKTFormat.java | 78 +- .../main/java/org/apache/sis/io/wkt/Warnings.java | 0 .../java/org/apache/sis/io/wkt/package-info.java | 8 +- .../sis/parameter/AbstractParameterDescriptor.java | 2 +- .../sis/parameter/DefaultParameterDescriptor.java | 4 +- .../parameter/DefaultParameterDescriptorGroup.java | 6 +- .../sis/parameter/DefaultParameterValue.java | 20 +- .../sis/parameter/DefaultParameterValueGroup.java | 10 +- .../org/apache/sis/parameter/ParameterBuilder.java | 8 +- .../apache/sis/parameter/ParameterTableRow.java | 2 +- .../org/apache/sis/parameter/Parameterized.java | 4 +- .../java/org/apache/sis/parameter/Parameters.java | 14 +- .../org/apache/sis/parameter/TensorParameters.java | 16 +- .../org/apache/sis/parameter/TensorValues.java | 2 +- .../sis/parameter/UnmodifiableParameterValue.java | 2 +- .../parameter/UnmodifiableParameterValueGroup.java | 2 +- .../java/org/apache/sis/parameter/Verifier.java | 2 +- .../org/apache/sis/parameter/package-info.java | 6 +- .../sis/referencing/AbstractIdentifiedObject.java | 97 +- .../sis/referencing/AbstractReferenceSystem.java | 4 +- .../java/org/apache/sis/referencing/Builder.java | 69 +- .../main/java/org/apache/sis/referencing/CRS.java | 114 +- .../java/org/apache/sis/referencing/CommonCRS.java | 37 +- .../sis/referencing/EPSGFactoryFallback.java | 3 +- .../referencing/EllipsoidalHeightSeparator.java | 6 +- .../sis/referencing/GeodesicsOnEllipsoid.java | 996 +++++++++ .../apache/sis/referencing/GeodeticCalculator.java | 476 +++-- .../apache/sis/referencing/GeodeticException.java} | 46 +- .../apache/sis/referencing/IdentifiedObjects.java | 51 +- .../sis/referencing}/ImmutableIdentifier.java | 103 +- .../apache/sis/referencing/NamedIdentifier.java | 9 +- .../apache/sis/referencing/crs/AbstractCRS.java | 4 +- .../sis/referencing/crs/AbstractDerivedCRS.java | 4 +- .../sis/referencing/crs/DefaultCompoundCRS.java | 26 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 12 +- .../sis/referencing/crs/DefaultEngineeringCRS.java | 8 +- .../sis/referencing/crs/DefaultGeocentricCRS.java | 8 +- .../sis/referencing/crs/DefaultGeodeticCRS.java | 4 +- .../sis/referencing/crs/DefaultGeographicCRS.java | 12 +- .../sis/referencing/crs/DefaultImageCRS.java | 8 +- .../sis/referencing/crs/DefaultParametricCRS.java | 4 +- .../sis/referencing/crs/DefaultProjectedCRS.java | 12 +- .../sis/referencing/crs/DefaultTemporalCRS.java | 8 +- .../sis/referencing/crs/DefaultVerticalCRS.java | 8 +- .../sis/referencing/crs/SC_GeographicCRS.java | 2 +- .../apache/sis/referencing/crs/package-info.java | 2 +- .../org/apache/sis/referencing/cs/AbstractCS.java | 8 +- .../apache/sis/referencing/cs/AxesConvention.java | 23 +- .../org/apache/sis/referencing/cs/AxisFilter.java | 6 +- .../sis/referencing/cs/CoordinateSystems.java | 14 +- .../apache/sis/referencing/cs/DefaultAffineCS.java | 4 +- .../sis/referencing/cs/DefaultCartesianCS.java | 6 +- .../sis/referencing/cs/DefaultCompoundCS.java | 4 +- .../cs/DefaultCoordinateSystemAxis.java | 26 +- .../sis/referencing/cs/DefaultCylindricalCS.java | 8 +- .../sis/referencing/cs/DefaultEllipsoidalCS.java | 8 +- .../apache/sis/referencing/cs/DefaultLinearCS.java | 10 +- .../sis/referencing/cs/DefaultParametricCS.java | 2 +- .../apache/sis/referencing/cs/DefaultPolarCS.java | 8 +- .../sis/referencing/cs/DefaultSphericalCS.java | 8 +- .../apache/sis/referencing/cs/DefaultTimeCS.java | 8 +- .../sis/referencing/cs/DefaultUserDefinedCS.java | 6 +- .../sis/referencing/cs/DefaultVerticalCS.java | 8 +- .../sis/referencing/cs/DirectionAlongMeridian.java | 8 +- .../org/apache/sis/referencing/cs/Normalizer.java | 8 +- .../sis/referencing/datum/AbstractDatum.java | 9 +- .../sis/referencing/datum/BursaWolfParameters.java | 28 +- .../sis/referencing/datum/DatumShiftGrid.java | 16 +- .../sis/referencing/datum/DefaultEllipsoid.java | 128 +- .../referencing/datum/DefaultEngineeringDatum.java | 8 +- .../referencing/datum/DefaultGeodeticDatum.java | 24 +- .../sis/referencing/datum/DefaultImageDatum.java | 8 +- .../referencing/datum/DefaultParametricDatum.java | 6 +- .../referencing/datum/DefaultPrimeMeridian.java | 14 +- .../referencing/datum/DefaultTemporalDatum.java | 10 +- .../referencing/datum/DefaultVerticalDatum.java | 12 +- .../org/apache/sis/referencing/datum/Sphere.java | 29 +- .../apache/sis/referencing/datum/package-info.java | 5 +- .../factory/AuthorityFactoryIdentifier.java | 6 +- .../factory/CommonAuthorityFactory.java | 9 +- .../factory/ConcurrentAuthorityFactory.java | 10 +- .../factory/GeodeticAuthorityFactory.java | 159 +- .../referencing/factory/GeodeticObjectFactory.java | 10 +- .../factory/IdentifiedObjectFinder.java | 14 +- .../referencing/factory/IdentifiedObjectSet.java | 8 +- .../factory/MissingFactoryResourceException.java | 2 +- .../factory/MultiAuthoritiesFactory.java | 24 +- .../factory/UnavailableFactoryException.java | 2 +- .../referencing/factory/sql/EPSGCodeFinder.java | 2 +- .../referencing/factory/sql/EPSGDataAccess.java | 75 +- .../sis/referencing/factory/sql/EPSGFactory.java | 4 +- .../factory/sql/InstallationScriptProvider.java | 10 +- .../sis/referencing/factory/sql/SQLTranslator.java | 2 +- .../sis/referencing/factory/sql/TableInfo.java | 2 +- .../sis/referencing/factory/sql/package-info.java | 6 +- .../operation/AbstractCoordinateOperation.java | 22 +- .../operation/AbstractSingleOperation.java | 4 +- .../referencing/operation/CompoundCRSBuilder.java | 57 - .../operation/CoordinateOperationFinder.java | 21 +- .../operation/CoordinateOperationRegistry.java | 26 +- .../operation/DefaultConcatenatedOperation.java | 6 +- .../referencing/operation/DefaultConversion.java | 8 +- .../DefaultCoordinateOperationFactory.java | 25 +- .../sis/referencing/operation/DefaultFormula.java | 2 +- .../operation/DefaultOperationMethod.java | 16 +- .../operation/DefaultPassThroughOperation.java | 20 +- .../operation/DefaultTransformation.java | 6 +- .../operation/InverseOperationMethod.java | 6 +- .../operation/builder/LinearTransformBuilder.java | 2 +- .../operation/builder/LocalizationGridBuilder.java | 2 +- .../operation/matrix/GeneralMatrix.java | 14 +- .../sis/referencing/operation/matrix/Matrices.java | 43 +- .../sis/referencing/operation/matrix/Matrix1.java | 15 +- .../sis/referencing/operation/matrix/Matrix2.java | 15 +- .../sis/referencing/operation/matrix/Matrix3.java | 13 +- .../sis/referencing/operation/matrix/Matrix4.java | 13 +- .../referencing/operation/matrix/MatrixSIS.java | 29 +- .../operation/matrix/NonSquareMatrix.java | 16 +- .../sis/referencing/operation/matrix/Solver.java | 2 +- .../referencing/operation/matrix/package-info.java | 10 +- .../sis/referencing/operation/package-info.java | 6 +- .../operation/projection/AlbersEqualArea.java | 7 +- .../operation/projection/ConformalProjection.java | 6 +- .../operation/projection/CylindricalEqualArea.java | 2 +- .../operation/projection/Initializer.java | 16 +- .../referencing/operation/projection/Inverter.java | 105 + .../projection/LambertConicConformal.java | 21 +- .../referencing/operation/projection/Mercator.java | 10 +- .../operation/projection/Mollweide.java | 12 +- .../operation/projection/NormalizedProjection.java | 49 +- .../operation/projection/ObliqueMercator.java | 6 +- .../operation/projection/ObliqueStereographic.java | 9 +- .../operation/projection/Orthographic.java | 261 +++ .../operation/projection/Polyconic.java | 2 +- .../operation/projection/ProjectionException.java | 2 +- .../operation/projection/SatelliteTracking.java | 377 ++++ .../operation/projection/Sinusoidal.java | 7 +- .../operation/projection/TransverseMercator.java | 2 +- .../operation/projection/ZonedGridSystem.java | 2 +- .../operation/projection/package-info.java | 28 +- .../transform/AbstractLinearTransform.java | 8 +- .../operation/transform/AbstractMathTransform.java | 52 +- .../transform/AbstractMathTransform1D.java | 34 +- .../transform/AbstractMathTransform2D.java | 6 +- .../operation/transform/ConcatenatedTransform.java | 2 +- .../operation/transform/ContextualParameters.java | 40 +- .../transform/CoordinateSystemTransform.java | 2 +- .../operation/transform/CopyTransform.java | 10 +- .../operation/transform/DatumShiftTransform.java | 35 +- .../transform/DefaultMathTransformFactory.java | 27 +- .../transform/EllipsoidToCentricTransform.java | 4 +- .../transform/ExponentialTransform1D.java | 2 +- .../transform/InterpolatedGeocentricTransform.java | 6 +- .../transform/InterpolatedMolodenskyTransform.java | 4 +- .../operation/transform/InterpolatedTransform.java | 4 +- .../operation/transform/IterationStrategy.java | 21 +- .../operation/transform/LinearInterpolator1D.java | 2 +- .../operation/transform/LinearTransform.java | 14 +- .../transform/LogarithmicTransform1D.java | 2 +- .../operation/transform/MathTransformProvider.java | 4 +- .../operation/transform/MathTransforms.java | 6 +- .../operation/transform/MolodenskyTransform.java | 6 +- .../operation/transform/OperationMethodSet.java | 4 +- .../operation/transform/PassThroughTransform.java | 21 +- .../operation/transform/PowerTransform1D.java | 2 +- .../operation/transform/ProjectiveTransform.java | 4 +- .../operation/transform/ScaleTransform.java | 6 +- .../operation/transform/TransferFunction.java | 4 +- .../operation/transform/TransformSeparator.java | 62 +- .../operation/transform/TranslationTransform.java | 4 +- .../referencing/operation/transform/formulas.html | 12 +- .../operation/transform/package-info.java | 4 +- .../org/apache/sis/referencing/package-info.java | 8 +- ...g.opengis.referencing.operation.OperationMethod | 2 + .../referencing/provider/Descriptions.properties | 5 + .../apache/sis/distance/LatLonPointRadiusTest.java | 89 - .../apache/sis/geometry/AbstractEnvelopeTest.java | 14 +- .../org/apache/sis/geometry/ArrayEnvelopeTest.java | 17 +- .../apache/sis/geometry/CoordinateFormatTest.java | 6 +- .../apache/sis/geometry/DirectPosition1DTest.java | 4 +- .../apache/sis/geometry/DirectPosition2DTest.java | 6 +- .../org/apache/sis/geometry/EnvelopesTest.java | 4 +- .../sis/geometry/GeneralDirectPositionTest.java | 6 +- .../apache/sis/geometry/GeneralEnvelopeTest.java | 77 +- .../org/apache/sis/geometry/SubEnvelopeTest.java | 30 +- .../CC_GeneralOperationParameterTest.java | 4 +- .../sis/internal/jaxb/referencing/CodeTest.java | 2 +- .../AxisDirectionsTest.java | 8 +- .../EllipsoidalHeightCombinerTest.java | 13 +- .../sis/internal/referencing/FormulasTest.java | 12 - .../referencing}/VerticalDatumTypesTest.java | 2 +- .../sis/internal/referencing}/WKTKeywordsTest.java | 2 +- .../sis/internal/referencing/WKTUtilitiesTest.java | 1 - .../internal/referencing/provider/AffineTest.java | 2 +- .../provider/CoordinateFrameRotationTest.java | 2 +- .../provider/GeocentricTranslationTest.java | 2 +- .../provider/GeographicOffsetsTest.java | 2 +- .../provider/LongitudeRotationTest.java | 2 +- .../internal/referencing/provider/NTv2Test.java | 2 +- .../provider/PositionVector7ParamTest.java | 2 +- .../referencing/provider/ProvidersTest.java | 17 +- .../java/org/apache/sis/io/wkt/ColorsTest.java | 0 .../org/apache/sis/io/wkt/ComparisonWithEPSG.java | 6 +- .../java/org/apache/sis/io/wkt/ConventionTest.java | 0 .../java/org/apache/sis/io/wkt/ElementTest.java | 0 .../java/org/apache/sis/io/wkt/FormatterTest.java | 2 +- .../sis/io/wkt/GeodeticObjectParserTest.java | 4 +- .../apache/sis/io/wkt/MathTransformParserTest.java | 21 +- .../java/org/apache/sis/io/wkt/SymbolsTest.java | 0 .../org/apache/sis/io/wkt/TransliteratorTest.java | 0 .../DefaultParameterDescriptorGroupTest.java | 2 +- .../parameter/DefaultParameterDescriptorTest.java | 4 +- .../parameter/DefaultParameterValueGroupTest.java | 2 +- .../sis/parameter/DefaultParameterValueTest.java | 2 +- .../apache/sis/parameter/ParameterFormatTest.java | 7 +- .../apache/sis/parameter/TensorParametersTest.java | 4 +- .../org/apache/sis/parameter/TensorValuesTest.java | 2 +- .../referencing/AbstractIdentifiedObjectTest.java | 5 +- .../referencing/AbstractReferenceSystemTest.java | 3 +- .../sis/referencing/AuthorityFactoriesTest.java | 4 +- .../org/apache/sis/referencing/BuilderTest.java | 1 - .../java/org/apache/sis/referencing/CRSTest.java | 16 +- .../apache/sis/referencing/ClenshawSummation.java | 460 +++++ .../org/apache/sis/referencing/CommonCRSTest.java | 16 +- .../sis/referencing/GeodesicsOnEllipsoidTest.java | 561 ++++++ .../sis/referencing/GeodeticCalculatorTest.java | 371 ++-- .../sis/referencing}/ImmutableIdentifierTest.java | 7 +- .../sis/referencing/crs/DefaultDerivedCRSTest.java | 2 +- .../referencing/crs/DefaultEngineeringCRSTest.java | 2 +- .../referencing/crs/DefaultGeocentricCRSTest.java | 4 +- .../referencing/crs/DefaultGeographicCRSTest.java | 2 +- .../sis/referencing/crs/DefaultImageCRSTest.java | 2 +- .../referencing/crs/DefaultProjectedCRSTest.java | 6 +- .../referencing/crs/DefaultTemporalCRSTest.java | 2 +- .../referencing/crs/DefaultVerticalCRSTest.java | 2 +- .../sis/referencing/cs/DefaultCompoundCSTest.java | 2 +- .../cs/DefaultCoordinateSystemAxisTest.java | 2 +- .../referencing/cs/DefaultCylindricalCSTest.java | 2 +- .../sis/referencing/cs/DefaultPolarCSTest.java | 2 +- .../sis/referencing/cs/DefaultSphericalCSTest.java | 2 +- .../referencing/cs/DirectionAlongMeridianTest.java | 4 +- .../apache/sis/referencing/cs/HardCodedAxes.java | 46 +- .../apache/sis/referencing/cs/NormalizerTest.java | 2 +- .../referencing/datum/DefaultEllipsoidTest.java | 87 +- .../datum/DefaultGeodeticDatumTest.java | 2 +- .../datum/DefaultPrimeMeridianTest.java | 2 +- .../datum/DefaultTemporalDatumTest.java | 2 +- .../datum/DefaultVerticalDatumTest.java | 4 +- .../sis/referencing/datum/HardCodedDatum.java | 2 +- .../referencing/datum/TimeDependentBWPTest.java | 2 +- .../factory/MultiAuthoritiesFactoryTest.java | 4 +- .../referencing/factory/sql/EPSGFactoryTest.java | 10 +- .../referencing/factory/sql/EPSGInstallerTest.java | 17 +- .../factory/sql/epsg/DataScriptFormatter.java | 10 +- .../epsg/{MethodDimensions.sql => DebugTools.sql} | 8 +- .../sis/referencing/factory/sql/epsg/package.html | 146 +- .../operation/CoordinateOperationFinderTest.java | 9 +- .../operation/CoordinateOperationRegistryTest.java | 7 +- .../DefaultConcatenatedOperationTest.java | 2 +- .../operation/DefaultConversionTest.java | 4 +- .../DefaultCoordinateOperationFactoryTest.java | 9 +- .../referencing/operation/DefaultFormulaTest.java | 2 +- .../operation/DefaultOperationMethodTest.java | 2 +- .../operation/DefaultTransformationTest.java | 6 +- .../operation/HardCodedConversions.java | 6 +- .../builder/LinearTransformBuilderTest.java | 4 +- .../referencing/operation/matrix/MatricesTest.java | 2 +- .../operation/matrix/MatrixTestCase.java | 2 +- .../operation/matrix/NonSquareMatrixTest.java | 3 +- .../referencing/operation/matrix/SolverTest.java | 2 +- .../operation/projection/AlbersEqualAreaTest.java | 18 +- .../projection/CylindricalEqualAreaTest.java | 4 +- .../projection/LambertConicConformalTest.java | 4 +- .../projection/MapProjectionTestCase.java | 2 +- .../operation/projection/MercatorTest.java | 2 +- .../operation/projection/MollweideTest.java | 4 +- .../operation/projection/ObliqueMercatorTest.java | 2 +- .../projection/ObliqueStereographicTest.java | 2 +- .../operation/projection/OrthographicTest.java | 147 ++ .../projection/PolarStereographicTest.java | 4 +- .../operation/projection/PolyconicTest.java | 4 +- .../projection/SatelliteTrackingTest.java | 398 ++++ .../operation/projection/SinusoidalTest.java | 4 +- .../projection/TransverseMercatorTest.java | 4 +- .../transform/AbridgedMolodenskyTransformTest.java | 2 +- .../transform/AbstractMathTransformTest.java | 2 +- .../operation/transform/CoordinateDomain.java | 66 +- .../operation/transform/CoordinateDomainTest.java | 6 +- .../transform/CoordinateSystemTransformTest.java | 6 +- .../operation/transform/CopyTransformTest.java | 2 +- .../transform/DefaultMathTransformFactoryTest.java | 9 +- .../transform/EllipsoidToCentricTransformTest.java | 8 +- .../InterpolatedGeocentricTransformTest.java | 4 +- .../transform/MolodenskyTransformTest.java | 2 +- .../transform/ProjectiveTransformTest.java | 3 +- .../operation/transform/PseudoTransform.java | 2 +- .../transform/TransformSeparatorTest.java | 13 +- .../sis/referencing/report/package-info.java | 2 +- .../org/apache/sis/test/ReferencingAssert.java | 97 +- .../sis/test/integration/ConsistencyTest.java | 2 +- .../test/integration/CoordinateOperationTest.java | 79 +- .../apache/sis/test/integration/MetadataTest.java | 248 +-- .../sis/test/integration/MetadataVerticalTest.java | 211 ++ .../sis/test/suite/ReferencingTestSuite.java | 33 +- .../org/apache/sis/test/widget/package-info.java | 2 +- .../org/apache/sis/test/integration/Metadata.xml | 71 +- core/sis-utility/pom.xml | 2 +- .../sis/internal/converter/AngleConverter.java | 4 +- .../sis/internal/converter/ArrayConverter.java | 2 +- .../internal/converter/CharSequenceConverter.java | 2 +- .../apache/sis/internal/converter/ClassPair.java | 2 +- .../internal/converter/CollectionConverter.java | 2 +- .../sis/internal/converter/ConverterRegistry.java | 17 +- .../sis/internal/converter/DateConverter.java | 21 +- .../sis/internal/converter/FallbackConverter.java | 2 +- .../sis/internal/converter/IdentityConverter.java | 2 +- .../sis/internal/converter/NumberConverter.java | 18 +- .../sis/internal/converter/ObjectToString.java | 2 +- .../sis/internal/converter/PathConverter.java | 2 +- .../sis/internal/converter/StringConverter.java | 4 +- .../sis/internal/converter/SystemConverter.java | 7 +- .../sis/internal/converter/SystemRegistry.java | 2 +- .../sis/internal/converter/package-info.java | 2 +- .../java/org/apache/sis/internal/jdk9/JDK9.java | 19 +- .../org/apache/sis/internal/jdk9/package-info.java | 2 +- .../apache/sis/internal/system/DaemonThread.java | 4 +- .../apache/sis/internal/system/DataDirectory.java | 9 + .../sis/internal/system/DelayedExecutor.java | 2 +- .../sis/internal/system/DelayedRunnable.java | 2 +- .../org/apache/sis/internal/system/Loggers.java | 7 +- .../org/apache/sis/internal/system/Modules.java | 7 +- .../org/apache/sis/internal/system/Supervisor.java | 2 - .../org/apache/sis/internal/system/Threads.java | 2 +- .../org/apache/sis/internal/util/Citations.java | 542 ----- .../org/apache/sis/internal/util/CodeLists.java | 4 + .../apache/sis/internal/util/CollectionsExt.java | 24 +- .../org/apache/sis/internal/util/Constants.java | 10 +- .../apache/sis/internal/util/DefinitionURI.java | 4 +- .../org/apache/sis/internal/util/DoubleDouble.java | 22 +- .../apache/sis/internal/util/MetadataServices.java | 37 + .../org/apache/sis/internal/util/Numerics.java | 69 +- .../java/org/apache/sis/internal/util/Strings.java | 23 +- .../sis/internal/util/TemporalUtilities.java | 2 - .../sis/internal/util/UnmodifiableArrayList.java | 8 +- .../org/apache/sis/internal/util/package-info.java | 2 +- .../src/main/java/org/apache/sis/io/Appender.java | 2 +- .../main/java/org/apache/sis/io/ClassFormat.java | 2 +- .../java/org/apache/sis/io/CompoundFormat.java | 6 +- .../main/java/org/apache/sis/io/DefaultFormat.java | 2 +- .../org/apache/sis/io/IdentifiedObjectFormat.java | 7 +- .../main/java/org/apache/sis/io/LineAppender.java | 2 +- .../main/java/org/apache/sis/io/TableAppender.java | 9 +- .../main/java/org/apache/sis/io/TabularFormat.java | 4 +- .../main/java/org/apache/sis/io/package-info.java | 4 +- .../apache/sis/math/CompoundDirectPositions.java | 28 +- .../java/org/apache/sis/math/DecimalFunctions.java | 6 +- .../main/java/org/apache/sis/math/Fraction.java | 126 +- .../src/main/java/org/apache/sis/math/Line.java | 34 +- .../java/org/apache/sis/math/MathFunctions.java | 333 ++- .../src/main/java/org/apache/sis/math/Plane.java | 30 +- .../main/java/org/apache/sis/math/Statistics.java | 5 +- .../src/main/java/org/apache/sis/math/Vector.java | 10 +- .../org/apache/sis/measure/AbstractConverter.java | 2 +- .../main/java/org/apache/sis/measure/Angle.java | 6 +- .../java/org/apache/sis/measure/AngleFormat.java | 3 +- .../apache/sis/measure/ConcatenatedConverter.java | 2 +- .../org/apache/sis/measure/ConventionalUnit.java | 4 +- .../org/apache/sis/measure/ElevationAngle.java | 2 +- .../sis/measure/FormattedCharacterIterator.java | 2 +- .../org/apache/sis/measure/IdentityConverter.java | 109 + .../main/java/org/apache/sis/measure/Latitude.java | 6 +- .../org/apache/sis/measure/LinearConverter.java | 51 +- .../java/org/apache/sis/measure/Longitude.java | 6 +- .../org/apache/sis/measure/MeasurementRange.java | 6 +- .../java/org/apache/sis/measure/NumberRange.java | 8 +- .../main/java/org/apache/sis/measure/Range.java | 12 +- .../java/org/apache/sis/measure/RangeFormat.java | 4 +- .../apache/sis/measure/SexagesimalConverter.java | 2 +- .../java/org/apache/sis/measure/SystemUnit.java | 4 +- .../java/org/apache/sis/measure/UnitFormat.java | 13 +- .../main/java/org/apache/sis/measure/Units.java | 293 +-- .../src/main/java/org/apache/sis/setup/About.java | 21 +- .../java/org/apache/sis/setup/Configuration.java | 120 ++ .../main/java/org/apache/sis/setup/OptionKey.java | 10 +- .../java/org/apache/sis/util/ArgumentChecks.java | 27 +- .../main/java/org/apache/sis/util/ArraysExt.java | 6 +- .../java/org/apache/sis/util/CharSequences.java | 36 +- .../main/java/org/apache/sis/util/Characters.java | 2 +- .../src/main/java/org/apache/sis/util/Classes.java | 2 +- .../java/org/apache/sis/util/ComparisonMode.java | 36 +- .../java/org/apache/sis/util/Configuration.java | 8 +- .../apache/sis/util/CorruptedObjectException.java | 2 +- .../main/java/org/apache/sis/util/Disposable.java | 2 +- .../org/apache/sis/util/LenientComparable.java | 21 +- .../src/main/java/org/apache/sis/util/Numbers.java | 139 +- .../java/org/apache/sis/util/ObjectConverter.java | 2 +- .../java/org/apache/sis/util/StringBuilders.java | 35 +- .../main/java/org/apache/sis/util/Utilities.java | 16 +- .../src/main/java/org/apache/sis/util/Version.java | 6 +- .../sis/util/collection/BackingStoreException.java | 2 +- .../java/org/apache/sis/util/collection/Cache.java | 4 +- .../apache/sis/util/collection/CacheEntries.java | 2 +- .../apache/sis/util/collection/CodeListSet.java | 4 +- .../sis/util/collection/DefaultTreeTable.java | 2 +- .../org/apache/sis/util/collection/DerivedMap.java | 4 +- .../org/apache/sis/util/collection/DerivedSet.java | 4 +- .../org/apache/sis/util/collection/RangeSet.java | 6 +- .../apache/sis/util/collection/TableColumn.java | 2 +- .../apache/sis/util/collection/TreeNodeList.java | 2 +- .../org/apache/sis/util/collection/TreeTable.java | 9 +- .../sis/util/collection/TreeTableFormat.java | 8 +- .../org/apache/sis/util/collection/TreeTables.java | 2 +- .../org/apache/sis/util/collection/WeakEntry.java | 13 +- .../apache/sis/util/collection/WeakHashSet.java | 11 +- .../sis/util/collection/WeakValueHashMap.java | 9 +- .../sis/util/iso/AbstractInternationalString.java | 10 +- .../sis/util/iso/DefaultInternationalString.java | 6 +- .../sis/util/iso/ResourceInternationalString.java | 12 +- .../sis/util/iso/SimpleInternationalString.java | 6 +- .../org/apache/sis/util/logging/LoggerAdapter.java | 8 +- .../org/apache/sis/util/logging/LoggerFactory.java | 2 +- .../java/org/apache/sis/util/logging/Logging.java | 53 +- .../apache/sis/util/logging/MonolineFormatter.java | 11 +- .../apache/sis/util/logging/PerformanceLevel.java | 2 +- .../apache/sis/util/logging/WarningListener.java | 78 - .../apache/sis/util/logging/WarningListeners.java | 382 ---- .../org/apache/sis/util/logging/package-info.java | 6 +- .../java/org/apache/sis/util/resources/Errors.java | 12 +- .../apache/sis/util/resources/Errors.properties | 2 +- .../apache/sis/util/resources/Errors_fr.properties | 2 +- .../sis/util/resources/IndexedResourceBundle.java | 2 +- .../resources/ResourceInternationalString.java | 2 +- .../org/apache/sis/util/resources/Vocabulary.java | 20 + .../sis/util/resources/Vocabulary.properties | 4 + .../sis/util/resources/Vocabulary_fr.properties | 4 + .../apache/sis/util/resources/package-info.java | 2 +- .../org/apache/sis/internal/util/CitationMock.java | 101 - .../apache/sis/internal/util/CitationsTest.java | 123 -- .../org/apache/sis/internal/util/NumericsTest.java | 20 +- .../java/org/apache/sis/io/LeftMarginTest.java | 3 +- .../java/org/apache/sis/io/LineAppenderTest.java | 3 +- .../org/apache/sis/io/TabulationExpansionTest.java | 3 +- .../test/java/org/apache/sis/io/WordWrapTest.java | 3 +- .../sis/io/WordWrapWithLineSeparatorTest.java | 3 +- .../java/org/apache/sis/math/FractionTest.java | 18 + .../org/apache/sis/math/MathFunctionsTest.java | 58 + .../apache/sis/measure/LinearConverterTest.java | 14 +- .../org/apache/sis/measure/QuantitiesTest.java | 17 + .../java/org/apache/sis/measure/UnitsTest.java | 5 + .../src/test/java/org/apache/sis/test/Assert.java | 18 +- .../org/apache/sis/test/ProjectDirectories.java | 164 ++ .../test/java/org/apache/sis/test/TestCase.java | 7 + .../org/apache/sis/test/TestConfiguration.java | 9 +- .../test/java/org/apache/sis/test/TestSuite.java | 50 +- .../java/org/apache/sis/test/TestUtilities.java | 4 +- .../java/org/apache/sis/test/package-info.java | 4 +- .../apache/sis/test/suite/UtilityTestSuite.java | 11 +- .../test/java/org/apache/sis/util/NumbersTest.java | 71 +- .../sis/util/logging/EmptyWarningListeners.java | 71 - .../sis/util/logging/WarningListenersTest.java | 117 -- .../util/resources/IndexedResourceBundleTest.java | 4 +- ide-project/NetBeans/build.xml | 1 + ide-project/NetBeans/nbproject/build-impl.xml | 47 +- ide-project/NetBeans/nbproject/build-impl.xml~ | 2128 -------------------- ide-project/NetBeans/nbproject/genfiles.properties | 6 +- ide-project/NetBeans/nbproject/project.properties | 70 +- ide-project/NetBeans/nbproject/project.xml | 4 +- pom.xml | 124 +- profiles/pom.xml | 2 +- profiles/sis-french-profile/pom.xml | 7 +- .../apache/sis/profile/france/package-info.java | 2 +- .../profile/fra/DirectReferenceSystemTest.java | 9 +- .../sis/profile/france/FrenchProfileTest.java | 4 +- .../sis/test/suite/FrenchProfileTestSuite.java | 8 +- profiles/sis-japan-profile/pom.xml | 2 +- .../apache/sis/internal/earth/netcdf/GCOM_C.java | 2 +- .../sis/internal/earth/netcdf/package-info.java | 2 +- .../{package-info.java => JapaneseProfile.java} | 17 +- .../sis/test/suite/JapanProfileTestSuite.java | 8 +- src/main/config/logging.properties | 2 +- src/main/javadoc/sis.css | 58 +- storage/pom.xml | 2 +- storage/sis-earth-observation/pom.xml | 2 +- .../storage/earthobservation/LandsatReader.java | 21 +- .../sis/storage/earthobservation/LandsatStore.java | 64 +- .../earthobservation/LandsatStoreProvider.java | 2 +- .../earthobservation/LandsatReaderTest.java | 7 +- .../sis/test/suite/EarthObservationTestSuite.java | 8 +- .../sis/storage/earthobservation/LandsatTest.txt | 2 +- storage/sis-gdal/pom.xml | 2 +- .../src/main/c/org_apache_sis_storage_gdal_PJ.c | 4 +- .../java/org/apache/sis/storage/gdal/Proj4.java | 2 +- .../org/apache/sis/storage/gdal/Proj4Factory.java | 26 +- .../org/apache/sis/storage/gdal/package-info.java | 4 +- .../apache/sis/storage/gdal/IntegrationTest.java | 2 +- .../java/org/apache/sis/storage/gdal/PJTest.java | 2 +- .../apache/sis/storage/gdal/Proj4FactoryTest.java | 2 +- .../org/apache/sis/test/suite/GDALTestSuite.java | 8 +- storage/sis-geotiff/pom.xml | 2 +- .../org/apache/sis/storage/geotiff/CRSBuilder.java | 7 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 64 +- .../sis/storage/geotiff/GeoTiffStoreProvider.java | 2 +- .../sis/storage/geotiff/GridGeometryBuilder.java | 16 +- .../sis/storage/geotiff/ImageFileDirectory.java | 13 +- .../apache/sis/storage/geotiff/Localization.java | 12 +- .../apache/sis/test/suite/GeoTiffTestSuite.java | 8 +- storage/sis-netcdf/pom.xml | 2 +- .../java/org/apache/sis/internal/netcdf/Axis.java | 13 +- .../org/apache/sis/internal/netcdf/Convention.java | 40 +- .../org/apache/sis/internal/netcdf/Decoder.java | 7 +- .../sis/internal/netcdf/DiscreteSampling.java | 7 +- .../java/org/apache/sis/internal/netcdf/Grid.java | 2 +- .../apache/sis/internal/netcdf/GridMapping.java | 2 +- .../apache/sis/internal/netcdf/NamedElement.java | 4 +- .../apache/sis/internal/netcdf/RasterResource.java | 96 +- .../org/apache/sis/internal/netcdf/Variable.java | 14 +- .../sis/internal/netcdf/impl/ChannelDecoder.java | 17 +- .../sis/internal/netcdf/impl/FeaturesInfo.java | 11 +- .../apache/sis/internal/netcdf/impl/GridInfo.java | 60 +- .../sis/internal/netcdf/impl/VariableInfo.java | 10 +- .../apache/sis/internal/netcdf/package-info.java | 2 +- .../sis/internal/netcdf/ucar/DecoderWrapper.java | 15 +- .../sis/internal/netcdf/ucar/FeaturesWrapper.java | 5 +- .../sis/internal/netcdf/ucar/GridWrapper.java | 2 +- .../sis/internal/netcdf/ucar/LogAdapter.java | 11 +- .../apache/sis/storage/netcdf/AttributeNames.java | 3 +- .../apache/sis/storage/netcdf/MetadataReader.java | 15 +- .../org/apache/sis/storage/netcdf/NetcdfStore.java | 43 +- .../sis/storage/netcdf/NetcdfStoreProvider.java | 10 +- .../apache/sis/storage/netcdf/package-info.java | 2 +- .../org/apache/sis/internal/netcdf/AxisTest.java | 28 +- .../org/apache/sis/internal/netcdf/TestCase.java | 13 +- .../apache/sis/internal/netcdf/VariableTest.java | 18 + .../internal/netcdf/impl/ChannelDecoderTest.java | 3 +- .../storage/netcdf/NetcdfStoreProviderTest.java | 9 +- .../org/apache/sis/test/suite/NetcdfTestSuite.java | 9 +- storage/sis-shapefile/pom.xml | 2 +- .../apache/sis/internal/shapefile/AutoChecker.java | 4 +- .../internal/shapefile/ShapefileByteReader.java | 2 +- .../internal/shapefile/ShapefileDescriptor.java | 6 +- .../sis/storage/shapefile/InputFeatureStream.java | 2 +- .../jdbc/AbstractTestBaseForInternalJDBC.java | 4 +- .../sis/storage/shapefile/ShapeFileTest.java | 4 +- .../apache/sis/test/suite/ShapefileTestSuite.java | 8 +- storage/sis-sqlstore/pom.xml | 2 +- .../apache/sis/internal/sql/feature/Analyzer.java | 7 +- .../apache/sis/internal/sql/feature/Database.java | 8 +- .../org/apache/sis/internal/sql/feature/Table.java | 5 +- .../java/org/apache/sis/storage/sql/SQLStore.java | 43 +- .../apache/sis/storage/sql/SQLStoreProvider.java | 6 +- .../org/apache/sis/storage/sql/package-info.java | 2 +- .../org/apache/sis/test/suite/SQLTestSuite.java | 8 +- storage/sis-storage/pom.xml | 7 +- .../apache/sis/index/tree}/LatLonPointRadius.java | 94 +- .../java/org/apache/sis/index/tree/QuadTree.java | 6 +- .../sis/internal/storage/AbstractFeatureSet.java | 69 +- .../sis/internal/storage/AbstractGridResource.java | 36 +- .../sis/internal/storage/AbstractResource.java | 113 +- .../internal/storage/DocumentedStoreProvider.java | 7 +- .../internal/storage/FeatureCatalogBuilder.java | 6 +- .../sis/internal/storage/MemoryFeatureSet.java | 16 +- .../sis/internal/storage/MetadataBuilder.java | 115 +- .../sis/internal/storage/ResourceOnFileSystem.java | 2 +- .../org/apache/sis/internal/storage/Resources.java | 15 + .../sis/internal/storage/Resources.properties | 3 + .../sis/internal/storage/Resources_fr.properties | 3 + .../sis/internal/storage/StoreUtilities.java | 13 +- .../apache/sis/internal/storage/URIDataStore.java | 69 +- .../org/apache/sis/internal/storage/csv/Store.java | 21 +- .../sis/internal/storage/csv/StoreProvider.java | 2 +- .../sis/internal/storage/csv/package-info.java | 2 +- .../storage/folder/FolderStoreProvider.java | 3 +- .../apache/sis/internal/storage/folder/Store.java | 44 +- .../sis/internal/storage/folder/WritableStore.java | 2 +- .../sis/internal/storage/io/ChannelData.java | 2 +- .../sis/internal/storage/io/ChannelDataInput.java | 4 +- .../sis/internal/storage/io/ChannelDataOutput.java | 4 +- .../sis/internal/storage/io/ChannelFactory.java | 74 +- .../storage/io/ChannelImageInputStream.java | 2 +- .../internal/storage/io/HyperRectangleReader.java | 13 +- .../sis/internal/storage/io/IOUtilities.java | 2 +- .../internal/storage/io/InputStreamAdapter.java | 2 +- .../org/apache/sis/internal/storage/io/Region.java | 78 +- .../sis/internal/storage/io/package-info.java | 2 +- .../sis/internal/storage/query/FeatureSubset.java | 22 +- .../sis/internal/storage/query/SimpleQuery.java | 32 +- .../sis/internal/storage/wkt/StoreFormat.java | 16 +- .../sis/internal/storage/wkt/StoreProvider.java | 2 +- .../sis/internal/storage/xml/MimeTypeDetector.java | 2 +- .../org/apache/sis/internal/storage/xml/Store.java | 39 +- .../java/org/apache/sis/storage/Aggregate.java | 4 +- .../main/java/org/apache/sis/storage/DataSet.java | 9 +- .../java/org/apache/sis/storage/DataStore.java | 165 +- .../org/apache/sis/storage/DataStoreException.java | 4 +- .../org/apache/sis/storage/DataStoreProvider.java | 59 +- .../org/apache/sis/storage/DataStoreRegistry.java | 6 +- .../java/org/apache/sis/storage/DataStores.java | 2 +- .../java/org/apache/sis/storage/FeatureNaming.java | 4 +- .../java/org/apache/sis/storage/FeatureSet.java | 11 +- .../apache/sis/storage/IllegalNameException.java | 2 +- ...eterException.java => NoSuchDataException.java} | 28 +- .../java/org/apache/sis/storage/ProbeResult.java | 6 +- .../main/java/org/apache/sis/storage/Resource.java | 69 +- .../org/apache/sis/storage/StorageConnector.java | 15 +- .../sis/storage/UnsupportedStorageException.java | 25 +- .../org/apache/sis/storage/WritableAggregate.java | 2 +- .../sis/storage/WritableGridCoverageResource.java | 4 +- .../org/apache/sis/storage/event/ChangeEvent.java | 60 - .../apache/sis/storage/event/ChangeListener.java | 54 - .../apache/sis/storage/event}/QuietLogRecord.java | 14 +- .../org/apache/sis/storage/event/StoreEvent.java | 91 + .../apache/sis/storage/event/StoreListener.java | 56 + .../apache/sis/storage/event/StoreListeners.java | 613 ++++++ .../org/apache/sis/storage/event/WarningEvent.java | 90 + .../org/apache/sis/storage/event/package-info.java | 20 +- .../internal/storage/AbstractGridResourceTest.java | 2 - .../java/org/apache/sis/storage/DataStoreMock.java | 45 +- .../sis/storage/event/StoreListenersTest.java | 109 + .../apache/sis/test/suite/StorageTestSuite.java | 9 +- storage/sis-xmlstore/pom.xml | 7 +- .../storage/gpx/GroupAsPolylineOperation.java | 3 + .../apache/sis/internal/storage/gpx/Metadata.java | 18 +- .../org/apache/sis/internal/storage/gpx/Store.java | 9 +- .../internal/storage/xml/stream/StaxDataStore.java | 31 +- .../internal/storage/xml/stream/StaxStreamIO.java | 2 +- .../storage/xml/stream/StaxStreamReader.java | 2 +- .../storage/xml/stream/StaxStreamWriter.java | 4 +- .../sis/internal/storage/gpx/ReaderTest.java | 4 +- .../sis/internal/storage/gpx/WriterTest.java | 4 +- .../org/apache/sis/test/suite/GPXTestSuite.java | 8 +- 1135 files changed, 17789 insertions(+), 12306 deletions(-) copy core/sis-feature/src/main/java/org/apache/sis/coverage/{MismatchedCoverageRangeException.java => IllegalSampleDimensionException.java} (69%) create mode 100644 core/sis-feature/src/main/java/org/apache/sis/feature/CommonParentFinder.java delete mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/FeatureExpression.java create mode 100644 core/sis-feature/src/test/java/org/apache/sis/coverage/SampleRangeFormatTest.java delete mode 100644 core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/RS_Identifier.java create mode 100644 core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/RS_Identifier.java create mode 100644 core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java delete mode 100644 core/sis-metadata/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper.java delete mode 100644 core/sis-metadata/src/main/java/org/apache/sis/xml/OGCNamespacePrefixMapper_Endorsed.java create mode 100644 core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/IdentifiersTest.java delete mode 100644 core/sis-metadata/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.txt delete mode 100644 core/sis-metadata/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java delete mode 100644 core/sis-referencing/src/main/java/org/apache/sis/distance/DistanceUtils.java rename core/{sis-metadata/src/main/java/org/apache/sis/internal/metadata => sis-referencing/src/main/java/org/apache/sis/internal/referencing}/AxisDirections.java (99%) rename core/{sis-metadata/src/main/java/org/apache/sis/internal/metadata => sis-referencing/src/main/java/org/apache/sis/internal/referencing}/EllipsoidalHeightCombiner.java (80%) create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/TemporalAccessor.java rename core/{sis-metadata/src/main/java/org/apache/sis/internal/metadata => sis-referencing/src/main/java/org/apache/sis/internal/referencing}/VerticalDatumTypes.java (99%) rename core/{sis-metadata/src/main/java/org/apache/sis/internal/metadata => sis-referencing/src/main/java/org/apache/sis/internal/referencing}/WKTKeywords.java (98%) create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Orthographic.java create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/SatelliteTracking.java rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/AbstractParser.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Colors.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Convention.java (98%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Element.java (99%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/ElementKind.java (98%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/FormattableObject.java (98%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Formatter.java (98%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java (94%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/KeywordCase.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/KeywordStyle.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/MathTransformParser.java (91%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Parser.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Symbols.java (98%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Transliterator.java (98%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/UnformattableObjectException.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/UnparsableObjectException.java (99%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/WKTFormat.java (94%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/Warnings.java (100%) rename core/{sis-metadata => sis-referencing}/src/main/java/org/apache/sis/io/wkt/package-info.java (97%) create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodesicsOnEllipsoid.java copy core/{sis-utility/src/main/java/org/apache/sis/util/UnconvertibleObjectException.java => sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticException.java} (63%) rename core/{sis-metadata/src/main/java/org/apache/sis/metadata/iso => sis-referencing/src/main/java/org/apache/sis/referencing}/ImmutableIdentifier.java (87%) delete mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CompoundCRSBuilder.java create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Inverter.java create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Orthographic.java create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/SatelliteTracking.java create mode 100644 core/sis-referencing/src/main/resources/org/apache/sis/internal/referencing/provider/Descriptions.properties delete mode 100644 core/sis-referencing/src/test/java/org/apache/sis/distance/LatLonPointRadiusTest.java rename core/sis-referencing/src/test/java/org/apache/sis/internal/{metadata => referencing}/AxisDirectionsTest.java (98%) rename core/sis-referencing/src/test/java/org/apache/sis/internal/{metadata => referencing}/EllipsoidalHeightCombinerTest.java (94%) rename core/{sis-metadata/src/test/java/org/apache/sis/internal/metadata => sis-referencing/src/test/java/org/apache/sis/internal/referencing}/VerticalDatumTypesTest.java (98%) rename core/{sis-metadata/src/test/java/org/apache/sis/internal/metadata => sis-referencing/src/test/java/org/apache/sis/internal/referencing}/WKTKeywordsTest.java (98%) rename core/{sis-metadata => sis-referencing}/src/test/java/org/apache/sis/io/wkt/ColorsTest.java (100%) rename core/{sis-metadata => sis-referencing}/src/test/java/org/apache/sis/io/wkt/ConventionTest.java (100%) rename core/{sis-metadata => sis-referencing}/src/test/java/org/apache/sis/io/wkt/ElementTest.java (100%) rename core/{sis-metadata => sis-referencing}/src/test/java/org/apache/sis/io/wkt/FormatterTest.java (98%) rename core/{sis-metadata => sis-referencing}/src/test/java/org/apache/sis/io/wkt/SymbolsTest.java (100%) rename core/{sis-metadata => sis-referencing}/src/test/java/org/apache/sis/io/wkt/TransliteratorTest.java (100%) create mode 100644 core/sis-referencing/src/test/java/org/apache/sis/referencing/ClenshawSummation.java create mode 100644 core/sis-referencing/src/test/java/org/apache/sis/referencing/GeodesicsOnEllipsoidTest.java rename core/{sis-metadata/src/test/java/org/apache/sis/metadata/iso => sis-referencing/src/test/java/org/apache/sis/referencing}/ImmutableIdentifierTest.java (98%) rename core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/{MethodDimensions.sql => DebugTools.sql} (90%) create mode 100644 core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/OrthographicTest.java create mode 100644 core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/SatelliteTrackingTest.java create mode 100644 core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataVerticalTest.java delete mode 100644 core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java create mode 100644 core/sis-utility/src/main/java/org/apache/sis/measure/IdentityConverter.java create mode 100644 core/sis-utility/src/main/java/org/apache/sis/setup/Configuration.java delete mode 100644 core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListener.java delete mode 100644 core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java delete mode 100644 core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationMock.java delete mode 100644 core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java create mode 100644 core/sis-utility/src/test/java/org/apache/sis/test/ProjectDirectories.java delete mode 100644 core/sis-utility/src/test/java/org/apache/sis/util/logging/EmptyWarningListeners.java delete mode 100644 core/sis-utility/src/test/java/org/apache/sis/util/logging/WarningListenersTest.java delete mode 100644 ide-project/NetBeans/nbproject/build-impl.xml~ copy profiles/sis-japan-profile/src/main/java/org/apache/sis/profile/japan/{package-info.java => JapaneseProfile.java} (73%) copy core/sis-metadata/src/test/java/org/apache/sis/internal/simple/SimpleIdentifierTest.java => storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/AxisTest.java (53%) rename {core/sis-referencing/src/main/java/org/apache/sis/distance => storage/sis-storage/src/main/java/org/apache/sis/index/tree}/LatLonPointRadius.java (59%) copy storage/sis-storage/src/main/java/org/apache/sis/storage/{IllegalOpenParameterException.java => NoSuchDataException.java} (68%) delete mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/event/ChangeEvent.java delete mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/event/ChangeListener.java rename {core/sis-utility/src/main/java/org/apache/sis/util/logging => storage/sis-storage/src/main/java/org/apache/sis/storage/event}/QuietLogRecord.java (84%) create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/event/StoreEvent.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/event/StoreListener.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/event/StoreListeners.java create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/storage/event/WarningEvent.java create mode 100644 storage/sis-storage/src/test/java/org/apache/sis/storage/event/StoreListenersTest.java
