The GeoTools team is pleased to announce the release of GeoTools 19-beta
<https://sourceforge.net/projects/geotools/files/GeoTools%2019%20Releases/19-beta/>
:

   - geotools-19-beta-bin.zip
   
<https://sourceforge.net/projects/geotools/files/GeoTools%2019%20Releases/19-beta/geotools-19-beta-bin.zip/download>
   - geotools-19-beta-doc.zip
   
<https://sourceforge.net/projects/geotools/files/GeoTools%2019%20Releases/19-beta/geotools-19-beta-doc.zip/download>
   - geotools-19-beta-userguide.zip
   
<https://sourceforge.net/projects/geotools/files/GeoTools%2019%20Releases/19-beta/geotools-19-beta-userguide.zip/download>
   - geotools-19-beta-project.zip
   
<https://sourceforge.net/projects/geotools/files/GeoTools%2019%20Releases/19-beta/geotools-19-beta-project.zip/download>

This release is also available from our Maven repository
<http://download.osgeo.org/webdav/geotools/>.
This release is made in conjunction with GeoServer 2.13-beta.

This release includes a two major changes, both related to Java 9
compatibility, and a significant set of new features and improvements.
FactorRegistry Refactoring
In JDK 9 javax.imageio.spi.ServiceRegistry verifies that it is extended by
JDK-classes only. For GeoTools' org.geotools.factory.FactoryRegistry that
means that an exception is thrown, thus crashing GeoTools. To fix this, it
was necessary to reimplement the ServiceRegistry functionality that is
needed by GeoTools in FactoryRegistry.

For most users, this should not require any changes to make your project
compatible. However, if you are accessing the FactorRegistry directly,
there are some API changes that you will need to handle. For more details,
refer to the FactoryRegistry Refactoring for Java 9 Compatibility
<https://github.com/geotools/geotools/wiki/FactoryRegistry-Refactoring-for-Java-9-Compatibility>
proposal.


Java 9 CompatibilityMore generally, GeoTools as a whole has been updated to
be able to run on Java 9.
If your project depends on GeoTools 19.x, and you want to use it with Java
9, you will need to add the following flags to your JVM runtime arguments:

--add-modules=java.xml.bind --add-modules=java.activation

This adds the JAXB and Activation modules to the Java Runtime (They are not
included by default in Java 9). Strictly speaking, this is only required if
your project depends upon certain GeoTools modules, such as gt-imagemosaic.
Note that these arguments are not supported under Java 8. If you wish to
retain compatibility with Java 8, also include:

-XX:+IgnoreUnrecognizedVMOptions

This tells the JVM to ignore options it doesn’t recognize, so Java 8 won’t
throw an error.

Also note that running GeoTools on Java 9 will introduce a few functional
changes:

   - XML pretty-print behaviour has changed, so that CDATA tags will now be
   on their own lines. These changes are only cosmetic - there are no
   functional changes to the XML.
   - Certain math functions are more precise on Java 9. This can result
   differences in the last digit of double values between Java 8 and Java 9.
   In particular, this has been observed when dealing with reprojected
   coordinates.
   - Small changes in horizontal offset have been observed in labels
   following lines. This may be OS-specific.

GeoPackage performance improvementsGeoPackage reading and rendering
performance improved significantly, up to two times faster on large
datasets full extractions and 50% faster on small bounding box searches,
bringing GeoPackage on par with PostGIS. We also have a Google spreadsheet
with more details
<https://docs.google.com/spreadsheets/d/1tDEo9M_Vgld1nEDuzGGq7qw8HjaNEd9NTY2Pz5iFyQ4/edit#gid=767941389>
.

Shapefile remains king of full dataset extractions and the fastest data
source for pure spatial driven queries.

*Support for more PostGIS data types*

The PostGIS data store now has simple support for HStore and JSON columns.
HStore is returned as a Map, while JSON is read as a String. In both cases
no special query support has been added for those types (but we'd be very
happy if someone would work, or sponsor, that functionality too).

*Better label position control in map rendering*

When setting maxDisplacement on point/polygons the renderer used to search
in a circular area around the designated label point.
The new displacementMode vendor option allows to control the positioning by
specifying the preferred cardinal positions, as a comma separated list.

<http://2.bp.blogspot.com/-mkTJcAFumAE/Wo07XVLFyTI/AAAAAAAACkA/e6_NyZhVyEsx9ZTV7j0Z-YQ8l5TVEm5mgCK4BGAYYCw/s1600/displacementMode.png>
*Shapefile now supporting all Java object types on write*

Shapefile used to throw exceptions if unrecognized object types were fed to
it (basically, anything but geometries, strings, numbers and dates). From
now on it will write unrecognized objects as strings instead.
Assorted improvements
Highlights from our issue tracker release-notes
<https://osgeo-org.atlassian.net/secure/ReleaseNote.jspa?projectId=10001&version=16701>
:

   - Upgrade JDom to version 2.0.6
   - Upgrade to EJML 0.32
   - Upgrade Apache Solar Java client to is last stable release
   - Expose GDAL ASRP/USRP format
   - GML 3.2 encoding misses mandatory gml:id on geometry elements - fast
   path
   - Cannot export to GeoPackage when GeoServer feature type has Boolean
   attribute
   - MongoDB support optional milliseconds in ISO8601 date/time string
   - Geometries used in expressions should be cloned during rendering to
   preserve their original coordinates
   - Improved NoData support in mosaics of NetCDF files
   - JDBCDataStore recognize the "in" function family (including in2, ...,
   in10) and encode those as native SQL whenever possible. Also, all Instant
   objects will now be encoded in SQL (before only the Date family was encoded
   properly).

There is also a large set of bug fixes. For more information see the
19-beta release notes
<https://osgeo-org.atlassian.net/secure/ReleaseNote.jspa?projectId=10001&version=16701>
.

*Please test test test!!*

Java 9 (and the soon-to-be-released Java 10) introduce significant changes,
so please test GeoTools on Java 9 if you are able.
Please also test GeoPackage and all the new features introduced in this
release.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to