GeoTools

OSGeo

Wednesday, December 23, 2015

GeoTools 13.5 Released

GeoTools 13.5 Released


We are pleased to announce the availability of the GeoTools 13.5 release for immediate download:
This release is made in conjunction with GeoServer 2.7.5 and is available from our maven repository.  The next release, 13.6, will mark the planned end of life for this release series, you're advised to start looking at upgrading to 14.x.

Thanks to Ian Turton (from Astun Technology) for packaging this release.

GeoTools 13.5 contains 3 small fixes and improvements compared to 13.4, and it's the current maintenance release recommended for production. The changes include:

Bugs
  • [GEOT-4506] - JDBCDataStore initialization not thread-safe
  • [GEOT-5330] - Transformer.transformQuery() does not preserve sortBy filter
Improvement
  • [GEOT-5327] - Support for 'matchCase' in WFS GetFeature request (v1.0.0)
For detailed information about changes please check the release notes.

About GeoTools 13

GeoTools 13 features and improvements:

Friday, November 20, 2015

GeoTools 14.1 Released

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

This release was made by Ben Caradoc-Davies (Transient) in conjunction with GeoServer 2.8.1.

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

Fixes and improvements:
  • Fixed paged queries with JDBC post filters
  • Allow mixing of Z-order and compositing in WMS 
  • Support for coverage time dimensions with different names across datasets
  • app-schema support for setting string value for complex type extending anyType
  • Fixed JAI-Ext scalability issue while iterating over ROIs on machines with high number of CPUs
  • Fixed OOM while reading JPEG compressed GeoTIFFs under heavy load
  • Support for removing global and local values in EnvFunction filters
  • Log the full SQL statement when JDBC data store queries fail
  • Many rendering and SLD fixes
  • And more ...
 For more information see the release notes.

About GeoTools 14

GeoTools 13.4 released

We are pleased to announce the availability of the GeoTools 13.3 release for immediate download:
This release is made in conjunction with GeoServer 2.7.4 and GeoNode 2.4 and is available from our maven repository

Thanks to Alessio Fabiani (from GeoSolutions) for packaging this release.

GeoTools 13.4 contains a 7 small fixes and improvements compared to 13.3, and it's the current maintenance release recommended for production. The changes include:

  • [GEOT-2603] - Encode PropertyIsLike filter 'matchcase' is ignored
  • [GEOT-5212] - DB2 st_dishoint does not work with SELECTIVITY clause
  • [GEOT-5254] - http://download.java.net/maven/2 repository is gone
  • [GEOT-5268] - DB2 plugin does not store z values for coordinates
  • [GEOT-5273] - The encode of LineStringPropertyType in GMLComplexType verify the class of value like a point
  • [GEOT-5274] - Badly structured source images can lead to rendering errors when oversampled
  • [GEOT-5287] - Render fails to ignore empty geometries in some very specific cases

For detailed information about changes please check the release notes.

About GeoTools 13

GeoTools 13 features and improvements:

Tuesday, October 20, 2015

GeoTools 13.3 released

We are pleased to announce the availability of the GeoTools 13.3 release for immediate download:
This release is made in conjunction with GeoServer 2.7.3 and is available from our maven repository

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

GeoTools 13.3 contains a 22 small fixes and improvements compared to 13.2, and it's the current maintenance release recommended for production. The changes include:

  • Small assorted improvements to JDBC stores and the rendering subsystem
  • NetCDF dependencies updated to version 4.6.2
  • Better handling of image mosaic backed by PostGIS and more tolerance for mis-configured image indexes
  • It's now possible to force DB2 to use spatial indexes in queries
For detailed information about changes please check the release notes.

About GeoTools 13

GeoTools 13 features and improvements:

Thursday, October 1, 2015

GeoTools 14.0 Released

GeoTools is pleased to announce the GeoTools 14.0 release:

This release was made by Jody Garnett (Boundless) made in conjunction with GeoServer 2.8.0. 

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

Thanks to everyone who helped test the release candidate; several additional fixes were included due to the team's hard work:


