GeoTools

OSGeo

Monday, February 22, 2021

GeoTools 23.5 released

  The GeoTools team is pleased to share the availability of   GeoTools 23.4 :

This release is published to the osgeo maven repository, and is made in conjunction with  GeoServer 2.17.5. This is a maintenance release and is a recommended upgrade for all users of the GeoTools library. 

This is the final scheduled release for the 23.x branch and we advise everyone to upgrade to 24.x at this time.

We would like to thank everyone who contributed to this release, including Gabriel Roldan and Jody Garnett for making the release.

Fixes

From our issue tracker release notes:
  • rendering fix avoiding out of memory issue using densification on reprojection drawing a small part of a large/complex geometry
  • DefaultGeographicCRS.WGS84 and DefaultGeographicCRS.WGS84_3D now include EPSG identifier information and domain of validity.
  • app-schema fix handling of mappings that did not include an Id expression
  • app-schema fix for count, previously only worked for queries that did not use nested properties
  • image-mosaic address deadlock in handling heterogeneous crs
  • shapefile fix out of bounds exception encoding UTF-8 strings
  • Addressed regression in raster to vector process which artifacts such as diagonal lines
  • Tile extension now uses http-client to double check input stream points to an image
  • PostGIS data store now recognizes PARTITIONED TABLE (a parent table made up a number of child tables)

Improvements

A number of dependencies have been updated:
  • Batik svg libraries 1.13
  • sqlite-jdbc 3.34.0
  • Jackson JSON libraries 2.10.5
  • Apache HTTP components 4.5.13
  • Guava 30.1

About GeoTools 23 Series

GeoTools 23:For more information see the release notes ( 23.5 | 23.423.3 | 23.2 | 23.1 | 23.0 |  23-RC )

Wednesday, January 20, 2021

GeoTools 24.2 released

   The GeoTools team is pleased to share the availability of GeoTools 24.2 :

This release is published to the osgeo maven repository, and is made in conjunction with  GeoServer 2.18.2. This is a stable release and is a recommended upgrade for all users of the GeoTools library.

We would like to thank everyone who contributed to this release. The large number of fixes this release are in part to participation in a bug fix sprint organized by GeoSolutions.

Improvements and Fixes

From our issue tracker release-notes :
  • Support for ImageIO-ext based COG readers landed in this release, both for stand-alone GeoTiff and image mosaics (make sure to have the necessary dependencies in the classpath)
  • Ability to limit oversampling while reprojecting rasters, when accurate resolution computation is enabled (on by default)
  • MySQL 8 spatial functions are now supported
  • A bunch of dependencies have been upgraded, including the MySQL JDBC driver, sqlite JDBC (used by GeoPackage), Batik, Apache HTTP components, Guava
  • Other assorted but fixes to shapefile readers, PostGIS datastore, WMTS cascading, the CSS module, and more, check the release-notes for full details.

About GeoTools 24 Series

For more information see the release notes (24.224.1 | 24.0 | 24-RC ).

Tuesday, December 22, 2020

GeoTools 23.4 released

 The GeoTools team is pleased to share the availability of   GeoTools 23.4 :

This release is published to the osgeo maven repository, and is made in conjunction with  GeoServer 2.17.4. This is a maintenance release and is a recommended upgrade for all users of the GeoTools library. It is expected to be the last release on the 23.x branch and users should consider moving to the stable 24.x branch.

We would like to thank everyone who contributed to this release, including Ian Turton of Astun Technology for making the release.

Fixes

From our issue tracker  release-notes :
  • [GEOT-6729] - Shapefile reader fails on points having Z and no optional M
  • [GEOT-6740] - Shapefile reader fails on lines and polygons having Z and no optional M
  • [GEOT-6751] - MBTilesFeatureSource should offer support for Hints.GEOMETRY_DISTANCE as well

About GeoTools 23 Series

GeoTools 23:For more information see the release notes ( 23.323.2 | 23.1 | 23.0 |  23-RC )

Monday, November 23, 2020

