GeoTools

OSGeo

Tuesday, December 20, 2016

GeoTools 16.1 Released

The GeoTools team is pleased to announce the release of GeoTools 16.1:
This release is also available from our maven repository.

This release is made in conjunction with GeoWebCache 1.10.1 and GeoServer 2.10.1.

GeoTools 16.1 is the latest stable release of the 16.x series and is recommended for all new projects.

Features and Improvements

  • Graduate GeoPackage module to supported status
  • Add an SLD vendor option to underline labels
  • Extra marks needed for QGIS interoperability
  • Add support for "excess granule removal" in image mosaic

Bug Fixes

  • GeoPackage creates inconsistent CRS's (y-axis)
  • Warp/affine reduction does not preserve affine op tile size
  • Affine and Warp operations can generate ROIs with too many tiles
  • Scaling up a small image generates a output image with a high number of small tiles
  • Deadlock on schema parsing
  • CRS.parseText fails for WagnerV WKT
  • AzimuthalEquidistant projection missing parameters
  • ImageUtilities.disposePlanarImageChain won't dispose associated ROIs
And more! For more information please see the release notes (16.116.0 | 16-RC1 | M0 | beta).

About GeoTools 16

  • The wfs-ng module is now a drop in replacement and will be replacing gt-wfs
  • The NetCDF module now uses NetCDF-Java 4.6.6

Monday, November 28, 2016

GeoTools 15.3 Released

The GeoTools team is pleased to announce GeoTools 15.3.
This release is also available from our Maven repository. This release is made in conjunction with GeoServer 2.9.3.

GeoTools 15.3 is a maintenance release focused on bug fixes. While this release is suitable for production systems we recommend planning your upgrade to GeoTools 16.