New (and returning) features:
  • Z order control during map production
  • Extend Contrast Enhancement method handling in SLD and CSS
  • TextSymbolizer once again supports the use of multiple fonts, allowing labels using multiple scripts
    • CSS supports multiple fonts in the same text symbolizer
  • GeoTools has provided useful builders and parsers for simple features, this release adds adds a ComplexFeatureBuilder and additional ComplexFeature Parsing and Building Support classes for your use.
  • GridCoverage improved with view management and delete support
  • Brand new MongoDB datastore implementation
  • Transaction is auto closable for use with Java try-with-resource syntax, with updated examples in the 
  • Add write support for curves in PropertyDataStore
  • WFS client support for WFS 2.0.0 protocol
  • New filter functions for retrieving the default geometry in a feature and quickly checking if a value is "IN" a list.
  • Allow extshape://arrow to receive parameters to specify its proportions [GEOT-5126]
  • New projections supported: sinusoidal, gnomonic (AUTO:97001) and stereographic (AUTO:97002) and WorldVanDerGrintenI use.
  • Stroke dash array can now be supplied using dynamic expressions.
  • Optional JAI-EXT integration in geotools, adding native support for NODATA in rasters.
    • Use system property org.geotools.coverage.jaiext.enabled=true to enable and check out the short tutorial.
Fixes and improvements:
  • JDBCDataStore Fixes
    • SQLDialect now uses schema for index creation
    • A lot of work on stable date/time literal conversion to SQL (when running GeoTools in different timezones)
    • DB2 performance setting giving priority to the spatial index (using "selectivity clause") for geospatial operations including DISJOINT.
    • Use of Oracle metadata table for initial bounding box calculation
    • Add read and write support for curves in Postgis data store [GEOT-5100GEOT-5112]
  • Add support for by layer interpolation methods to StreamingRenderer [GEOT-5064]
  • Significantly speed up GML 3.x encoding speed for simple features [GEOT-5082]
  • Clarify use of RobustDeterminant and GridCoverage2DRIA
  • Update to the netCDF-java 4.6.2 library
  • Supply NetCDF default datum parameters
  • PDC mercator wrapping fixed for those working in Greenland
  • Change from vecmath to EJML
For more information see the release notes.

About GeoTools 14

Monday, September 14, 2015

GeoTools 14-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 Kevin Smith (Boundless) in conjunction with GeoWebCache 1.8-RC1 and GeoServer 2.8-RC1.

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

Fixes since beta:
  •     SQL syntax error in gt-jdbc-postgis PostgisDataStoreOnlineTest
  •     SQLDialect ignores Schema for index (create statement)
  •     CSS does not support multiple fonts in the same text symbolizer
For more information see 14-RC1 release notes.

Wednesday, September 9, 2015

GeoTools at FOSS4G 2015

Are you heading to FOSS4G 2015 next week? As a library GeoTools tends to keep a pretty low profile - still we have a couple activities for you to attend.
Workshop:
  • GeoTools DataStore Workshop (WS03 14-Sep)
    Ian Turton and Jody Garnett are running an intermediate offering an inside view of how the vector data access subsystem works through the creation of a custom DataStore.
Presentations:
  • Raster Data In GeoServer and GeoTools (18-Sep 16.00)
    Andrea Aime explores the developments performed during last year as far as raster data support in GeoTools and GeoServer.
Bird-of-Feather:
  • GeoServer GeoTools BOF (Wiki 16-Sep 17:40 Room 10)
    Bird-of-a-feather sessions at FOSS4G range across user-group style collaboration, technical questions with the development team, exploring project plans, community challenges and out reach.
Code-Sprint:
  • GeoServer GeoTools Code Sprint (Wiki 19-Sep)
    Hands on development with the GeoTools team - what would you like to work on? Add your name to the wiki and let us know.

Wednesday, September 2, 2015

Geotools 12.5 Released

The GeoTools community is pleased to announce the availability of GeoTools 12.5:

This release, which is also available from our Maven repository, is made in conjunction with GeoWebCache 1.6.3 and GeoServer 2.6.5. This is a maintenance release of the GeoTools 12 series recommended for production systems.
 
This is the last release of the GeoTools 12 series. Migrate to GeoTools 13 for the latest stable release.