GeoTools 24.1 released

  The GeoTools team is pleased to share the availability of GeoTools 24.1 :

This release is published to the osgeo maven repository, and is made in conjunction with  GeoServer 2.18.1. This is a stable release and is a recommended upgrade for all users of the GeoTools library.

We would like to thank everyone who contributed to this release. The large number of fixes this release are in part to participation in a bug fix sprint organized by GeoSolutions.

Improvements and Fixes

From our issue tracker release-notes :
  • A new process, GroupCandidateSelectionProcess, has been added, that groups features by attributes, and then chooses one in the group that has the min or max value of another attribute
  • Assorted bug fixes, read the release notes for more details.

About GeoTools 24 Series

For more information see the release notes (24.124.0 | 24-RC ).

Friday, October 2, 2020

GeoTools 23.3 released

 The GeoTools team is pleased to share the availability of   GeoTools 23.3 :

This release is published to the osgeo maven repository, and is made in conjunction with  GeoServer 2.17.3. This is a stable release and is a recommended upgrade for all users of the GeoTools library.

We would like to thank everyone who contributed to this release. The large number of fixes this release are in part to participation in a bug fix sprint organized by GeoSolutions.

Improvements and Fixes

From our issue tracker  release-notes :
  • The ImageMosaic single granule harvest has been optimized so that it only checks the files it really need to harvest (used to cause a full mosaic directory scan). The mosaic has also been optimized to better use the SuggestedFormat setting, avoiding potentially expensive format lookups.
  • The StandardDeviationClassificationFunction can now include class percentages as well
  • SAP HANA spatial filtering reiceived fixes to be used more consistently
  • The Jiffle process is now faster, avoiding raster resampling when not necessary, and can produce multi-band outputs
  • And more, read the release notes for more details.

About GeoTools 23 Series

GeoTools 23:For more information see the release notes ( 23.2 | 23.1 | 23.0 |  23-RC )

Sunday, September 20, 2020

GeoTools 24.0 Released

 The GeoTools team is pleased to share the availability GeoTools 24.0:

This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.18.0, GeoWebCache 1.18.0 and JTS 1.17.1.

This release was carried out by Ian Turton of Astun Technology, with thanks to the support of UKHO.

Visuals and Rendering

New capabilities have been added:
  • Add a ProjectionHandler for Homolosine
  • WrappingProjectionHandler can now handle a rotated polar fitted Coordinate System
  • Implement Polyconic spherical case (as used by US Census TIGER dataset)

Add functionality to GeoPackage with GeoPkgExtension

Read/write support of GeoPackage has been available as a GeoTools DataStore for some time, this release Andrea (GeoSolutions) has really upped our game defining a GeoPkgExtension for modules to hook in and provide additional functionality:
  • GeoPkgMetadataExtension: Supports the GeoPackage metadata extension, defined as a "registered extension" in the GeoPackage standard .
  • GeoPkgSchemaExtension: Allowing to declare more information about columns and eventually express constraints on them.
  • This approach is already opening up a host of possibilities, with GeoServer experimenting with including styling and semantic annotations.
The GeoPackage module is under active development with new support for Support compact enumerations, speed improvements when adding content, and

Mapbox Style Dynamic Expressions

The MBStyle Extension continues to be improved with this release adding support for dynamic expressions.
Expressions allow Mapbox Style to dynamically style features using attribute values ( [ "get","attribute"] ), and respond to changes of scale ( ["zoom"] ), and make use of functions (["rgb",255,0,0] ):
{ "circle-radius": [
    "interpolate", ["linear"], ["zoom"],
    0, ["get", "rating"],
    10, ["*", 4, ["get", "rating"]]
  ]
}
The previous, now deprecated, function stop approach remains supported:
{ "circle-color": {
    "property": "temperature",
    "stops": [[0, 'blue'],[100, 'red']]
  }
}
Thanks to Jody (GeoCat) for this improvement offering greater Mapbox.GL parity. For more information see user guide on Expressions .

Updated Libraries

