SIS 1.0 Release notes

Apache SIS 1.0 can marshal and unmarshal metadata in XML documents using the new ISO 19115-3 standard. The previous ISO 19139 standard is still supported and automatically recognized at unmarshalling time. This release also contains improvements in reading netCDF files and a beginning of raster support.

Incompatible changes

The following changes in Apache SIS 1.0 are incompatible with SIS 0.8:

  • DirectPosition1D.ordinate — the field has been renamed coordinate for consistency with terminology used in ISO 19111 international standard.
  • DataStore.getOpenParameters() — return type has been changed from ParameterValueGroup to Optional<ParameterValueGroup>.
  • DataSet.getEnvelope() — return type has been changed from Envelope to Optional<Envelope>.
  • TransformSeparator — behavior change: if the desired source dimensions were not explicitly specified, then the source dimensions that are not required for producing the desired target dimensions are automatically trimmed.
  • The sis-gdal module released in Apache SIS 0.8 has been excluded from this release. That module was compiled for Proj4 and is incompatible with Proj5 or Proj6.

Noticeable changes

New Features

  • [SIS-221] — Hotine Oblique Mercator (EPSG:9812, 9815)
  • [SIS-227] — American Polyconic (EPSG:9818)
  • [SIS-426] — Mollweide projection
  • [SIS-450] — Sinusoidal projection
  • [SIS-408] — Add SpecializableTransform
  • [SIS-410] — More stable MathTransform.Inverse serialization
  • [SIS-412] — Add a CRS.findOperations(sourceCRS, targetCRS, …) method
  • [SIS-413] — Units.PSU should have a scale value of 1/1000
  • [SIS-424] — Create Feature instances from a SQL database
  • [SIS-425] — Drop package prefixes in table created in “metadata” schema
  • [SIS-307] — GSoC: Create the foundation of a module for remote sensing data
  • [SIS-444] — GridCoverageResource interface for raster data
  • [SIS-443] — Give access to netCDF raster data as GridCoverage
  • [SIS-454] — Approximate geodesic path by Bézier curve

Improvements

  • [SIS-422] — Migrate from SVN to Git as the main SIS code repository
  • [SIS-396] — Update EPSG geodetic dataset to version 9.4
  • [SIS-468] — Update EPSG geodetic dataset to version 9.7
  • [SIS-395] — Need a public way to get connection to “SpatialMetadata” database
  • [SIS-338] — Stores predefined metadata in the SpatialMetadata database
  • [SIS-81] — Replace ModifiableMetadata.isModifiable() by an enum
  • [SIS-345] — Upgrade JAXB binding to ISO 19115-3
  • [SIS-126] — Replace the NamespacePrefixMapper hack by NamespaceContext
  • [SIS-399] — When renaming “xsi:type” value, may need to declare a new namespace
  • [SIS-404] — Allow profiles to extend legacy metadata schema
  • [SIS-455] — Compute length of cubic Bézier curve
  • [SIS-458] — TransformSeparator should omit unused source dimensions, unless requested otherwise
  • [SIS-315] — NetCDF: convention interface and parsing utilities
  • [SIS-316] — NetCDF: build CRS and GridToCRS Transform from netcdf variables and attributes
  • [SIS-446] — NetCDF store should be robust to non-linear localization grid
  • [SIS-445] — NetCDF store should be robust to localization grid crossing anti-meridian
  • [SIS-448] — Extension to CF-conventions for localization grid smaller than data in netCDF
  • [SIS-449] — Extension to CF-conventions for bands in a netCDF variable
  • [SIS-429] — Arithmetic operation on quantities on values converted to system units
  • [SIS-421] — Retrofit WarningListener in a more generic EventListener

Bug fixes

  • [SIS-377] — Latitude of natural origin = -90 wrongly rejected for Transverse Mercator
  • [SIS-376] — Geographic/geocentric conversion fails if the geographic CRS is two-dimensional
  • [SIS-378] — Too aggressive simplification of some units of measurement
  • [SIS-382] — SI multiples not recognized when applied on kilogram
  • [SIS-414] — Multiplication symbol should be omitted when the unit is Units.UNITY
  • [SIS-385] — Inaccurate formulas in DistanceUtils
  • [SIS-386] — Replace DefaultEllipsoid.orthodromicDistance(…) method
  • [SIS-431] — Need MD_ReferenceSystem adapter
  • [SIS-407] — OutOfMemoryError when reading Sentinel 1 image with GeoTIFF reader
  • [SIS-432] — Using BETA2007.gsb grid throws IllegalArgumentException
  • [SIS-439] — NetCDF reader does not support unlimited dimension
  • [SIS-441] — UnconvertibleObjectException when reading code list value from PostgreSQL
  • [SIS-461] — Replace “ordinate” by “coordinate”
  • [SIS-464] — DataSet.getEnvelope() should return Optional
  • [SIS-402] — Missing @XmlElement on DefaultMetadata.getCharacterSets()
  • [SIS-114] — Sidebar on the left side always have the “home” menu item active

Tasks

  • [SIS-456] — New numbering scheme for development branches
  • [SIS-438] — Make SIS compatible with latest Java versions
  • [SIS-388] — Upgrade Java platform requirement from JDK7 to JDK8
  • [SIS-383] — Upgrade Derby dependency and reduce dependency on JavaDB
  • [SIS-405] — Upgrade or remove JAXB annotations of ImmutableIdentifier
  • [SIS-64] — Remove duplicated profile in sis-build-helper after MNG-3328 get fixed
  • [SIS-415] — Remove links to remotesensing.org
  • [SIS-430] — Remove PACK200 usage
  • [SIS-463] — Move WKT support from sis-metadata to sis-referencing
  • [SIS-406] — Move XML support from sis-utility module to sis-metadata
  • [SIS-331] — Verify the mapping from ISO 19115:2003 to ISO 19115:2014
  • [SIS-375] — Cache: override default Map methods
  • [SIS-440] — ComparisonMode.APPROXIMATIVE should be APPROXIMATE