A few highlights from the GeoTools 12.5 release notes:
  • GeoTools Logging can now startup in an environment without JAI
  • Raster to vector transformation with re-projection using NetCDF as data store
  • Properly handle InputTransparentColor when dealing with Holes in mosaics
  • Other fixes: see the release notes for details
Thanks to Torben Barsballe (Boundless) for this release.

About GeoTools 12

Tuesday, September 1, 2015

GeoTools 14-beta Released

The GeoTools team is pleased to announce GeoTools 14-beta
This release is made by Jody Garnett (Boundless) in conjunction with GeoServer 2.8-beta.

This release is a feature complete "beta" giving our community a chance to test before GeoTools 14.0 is shipped. Due to an influx of new features we have pushed back this beta release leaving a narrow one week opportunity for testing.

New (and returning) features:
Fixes and improvements:
  • Stable date/time literal conversion to sql (when running in different timezones)
  • WFS client support for WFS 2.0.0 protocol
  • New filter functions for retrieving the default geometry in a feature and quickly checking if a value is "IN" a list.
  • Transaction is auto closable for use with java try-with-resource syntax
  • Allow extshape://arrow to receive parameters to specify its proportions [GEOT-5126]
  • Add projections for gnomonic (AUTO:97001) and stereographic (AUTO:97002) and WorldVanDerGrintenI use.
  • DB2 performance setting giving priority to the spatial index
  • Add read and write support for curves in Postgis data store [GEOT-5100GEOT-5112]
  • Add write support for curves in PropertyDataStore
  • Add support for by layer interpolation methods to StreamingRenderer [GEOT-5064]
  • Significantly speed up GML 3.x encoding speed for simple features [GEOT-5082]
  • New projections supported: sinusoidal, gnomonic
For more information see 14-beta release notes.

About GeoTools 14

GeoTools 14 highlights:
For more information see release notes from 14-M0, 14-M1 and 14-beta.

Monday, August 31, 2015

GeoTools Datastore Workshop at FOSS4G

There is still just time to register for the GeoTools Datastore workshop that is being presented at the FOSS4G conference in Seoul next month. The workshop is in the morning of 14th September and covers how to extend GeoTools with your own custom “DataStore” format. This course will take a detailed look at how vector data is handled. For an implementer GeoTools provides facilities for automatic handling of advanced functionality: thread safety, transactions with rollback and dynamic reprojection.

This is a Java Development workshop - 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).

You will leave this course with a custom “DataStore” implementation that can be dropped into an application such as GeoServer, and all the knowledge that you need to implement your own custom datastores in the future.

Friday, July 31, 2015

GeoTools 13.2 Released

We are pleased to announce the availability of the GeoTools 13.2 release for immediate download:
This release is made in conjunction with GeoServer 2.7.2 and is available from our maven repository

Thanks to Andrea (from GeoSolutions) for packaging this release. This release was delayed due to an unfortunate Source Forge outage.

GeoTools 13.2 is the current stable release recommended for production:
  • Update to NetCDF version 4.5.5
  • Improvements to image mosaic harvest operation and transparent color support
  • stability improvement for Jenks Natural Breaks classifier
  • internationalization fix for SOLR datastore
  • WorldVanDerGrintenI projection handler
For more information please check the release notes.

About GeoTools 13

GeoTools 13 features and improvements:

GeoTools 14-M1 Milestone Release

GeoTools is pleased to announce the GeoTools 14-M1 milestone release:
This release is also available from our maven repository.

This release is made in conjunction with the GeoMesa project and has passed an IP review required for locationtech projects. Please consider this release as a preview prior our scheduled September release.

Highlights from our issue tracker release-notes:
  • Clarify use of RobustDeterminant and GridCoverage2DRIA
  • Use of Oracle metadata table for initial bounding box calculation
  • Transaction is auto closable for use with java try-with-resource syntax
  • A lot of work on stable date/time literal conversion (when running GeoTools in different timezones)
  • Update NetCDF to 4.5.5
  • Support for WFS 2.0.0

About GeoTools 14

  • Change from vecmath to EJML for matrix calculations
  • Adopt JAI-EXT operations for improved no-data and footprint support

Monday, July 27, 2015