Each major release is an opportunity to update the libraries that GeoTools uses:
  • Bump no.ecc.java-vector-tiles to 1.3.10
  • Update to JSR-385 units 2.0
  • Update to Oracle 19.7.0.0 JDBC driver (now available as maven dependency)
  • Upgrade FlatGeobuf library to 3.3.0
  • Upgrade from Apache Commons Collections v3 to Apache Commons Collections v4
  • Upgrade NetCDF to 4.6.15
  • Update to SQL Server 8.2.2.jre8 driver
  • Upgrade SnakeYAML to 1.26
  • Upgrade to JTS Topology Suite 1.17.1
  • Upgrade to sqlite-jdbc 3.31.1
  • Upgrade to jgridshift 1.3
  • Upgrade to commons-beanutils from 1.9.2 to 1.9.4
Please note if you have made use of the JSR-385 units library change your imports from "import tec.uom.se.*"  to "import tech.units.indriya.*". For additional information on upgrading your application see our User Manual "upgrading" page.

Improvements and Fixes

Public service announcement:
  • The imagemosaic-jdbc module (storing rasters in the database) does not have an active developer and has been downgraded to unsupported status.
  • The unmaintained ogr-bridj module has been removed.
  • GeoTools code of conduct pledge, following OSGeo policy.
From our issue tracker release-notes:
  • Ensure PostGIS DataStore respects force2D hint, applying ST_Force2D function to allow rendering of 3D Geometry
  • Address GeoPackage data store aggregates performance regression introduced when adding temporal support
  • Updates to MapBox Style Specification in GeoTools User Manual, now linked to by the GeoServer extension documentation to avoid duplication.
  • Image mosaic configuration now checks suggested image format will work, and makes a note of the format used for subsequent harvesting.
  • Preventing several failures during image mosaic harvesting encountered when working with multiple files in different coordinate reference systems.
  • Improve GeoJSONDataStore parameter checks when working with a provided URL.
  • New array function to allow literal array creation
  • Add support for restricting an attribute to a fixed set of valid values
  • Rendering speed improved with MemoryFilterOptimizer converting slow OR expressions into faster IN functions when possible.
  • Fix for SAP-HANA-datastore when working with views and no SRID found
  • PostGIS datastore option to simplify using ST_SimplifyPreserveTopology function
  • Shapefile now supports Charset coding in the DBF file header, so attribute names are no longer restricted to "iso-8859-1" names.
  • Ian Turton fixed a very frustrating Shapefile java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear() error when working with Java 11
  • Change to user-agent "Geotools HTTP client" to restore programatic access OSM tiles
  • WMTS client support for longitude first coordinate reference systems
  • A fix for OracleDatastore allowing use of reserved words as column names
Many of these fixes were made after testing of our 24-RC release, we would like to thank Mark Prins and Jody Garnett for testing.

Research and Development Updates

Our "unsupported" module area is provided for the developer community to collaborate on research and development. We invite developers to contribute to the following work-in-progress:
  • A new DataStore to access ogc-api features
  • A new module supporting Esri compact cache TPK format
  • ElasticGeo continutes to improve with support for aliasing / short names,
  • For additional topics check out the "unsupported" page in our User guide.
If you are interested in contributing to these modules, or starting your own research and development activity, please see our developers guide for details.

About GeoTools 24 Series

For more information see the release notes ( 24.0 | 24-RC ).

Friday, September 4, 2020

GeoTools 24-RC Release Candidate

The GeoTools team is pleased to share the availability GeoTools 24-RC :
This release candidate is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.18-RC and JTS 1.17.1.

Please Test this Release Candidate

A release candidate is your chance to both try out new features and contribute to the project with valuable feedback right when we need it most.
This release is an easy upgrade with only API additions! Please test this release and let us know of any regression before we release GeoTools 24 later this month  

Visuals and Rendering

New capabilities have been added:
  • Add a ProjectionHandler for Homolosine
  • WrappingProjectionHandler can now handle a rotated polar fitted Coordinate System
  • Implement Polyconic spherical case (as used by US Census TIGER dataset)

Add functionality to GeoPackage with GeoPkgExtension