Features and Improvements:
  • Upgrade to use of latest ImageIO-EXT 1.1.16 for raster formats
  • SQL encoding of filters on nested attributes
  • Rendering can now delegate band selection to coverage reader
      Bug Fixes:
      • PostgreSQL 9.6 index sorting fixed
      • Several SQL Server fixes including bulk insert, date/time fix filtering, compatibility with Microsoft JDBC driver
      • SLD fix for rescaling graphic with anchor point
      • Grid coverage 
      For more information please see the release notes (15.315.2 | 15.1 | 15.0 | RC1 | Beta 2 | Beta 1 | M0 ).

      About GeoTools 15 

      What's new in GeoTools 15:

      Monday, October 31, 2016

      GeoTools 16.0 Released

      The GeoTools team is pleased to announce the release of GeoTools 16.0:
      This release is also available from our maven repository.

      Thanks to everyone who took part in the code-freeze, monthly bug stomp, or directly making the release. This release is made in conjunction with GeoServer 2.10.0.

      This release of GeoTools has been through a beta and release candidate test phase so everything you need should be working fine (or did you forget to test those releases):
      • The library now defaults to using  PreventLocalEntityResolver with XML parsers for improved security. For more details (and how to disable this behavior) please see the GeoTools user guide.
      • The gt-wfs-ng client is taking over; please try it out with your Web Feature Services.
      • CSS now supports rendering transformations.

      Issues fixed or Added in this release

      Bug

      • [GEOT-5544] - GridCoverageFactory throws NullPointerException on arg described as nullable
      • [GEOT-5548] - Filter function "greaterEqualThan" is not properly working
      • [GEOT-5549] - Regression: insert operations produce SQL that includes identity column; SQL Server plugin then fails to insert
      • [GEOT-5550] - SQLServer date/time based filtering fails if the server is not in english locale
      • [GEOT-5552] - XSD schema manipulation not fully synchronized causes concurrency issues
      • [GEOT-5553] - SQLServerLobOnlineTest#testCreateSchema fails when using the Microsoft JDBC driver
      • [GEOT-5554] - SQLServerJNDIDataSourceOnlineTest fails if the Microsoft driver is not in the classpath

      Task

      • [GEOT-5542] - Update GT Pom to depend on ImageIO-EXT 1.1.16

      Improvement

      • [GEOT-5473] - Add support for "excess granule removal" in image mosaic
      • [GEOT-5526] - SQL Encoding of Filters on Nested Attributes
      For more information please see the release notes (16.0|16-RC1 | M0 | beta).

      About GeoTools 16

      • The wfs-ng module is now a drop in replacement and will be replacing gt-wfs
      • The NetCDF module now uses NetCDF-Java 4.6.6

      Friday, October 14, 2016

      GeoTools 16-RC Released

      The GeoTools team is pleased to announce the release of GeoTools 16-RC1:
      This release is also available from our maven repository.

      Thanks to everyone who took part in the code-freeze, monthly bug stomp, or directly making the release. This release is made in conjunction with GeoServer 2.10-RC1.

      As a release-candidate, 16-RC1 is not intended for production systems, however the API is stable and we invite everyone to try upgrading their applications, report any issues, and help out with the final round of testing and fixing:
      • The library now defaults to using PreventLocalEntityResolver with XML parsers for improved security. For more details (and how to disable this behavior) please see the GeoTools user guide.
      • The gt-wfs-ng client is taking over; please try it out with your Web Feature Services.
      • CSS now supports rendering transformations.
      For more information please see the release notes (16-RC1 | M0 | beta).

      About GeoTools 16

      • The wfs-ng module is now a drop in replacement and will be replacing gt-wfs
      • The NetCDF module now uses NetCDF-Java 4.6.6

      GeoTools 15.2 Released

      The GeoTools team is pleased to announce GeoTools 15.2.
      This release is also available from our Maven repository. This release is made in conjunction with GeoWebCache 1.9.2 and GeoServer 2.9.2. We would like to thank those who have contributed fixes and features to this release.

      GeoTools 15.2 is the latest stable release of the 15.x series and is recommended for all new projects.

      Security considerations:
      • The library now defaults to using PreventLocalEntityResolver for improved security. For more details (and how to disable this behavior) please see the GeoTools user guide.
      Features and Improvements:
      • Styling improvements include support for SE 1.1 external marks (with mark index)
      • Parsing hints can now be provided for WMS and WFS clients (entity resolver hint and and DTD disabling hint provided).
      • Overview policy parameter now available for ImageMosaic.
      • Support for integrated water column climatological time in NetCDF files
      • ImagePyramid support for multiple coverages 
          Bug Fixes:
          • SLD graphics now correctly handle mix of mark and external graphic choosing the first one supported.
          • External marks with mark index fixes for both copying and SE 1.1 parsing.
          For more information please see the release notes (15.2 | 15.1 | 15.0 | RC1 | Beta 2 | Beta 1 | M0 ).

          About GeoTools 15 

          What's new in GeoTools 15:

          Tuesday, September 20, 2016

          GeoTools 16-beta Released

          The GeoTools team is pleased to announce the release of GeoTools 16-beta:
          This release is also available from our Maven repository.
          This release is made in conjunction with GeoServer 2.10-beta.

          Highlights from our issue tracker release-notes:
          • CSS now supports rendering transformations
          • Well known symbols added for QGIS interoperability
          • Support for the Azimuthal Equidistant projection

          • ImageMosaic now allows for heterogenous CRS in its granules.
          For more information see the 16-beta release notes and the release notes for previous releases (M0).

          About GeoTools 16

          • The old wfs module has now been replaced with the wfs-ng module
          • The NetCDF module now uses NetCDF-Java 4.6.6

          Monday, August 15, 2016

          GeoTools 16-M0 Milestone Release

          GeoTools is pleased to announce the GeoTools 16-M0 milestone release:
          This release is also available from our maven repository.
          This release is made in conjunction with GeoServer 2.10-M0.

          Highlights from our issue tracker release-notes:
          • Upgrade to NetCDF-Java 4.6.6
          • Support NetCDF rotated pole projection
          • Allows ImagePyramid supporting multiple Coverages
          • Avoid excess memory usage in vector rendering mode for dense hatches and large target geometries
          • Support predefined app-schema interpolation properties for mapping file and parent directory
          • Add support for translucent colors to GradientColorMapGenerator
          • Add documentation for mongodb datastore
          • Various Oracle datastore bugfixes

          About GeoTools 16

          • The old wfs module has now been replaced with the wfs-ng module
          • The NetCDF module now uses NetCDF-Java 4.6.6

          Thursday, August 11, 2016

          GeoTools 14.5 Released

          The GeoTools team is pleased to announce the release of GeoTools 14.5:
          GeoTools 14.5 is the final maintenance release of the 14.x series. This release was made by Ben Caradoc-Davies (Transient) in conjunction with GeoServer 2.8.5.

          See the GeoTools 14.5 release notes for a full list of changes in this release. These include:
          • Fixes for the bin distribution, which was missing some JAI-EXT JAR files
          • Support for multivalued xlink:href ClientProperty in app-schema, even without feature chaining
          For more information, see the release notes for GeoTools 14-M0, 14-M1, 14-beta, 14-RC1, 14.0, 14.1, 14.2, 14.3, and 14.4.

          About GeoTools 14

          Highlights:

          Thursday, August 4, 2016

          GeoTools 15.1 Released

          The GeoTools team is pleased to announce GeoTools 15.1!
          This release is also available from our Maven repository. A reminder that Java 8 is now required, please view the install guide for details. This release is made by Devon Tucker (Boundless) in conjunction with GeoWebCache 1.9.1 and GeoServer 2.9.1

          GeoTools 15.1 is the latest stable release of the 15.x series and is recommended for all new projects.

          Features and Improvements

          • Upgraded to NetCDF-Java 4.6.6
          • Support for rotated pole projection NetCDF and GRIB2 files, including the native GRIB2 file format used by the NOAA Rapid Refresh (RAPv3) weather forecast model
          • Support for multivalued xlink:href ClientProperty in app-schema mappings

          Bug Fixes

          • ExtractsBoundFilterVisitor has been updated to work correctly with Filter 2.0 functions (such as temporal queries). Thanks to Andrew Hulbert (CCRi).
          • PropertyDataStore now correctly writing 3D geometries
          • Fixed in the new fast GML 3 encoder path, which was not properly encoding pure geometry collections, and data with 3d coordinates
          • WorldFile reader now correctly reading raster lock
          • GridCoverageRenderer no longer throwing NullPointerException in certain cases where the coverage is outside the request bounds
          • JDBCDataStore correctly updating and deleting features with a compound CRS in geometries
          And more! For more information see 15.1 release notes and the release notes for previous releases (M0 | Beta 1 | Beta 2 | RC1 | 15.0 | 15.1 ).

          About GeoTools 15 

          What's new in GeoTools 15:

            Wednesday, July 27, 2016

            Copyright Headers in Source Code Files


            OSGeo has now received legal advice on copyright headers in source code files. This advice is summarised here for the benefit of all projects:
            • Copyright headers in source code files are not required to enforce copyright.
            • Works still under copyright when the Berne Convention was adopted (1992 in the United States) are protected under this convention.
            • Works created after the Berne Convention was adopted are also protected.
            • There is no need to include a copyright header for a source code file created or modified after the Berne Convention was adopted. A modified source code file is a new work.
            • Source code files created before the adoption of the Berne Convention and not modified since its adoption should include a copyright header with the dates of creation and modification. These dates support the assertion that these files are covered by the Berne Convention.
            • A header that names the project, links to the project page, and references the licence is informative, and while not legally binding, might deter some infringers (at least they were warned file-by-file that the code is open source).
            • Both individual source code files and the project source as a whole are copyrighted works.
            GeoTools was first published in 1996. Project policy requires a copyright header in source code files; these should be seen as informative, and are not required to enforce copyright. See GeoTools Header Policy Updated for details. 

            Note that the authors of this blog post are not lawyers and this post has not been reviewed by a lawyer. This post should not be construed as legal advice.

            Friday, July 8, 2016

            FOSS4G 2016 Workshops

            GeoTools Workshops at FOSS4G 2016 in Bonn, 22nd August

            This year the GeoTools team are pleased to announce that there are two workshops available to help you get up to speed on using and extending GeoTools accepted at the annual OSGeo FOSS4G conference.
            • Monday 22 August 9-13 WS03: Introduction to GeoTools
            • Monday 22 August 14-18 WS14: GeoTools DataStore Workshop
            Both of these workshops are Java Development workshops - so not only can you bring your own device - you can bring your own IDE. One instructor will be using Eclipse and the other Netbeans (command line and vi welcome). The instructors are experienced core developers of GeoTools from Boundless and Astun Technology who spend both their working days and free time developing GeoTools and are looking forward to helping you do the same.

            Introduction to GeoTools

            The first workshop is in the morning of Monday 22nd August provides you with a hands on introduction to GeoTools.

            For those new to the GeoSpatial scene we provide an introduction to spatial concepts and how to avoid common pitfalls. The workshop offers a steady series of workbooks introducing:
            • Feature creation
            • Geometry, Coordinate Reference Systems and Re-projection
            • Spatial Queries
            • Handling large format rasters
            • Working with Style
            • Raster Operations
            Covering both the concepts and the science of map making the workbooks serve as an excellent reference, but the focus is always on you and the code you need to get the job done.

            Please visit the FOSS4G registration pages to sign up for this popular workshop.

            GeoTools DataStore Workshop

            The second workshop follows directly after the Monday lunch break explores how to extend GeoTools to handle a new datatype. This also allows you to add new data types to any program built using GeoTools such as GeoServer and UDig. This workshop will take a detailed look at how vector data is handled. As an implementer GeoTools provides facilities for automatic handling of advanced functionality: thread safety, transactions with rollback and dynamic reprojection.
            You will leave this course with a custom “DataStore” implementation that can be dropped into an application such as GeoServer.

            Rush to the FOSS4G registration pages before places run out for these and other exciting workshops!

            Code Sprint

            FOSS4G has two code sprints this year, the first run concurrently with the workshops, and the second (attended by the GeoTools and GeoServer community) run after the event on Saturday/Sunday.

            If you would like to join us please sign up on the OSGeo wiki. Already we have some great ideas on improving SLD interoperability.  Part of this work will build on the GeoTools workshops, creating additional functions for compatibility.

            Saturday, June 18, 2016

            GeoTools 14.4 released

            The GeoTools team is pleased to announce the release of  GeoTools 14.4:

            This release was made by Andrea Aime (GeoSolutions) and Alessandro Parma (GeoSolutions) in conjunction with GeoServer 2.8.4.

            GeoTools 14.4 is the latest stable release of the 14.x series and is recommended for all new projects.


            New features available in this release:
            • [GEOT-5375] - Add a group by visitor (backport 14.x)


            For more details on the improvements and fixes, please refer to the release notes for GeoTools 14.4


            About GeoTools 14

            GeoTools 14 highlights:
            For more information see the  14-M014-M114-beta14-RC1, 14.014.1, 14.2 and 14.3 release notes.

            Friday, June 10, 2016

            GeoTools Header Policy Updated

            GeoTools Developers Guide on source code conventions has been updated with a new policy on file headers (exciting I know).

            GeoTools will now focus on filling in headers with the current year on initial file creation ... and that is it.
            /*
             *    GeoTools - The Open Source Java GIS Toolkit
             *    http://geotools.org
             *
             *    (C) 2016, Open Source Geospatial Foundation (OSGeo)
             *
             *    This library is free software; you can redistribute it and/or
             *    modify it under the terms of the GNU Lesser General Public
             *    License as published by the Free Software Foundation;
             *    version 2.1 of the License.
             *
             *    This library is distributed in the hope that it will be useful,
             *    but WITHOUT ANY WARRANTY; without even the implied warranty of
             *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
             *    Lesser General Public License for more details.
             */
            Previously, we asked contributors to update the headers each time they modified a file, resulting in a date range at the top of each file. While not technically difficult, this was a constant chore for committers and caused friction and delays reviewing pull requests. We trust that the new policy will ease the pull request submission and review process.

            We have approached the OSGeo Board and gotten approval to bounce this change off legal counsel. It is hoped that other OSGeo projects can benefit from being more relaxed.

            Thanks to Justin for writing up the change proposal and steering this conversation on the mailing list.

            Monday, May 30, 2016

            GeoTools 15.0 Released

            The GeoTools team is pleased to announce GeoTools 15.0!
            This release is also available from our Maven repository. Java 8 is now required, please view the install guide for details. This release is made by Jody Garnett and Devon Tucker (Boundless) in conjunction with GeoWebCache 1.9.0 and GeoServer 2.9.0

            Features and improvements

              Java 8

              As previously mentioned GeoTools 15.0 now requires Java 8, meaning GeoTools developers get to use all its fun new features. Projects are advised to update their Maven POM in order to use Java 8 features:
                          <plugin>
                              <inherited>true</inherited>
                              <groupId>org.apache.maven.plugins</groupId>
                              <artifactId>maven-compiler-plugin</artifactId>
                              <configuration>
                                  <source>1.8</source>
                                  <target>1.8</target>
                              </configuration>
                          </plugin>
              


              GroupByVisitor 

              A new FeatureCollection aggregation visitor has been added: GroupByVisitor which behaves like the SQL Group By clause:
              SimpleFeatureType buildingType = ...;
              FeatureCollection featureCollection = ...;
              
              GroupByVisitor visitor = new GroupByVisitorBuilder()
                                .withAggregateAttribute("energy_consumption", buildingType)
                                .withAggregateVisitor("Average")
                                .withGroupByAttribute("building_type", buildingType)
                                .build();
              
              featureCollection.accepts(visitor, new NullProgressListener());
              
              CalcResult result = visitor.getResult();

              Perpendicular Offset

              Perpendicular offset styling is now available for lines.
                     
                     <LineSymbolizer>
                       <Stroke>
                         <CssParameter name="stroke">#FF0000</CssParameter>
                         <CssParameter name="stroke-dasharray">5 2</CssParameter>
                       </Stroke>
                       <PerpendicularOffset>5</PerpendicularOffset>
                     </LineSymbolizer>
              

              Other Features and Improvements

              • Support sinusoidal projection in GeoTIFF
              • Support Vector footprints in GDAL plugin
              • Add compatibility for negative date and XDate type in JDBC datastore
              • New and improved support for Rotated Pole Projection
              • Allow users to zoom in and out using the mouse scroll wheel in JMapPane

              Bug Fixes

              • ImageWorker equates setting background values to setting NoData
              • JDBCDataStore initialization is now thread-safe
              • GridCoverage2DRIA can leave border operations in the tile cache without disposing them
              • Speed up rendering SVGs as graphic fills over complex geometries
              • SimpleDateFormat string has MONTH (MM) and Minutes (mm) swapped in GeoPackage
              • GeometryClipper can generate polygons without any inner area, laid on the clipping area border
              • ProcessFunctionFactory is not robust to failing processes 
              • Ignore NetCDF grid_mapping_name that is present but unsupported
              And more! For more information see 15.0 release notes and the release notes for previous releases (M0 | Beta 1 | Beta 2 | RC1).

              About GeoTools 15 

              What's new in GeoTools 15:

                Tuesday, May 3, 2016

                GeoTools 15-RC1 Released!

                The GeoTools team is pleased to announce GeoTools 14-RC1:
                This release is also available from our Maven repository.

                This release is made by Torben Barsballe (Boundless) in conjunction with GeoWebCache 1.9-RC1 and GeoServer 2.9-RC1.

                This is a release candidate for final testing before we release 15.0.

                Fixes since beta:
                • FilteringSimpleFeatureCollection breaks visitor optimizations
                • ReprojectFeatureResults/ReprojectFeatureCollection breaks visitor delegation
                • GeometryClipper can generate polygons without any inner area, laid on the clipping area border
                For more information see 15-RC1 release notes.

                Wednesday, March 23, 2016

                GeoTools 14.3 released

                The GeoTools team is pleased to announce the release of GeoTools 14.3:

                This release was made by Andrea Aime (GeoSolutions) in conjunction with GeoServer 2.8.3.

                GeoTools 14.3 is the latest stable release of the 14.x series and is recommended for all new projects.

                Fixes and improvements:
                • Solved a potential deadlock between ReferencingFactoryFinder and BufferedCoordinateOperationFactory, which might trigger when the system is under load
                • Fixes in SLD multifont support
                • Fixed in the new fast GML 3 encoder path, which was not properly encoding pure geometry collections, and data with 3d coordinates
                • Fixed WFSDataStore failing to start if some numeric params are provided as string, and disabled the complex feature version of it, which was errouneusly taking over the simple feature version (resource to complete the complex feature one wanted)
                • Improved parsing GML files with no/invalid schema reference
                • And more ... 
                For more information see the release notes.

                About GeoTools 14

                GeoTools 14 highlights:
                For more information see the 14-M014-M114-beta14-RC1, 14.014.1 and 14.2 release notes.

                Thursday, February 25, 2016

                GeoTools 13.6 released

                GeoTools 13.6 Released


                We are pleased to announce the availability of the GeoTools 13.6 release for immediate download:
                This release is made in conjunction with GeoServer 2.7.6 and is available from our maven repository.  This is the last release of the 13.x series, you're advised to start looking at upgrading to 14.x, which is about to get into maintenance mode, or eventually wait next month and upgrade to the new 15.0 stable.

                Thanks to Andrea Aime (from GeoSolutions) for packaging this release.

                GeoTools 13.6 contains 6 small fixes and improvements compared to 13.5, including some improvements to the WMS client, GeoJSON parsing fixes, corrections in the Cassini-Soldner projection math and one ISO date parsing fix for timestamps with fractional seconds.

                For detailed information about changes please check the release notes.

                About GeoTools 13

                GeoTools 13 features and improvements:

                Monday, January 25, 2016

                GeoTools 14.2 Released

                The GeoTools team is pleased to announce the release of GeoTools 14.2:

                This release was made by Jody Garnett (Boundless) and Jim Hughes (CCRi) in conjunction with GeoServer 2.8.2.

                GeoTools 14.2 is the latest stable release of the 14.x series and is recommended for all new projects.

                Fixes and improvements:
                • The WFSDataStore connection time out settings are now used for read time outs as well
                • Image mosaic support 
                • Stability improvements for ContourProcess, WFS 1.0.0, ImageMosaic use with alpha channel and JDBC DataStore
                • Better support for MultiCurve in GML3 output
                • And more ... 
                For more information see the release notes.

                About GeoTools 14