FOSS4G 2015 Europe talk from Ian Turton

I would like to pass on an excellent talk by Ian Turton.

This presentation is a great introduction to using an enjoying open source software for everyone, entertaining illustrated with examples from the GeoTools project.

A big thanks to Ian for this presentation and his long standing outreach efforts. Champions like this make GeoTools a friendly place to work for everyone involved.

We hope everyone enjoyed FOSS4G 2015 Europe and look forward to seeing you in Seoul!

Earning Your Support Instead of Buying It

Wednesday, June 17, 2015

GeoTools 12.4 Released

The GeoTools community is pleased to announce the availability of GeoTools 12.4:

This release, which is also available from our Maven repository, is made in conjunction with GeoWebCache 1.6.2 and GeoServer 2.6.4. This is a maintenance release of the GeoTools 12 series recommended for production systems.

A few highlights from the GeoTools 12.4 release notes:
  • Improved handling of the van der Grinten projection
  • Layer-by-layer control of raster interpolation
  • Dynamic raster styling with CQL expression support for color map entries
  • Stability improvements for Oracle curves, geometry decimation, JSON support, GeoTIFF, and World image formats
  • Other fixes: see the release notes for details
Thanks to Ben Caradoc-Davies (Transient Software Limited) for this release. Thanks also to Jody Garnett (Boundless) for help with Jira release automation.

About GeoTools 12

Tuesday, May 26, 2015

GeoTools 14-M0 Tech Preview

GeoTools is pleased to announce GeoTools 14-M0 as a technology preview:
This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.8-M0 and the next release of GeoMesa.
This release is a "technology preview" giving projects, specifically GeoMesa and GeoGig, a chance to try out a new version of GeoTools that uses EJML for matrix calculations.
While we do not often release milestone releases please reach out to us if your project needs a new copy of GeoTools.
Our release-notes are now available from their new home at osgeo-org.atlassian.net:
  • Change from vecmath to EJML
  • JAI-EXT integration in geotools, adding native support for NODATA in rasters
  • Allow extshape://arrow to receive parameters to specify its proportions [GEOT-5126]
  • Add AUTO:97001 and AUTO:97002 projections
  • Add read and write support for curves in Postgis data store [GEOT-5100GEOT-5112]
  • Add write support for curves in PropertyDataStore
  • Add support for by layer interpolation methods to StreamingRenderer [GEOT-5064]
  • Significantly speed up GML 3.x encoding speed for simple features [GEOT-5082]
  • New projections supported: sinuoidal, gnomonic
We encourage everyone to take this opportunity test their application against the new version of GeoTools. We are very interested in any accuracy or performance differences.

CodeHaus Migration

We previously a migration schedule for moving our issue tracker from CodeHaus to Atlassian cloud hosting.
This migration is still ongoing. Issue title, description and comments have been ported over. Please wish Harrison Grundy well as he ports the remaining status and issue metadata.
CodeHaus shuts down completely on May 29th.

EJML

Efficient Java Matrix Library (EJML) is a linear algebra library for dense matrices. EJML has been integrated as a replacement for the Java 3D vecmath library which has been used previously. 
GeoTools uses linear algebra extensively during CoordinateReferenceSystem math transformations. In testing EJML we have noticed some difference with the accuracy of matrix inverse operations, but performance seems to remain steady.
This milestone release completes the work of the FOSS4G code Sprint to replace vecmath.

Tuesday, May 19, 2015

GeoTools 13.1 Released

The GeoTools community is happy to announce the latest  GeoTools 13.1 download:
This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.7.1.
This is a release of the GeoTools 13 Stable series recommended for production systems. The release schedule now offers 6 months of stable releases followed by six months of maintenance releases.
For the full list of bug fixes and improvements, see the GeoTools 13.1-Release Notes.

Update: There were some changes missing from the 13.1 release, so it has been updated. If you downloaded GeoTools 13.1 before 2015-05-20 22:30:00 UTC, please re-download it.

Monday, April 20, 2015

GeoTools 12.3 released

The GeoTools community is happy to announce the latest  GeoTools 12.3 download:

This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.6.3.
This is a maintenance release of the GeoTools 12 series recommended for production systems. 
A few highlights from the GeoTools 12.3-Release Notes:
  • A number of small bug fixes and improvements in raster data sources (image mosaic, NetCDF, GeoTiff)
  • Robustness improvement in advanced projection handling (an optional rendering feature that will cut geometries inside the projection valid area, handle difficult spots list poles/dateline, and wrap data Google maps style)
  • Improvement in raster reprojection quality and robustness
  • Improved ability to read topologically invalid geometries out of Oracle stores (non closed rings in polygons)
  • Added a way to dispose of Commons HTTPClient connection pools in WMS client, quite important to avoid leaking native threads (the pool uses a thread for cleanup purposes)
  • A number of other fixes, check the release notes for full details
Thanks to Andrea (GeoSolutions) for this release.

About GeoTools 12

Friday, March 27, 2015

FOSS4GNA Code Sprint Replacing Vecmath

As Torben indicated on the geoserver blog we got together for a one day sprint after the foss4gna conference. Torben stole my picture for that post so I will have to stick to content ...

Our topic of choice ... replacing vecmath. The use of vecmath library has been a long standing "technical debt" for GeoTools. How long standing? The issue tracker number is GEOT-22.

So what is the problem with vecmath

The vecmath.jar is used by gt-referencing for coordinate system transformations. We only uses a couple classes form the library: primarily to implement GeneralMatrix for use in MathTransforms.
GeneralMatrix extending GMatrix
There is one small problem with this idea - vecmath is not open source! Technically vecmath is distributed as part of Java 3D (an extensions to the Java Virtual Machine). As an extension to Java it was distributed under the same licenses (Sun Binary License and a Research License) as Java.

With the GeoGig project going through LocationTech incubation we have a couple ways to use jars:
  • prerequisite: open source jars required to run
  • works with: optional jars that extend the functionality if present. These may be proprietary like an oracle database driver.
Although the vecmath license is fine for distribution it does not meet the strictly open source policies required for the GeoGig project. In this case we want GeoTools to include matrix math and needed to shop around for a replacement.

The use of vecmath (as a non open source dependency) also causes trouble for Rich Fecher's proposal to publish GeoTools on Maven Central. 

Enter EJML

With a technical dept page capturing research, some email discussion and a great lunchtime conversation at foss4gna with Eric Engle (the overlap with EclipseCon was good for something) we settled on the recommended Efficient Java Matrix Library (EJML).

GeneralMatrix delegating to DenceMatrix64F
The strategy here is delegate to the DenseMatrix64F implementation provided by EJML, and implement the methods we expect from XMatrix in terms of this new implementation.

The EJML library has the similar arrangement with SimpleMatrix wrapping a DenseMatrix64F an API friendly to casual developers. We were able to use SimpleMatrix as a guide, saving a lot of time.

How to help

While the code sprint was a success in proving the approach, there is a bit of work to go:
  • Tyler (from GeoGig) is working on removing the dependency on vecmath (there are a few other Exceptions and data structures in our API that need to be removed).
  • Jim (from GeoMesa) wants to write up more test cases to check for regressions between vecmath and EJML
  • Although Rich Fecher (from GeoWave) was unavailable to take part in the code sprint - his inspiration to work on this now means we will be hitting him up for a review when the work is complete. Thanks Rich!
  • And there is always the question of performance ... will it be faster!
To help take part, or review our work see this branch in github:
Thanks to Boundless victoria staff, Jim and Andrea for really getting behind this work. This kind of up keep keeps the community ticking along and helps the library be used in more places.

I would also like to thank the new crop of projects using GeoTools for taking part and contributing upstream. It is important to keep our community diverse and your participation is both welcomed and appreciated.

Thursday, March 26, 2015

CodeHaus Migration Schedule

As per earlier blog post CodeHaus is shutting down and the GeoTools project is taking steps to migrate our issue tracker and wiki to a new home.

First up I need to thank the Open Source Geospatial Foundation for responding quickly in a productive fashion. The board and Alex Mandel were in position to respond quickly and hire a contractor to work with the system admin committee to capture this content while it is still available.

I should also thank Boundless for providing me time coordinate CodeHaus migration and Andrea for arranging cloud hosting.