Read/write support of GeoPackage has been available as a GeoTools DataStore for some time, this release Andrea (GeoSolutions) has really upped our game defining a GeoPkgExtension for modules to hook in and provide additional functionality:
  • GeoPkgMetadataExtension: Supports the GeoPackage metadata extension, defined as a "registered extension" in the GeoPackage standard .
  • GeoPkgSchemaExtension: Allowing to declare more information about columns and eventually express constraints on them.
  • This approach is already opening up a host of possibilities, with GeoServer experimenting with including styling and semantic annotations.
The GeoPackage module is under active development with new support for Support compact enumerations, speed improvements when adding content, and

Mapbox Style Dynamic Expressions

The MBStyle Extension   continues to be improved with this release adding support for dynamic expressions.
Expressions allow Mapbox Style to dynamically style features using attribute values ( [ "get","attribute"] ), and respond to changes of scale ( ["zoom"] ), and make use of functions ( ["rgb",255,0,0] ):
{ "circle-radius": [
    "interpolate", ["linear"], ["zoom"],
    0, ["get", "rating"],
    10, ["*", 4, ["get", "rating"]]
  ]
}
The previous, now deprecated, function stop approach remains supported:
{ "circle-color": {
    "property": "temperature",
    "stops": [[0, 'blue'],[100, 'red']]
  }
}
Thanks to Jody (GeoCat) for this improvement offering greater Mapbox.GL parity. For more information see user guide on Expressions .

Updated Libraries

Each major release is an opportunity to update the libraries that GeoTools uses:
  • Bump no.ecc.java-vector-tiles to 1.3.10
  • Remove un-maintained ogr-bridj module
  • Update to JSR-385 units 2.0
  • Update to Oracle 19.7.0.0 JDBC driver (now available as maven dependency)
  • Upgrade FlatGeobuf library to 3.3.0
  • Upgrade from Apache Commons Collections v3 to Apache Commons Collections v4
  • Upgrade NetCDF to 4.6.15
  • Update to SQL Server 8.2.2.jre8 driver
  • Upgrade SnakeYAML to 1.26
  • Upgrade to JTS Topology Suite 1.17.1
  • Upgrade to sqlite-jdbc 3.31.1
  • Upgrade to jgridshift 1.3
Please note if you have made use of the JSR-385 units library change your imports from "import tec.uom.se.*"  to "import tech.units.indriya.*". For additional information on upgrading your application see our User Manual "upgrading" page.

Improvements and Fixes

Public service announcement:
  • The imagemosaic-jdbc module (storing rasters in the database) does not have an active developer and has been downgraded to unsupported status.
  • The unmaintained ogr-bridj module has been removed.
From our issue tracker release-notes:
  • New array function to allow literal array creation
  • Add support for restricting an attribute to a fixed set of valid values
  • Rendering speed improved with MemoryFilterOptimizer converting slow OR expressions into faster IN functions when possible.
  • Fix for SAP-HANA-datastore when working with views and no SRID found
  • PostGIS datastore option to simplify using ST_SimplifyPreserveTopology function
  • Shapefile now supports Charset coding in the DBF file header, so attribute names are no longer restricted to "iso-8859-1" names.
  • Ian Turton fixed a very frustrating Shapefile java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear() error when working with Java 11
  • Change to user-agent "Geotools HTTP client" to restore programatic access OSM tiles
  • WMTS client support for longitude first coordinate reference systems
  • A fix for OracleDatastore allowing use of reserved words as column names

Research and Development Updates

Our "unsupported" module area is provided for the developer community to collaborate on research and development. We invite developers to contribute to the following work-in-progress:
  • A new DataStore to access ogc-api features
  • A new module supporting Esri compact cache TPK format
  • ElasticGeo continutes to improve with support for aliasing / short names,
  • For additional topics check out the "unsupported" page in our User guide.
If you are interested in contributing to these modules, or starting your own research and development activity, please see our developers guide for details.

About GeoTools 24 Series

For more information see the release notes ( 24-RC ).