Updates:

  • Update April 7th: GeoAPI project attachments migrated (using this to estimate time remaining)
  • Update April 3rd: Issue tracker signup open to all (no need to email project leads).
  • Update April 2nd: Mauro Bartolomeo created GEOT-5074 in the new issue tracker
  • Update March 28th: Placeholder tickets created, contents and attachments to follow

Confluence Migration

Is scheduled for ... March 26th! I have taken a copy of the CodeHaus wiki and will be migrating proposals and project history. A html dump of the wiki is published at old.geotools.org so we have a record.

The new wiki is available here: https://github.com/geotools/geotools/wiki
GitHub Wiki

Jira Migration

Jira migration will start on 00:00 UTC Saturday March 28th.

On Saturday all issues will start migrating to their new home (and CodeHaus issue creation will be disabled). If you wish to lend a hand testing please drop by the #osgeo IRC channel on Saturday. Harrison Grundy will be coordinating the proceedings.

We have set up a new JIRA available at osgeo-org.atlassian.net for the migration. You can sign up directly (although we ask you to consider keeping the same user name).

OSGeo Jira
As shown above a few friendly CodeHaus refugees have also been sheltered for the storm (uDig and GeoAPI).

Monday, March 23, 2015

GeoTools 13.0 Released


GeoTools 13.0 Released

The GeoTools community is pleased to announce the availability of GeoTools 13.0the first stable release of the GeoTools 13 series.

Download GeoTools 13:
This release is also available from our maven repository, and is made in conjunction with GeoWebCache 1.7.0 and GeoServer 2.7.0.

New Features and Improvements

The following new features and improvements are available in this release:

Data Stores
  • GeoPackage support is now compatible with QGIS and OGR.
  • A new gt-solr data store is available for working with with Apache Solr. Thanks to Andrea Aime and Justin Deoliveira for this work.
  • CSVDataStore has been improved with write access and the ability to work with different kinds of CSV files (including lat/lon and WKT). Thanks to Travis Brundage for this work.
  • AbstractDataStore is now deprecated. Please make plans to migrate to ContentDataStore. There is an extensive ContentDataStore tutorial to help with your migration.
  • PropertyDataStore has now been ported to use ContentDataStore, and a wide range of issues (readers, events, transactions) have been resolved for all DataStore implementations. Thanks to Torben Barsballe for this extensive QA work.
CSS Module

  • The gt-css module is a brand-new implementation of CSS-style support, now written in Java. Thanks to Andrea Aime for bringing this exciting approach to styling within easy reach of Java developers. Here is a quick code example:
Stylesheet ss = CssParser.parse(css);
CssTranslator translator = new CssTranslator();
Style style - translator.translate(ss);

Rendering Engine
  • Color-blending has been introduced as both a FeatureTypeStyle and Symbolizer vendorExtension, allowing for a range of special effects. Thanks to Cleveland Metro Parks for this improvement.
  • FeatureTypeStyle vendorExtension named "firstMatch". This vendorExtension will grab the first rule you specify. This can in many situations help you avoid more complicated logic for style rules.
    <sld:VendorOption name="ruleEvaluation">first</sld:VendorOption>

  • Anchor points are now supported. This is done in SLD with the AnchorPoint tag:
    <LabelPlacement>
      <PointPlacement>
        <AnchorPoint>
          <AnchorPointX>
            <PropertyName>X</PropertyName>
          </AnchorPointX>
          <AnchorPointY>
            <PropertyName>Y</PropertyName>
          </AnchorPointY>
        </AnchorPoint>
      </PointPlacement>
    </LabelPlacement>
WFS Client

The gt-wfs client has improved:
  • Better compatibility with MapServer.
  • Extensive work has been done to support WFS 2.0 transactions. Thanks to Niels Charlier for this work.
  • The gt-wfs client now supports WFS 2.0 stored queries. Thanks to Sampo Savolainen for this work.
And more
Documentation continues to improve, now with a complete function listFor a full list of improvements and changes in GeoTools 13, please see the full release notes.

Thanks to Jody Garnett and Travis Brundage (from Boundlessfor making this release happen.