GeoTools

OSGeo

Monday, December 22, 2014

GeoTools 11.4 Released

The GeoTools team is happy to announce the release of GeoTools 11.4 available for download.

This release is a maintenance release for the GeoTools 11 series. Check out the change log for all of the details. 

Thanks for using GeoTools!

Tuesday, November 18, 2014

GeoTools 12.1 Released

GeoTools 12.1 released

The GeoTools community is happy to announce the latest  GeoTools 12.1 download:
This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.6.1.

This is a release of the GeoTools 12 Stable series recommended for production systems. The release schedule now offers 6 months of stable releases followed by six months of maintenance releases.

A few highlights from the GeoTools 12.1-Release Notes:
  • Some fixes in JDBC land, one important for performance, making sure feature types are cached, plus a few others related to feature type joining
  • Some rendering fixes, including an important one related to raster data rendering not always displaying the full raster in tiled outputs, as well as better calculation of the extra to be queried in order to render all labels in maps
  • Some improvements to the image mosaic module, including the ability to extract times from the full path, instead of just the file name, when harvesting multidimensional data sets
  • Some love in SLD 1.0 parsing and encoding
  • SQL Server store can now also work off instance name, in addition to the already supported TCP port
  • A number of other fixes, check the release notes for full details
Thanks to Jody for this release (Boundless).

About GeoTools 12

Friday, October 24, 2014

GeoTools 11.3 released

The GeoTools community is happy to announce the latest  GeoTools 11.3 download:
This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.5.3.

This is a release of the GeoTools 11 Stable series recommended for production systems. The release schedule now offers 6 months of stable releases followed by six months of maintenance releases.

A few highlights from the GeoTools 11.3-Release Notes:
  • Rendering fixes related to cut geometries/labels at map tile borders
  • Several improvements/fixes to the NetCDF readers
  • Table hints for SQL Server can be specified at the store level, and it's now possible to force SQL Server to use spatial indexes
  • A good set of JDBC related fixes, for joins, multi-geometry tables, spurious error reports against invalid sql views
  • Make sure SortedSimpleFeatureCollection makes full use of the merge-sort sorter and respects the system wide in memory limits (was going straight and fully to disk before)
Thanks to Andrea for this release (GeoSolutions).

About GeoTools 11

Summary of the new features for the GeoTools 11 series:
  • The DataStore API has a new removeSchema method to drop feature types. This new optional feature is currently implemented by the JDBCDataStore family (all spatial database backed stores), other stores will likely throw an UnsupportedOperationException
  • JDBCDataStore now exposes facilities to list, create and destroy indexes on database columns.
  • Ability to create and drop databases from the PostgisNGFactory
  • PostGis data store will now call ST_Simplify when the GEOMETRY_SIMPLIFICATION hint is provided, significantly speeding up loading of complex geometries  (the renderer can perform scale based simplification already, but doing it before sending the data speeds up data retrieval significantly)
  • ImageMosaic can now manage vector footprints for its granules, allowing to filter out no-data or corrupted sections of the imagery
  • All properties in a SLD style can now have a local unit of measure, as opposed to specifying the unit of measure per symbolizer. For example, if you need to have a line width to be 10 meters, its value can now be "10m"
  • Improved handling of data with 3D coordinates in JDBC data stores
  • A number of small improvements to the rendering engine, such as improved raster icon placement resulting in cleaner, less blurry output, improved label grouping, better handling of icons at the border of the map and in general much improved estimation of the buffer area needed to include all symbols in a map (for features that sit outside the map, but whose symbols are big enough to enter it).

Monday, October 20, 2014

GeoTools 12.0 Released

The GeoTools team is happy to announce the release of version 12.0.
GeoTools now requires Java 7 and this is the first release tested with OpenJDK! Please ensure you are using JDK 1.7 or newer for GeoTools 12. Both Oracle Java 7 and OpenJDK 7 are supported, tested, release targets.

There are a number of new features in this release:
  • circular strings are now supported in Oracle data stores, thanks to GeoSolutions.it for the work.
  • The content datastore tutorial was updated by Jody and tested out by the FOSS4G workshop participants.
  • GeoTools Filter interfaces have been simplified (cleaning up technical debt from GeoTools 2.3)
  • The new wfs-ng datastore is now available as a drop in replacement for the old WFS datastore, The new store provides much better support for axis orders with servers that don't know what they are doing. In order to make wfs-ng a drop-in replacement (and respond to the same connection parameters) you are limited to only using one implementation of gt-wfs-ng or gt-wfs plugins in your application at a time.
  • New advanced raster reprojection, a lot of work has been put into improving the raster reprojection story for glitches around the date line and polar regions. To enable these options use the following rendering hints:
    rendererParams.put(StreamingRenderer.ADVANCED_PROJECTION_HANDLING_KEY, true);
    rendererParams.put(StreamingRenderer.CONTINUOUS_MAP_WRAPPING, true);
This release is made in conjunction with GeoServer 2.6.0 and is available from the OSGeo maven repository.

About GeoTools 12

Thursday, September 18, 2014

Maven SNAPSHOT repository

Last month we had a bit of an infrastructure change - Justin has set up a new repository manager for maven builds.

Update your pom.xml file with the following:
    <repository>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>boundless</id>
      <name>Boundless Maven Repository</name>
      <url>http://repo.boundlessgeo.com/main</url>
    </repository>

Using a repository manager allows us to better support "snapshot checksums".

This repository was used for the recent 12-RC1 release, if you find any other jars you would like deployed please give us a shout on the geotools-devel list.

Thanks to Justin, and Boundless, for continued build and release support.

Sunday, September 14, 2014

GeoTools at FOSS4G 2014

Thanks to the local organising committee, volunteers, all the sponsors and over 870 attendees we had a wonderful time at foss4g 2014 in Portland.

GeoTools DataStore Workshop

On the GeoTools front we started off the week with a workshop I have been looking forward to running for some years now ... creating your own custom DataStore. This was an exciting workshop as it relied on participants bringing their own device (and in this context their own IDE).
This workshop is available for general use now:


A big thanks to Eva Shon, Ian Turton for prep assistance on Monday. Thanks to both Ian Turton and Tom Kunicki for holding down the fort, helping attendees with maven and keeping the workshop entertaining. We would of course like to thank our employers Boundless, Envitia, and WSI (a division of The Weather Company).
Demo Time at DataStore Workshop
It was great to hear from teams throughout the week that are already working on porting their custom data access work from AbstractDataStore to ContentDataStore. Everyone else ... you are put on notice - AbstractDataStore has had its time in the sun and it is time to move on.

GeoServer, GeoTools and Friends 2014

GeoTools also enjoyed a bit of air time in GeoServer, GeoTools and Friends 2014.


Thanks to Andrea, Jody and Justin for making the above presentation available.

Java Code Sprint

Finally we enjoyed a one and a half day code sprint, with a wide range of projects. It was a great chance to catch up with teams making great use of GeoTools (and fix a few issues). Thanks to WhereCampPDX and  Boundless for providing creative space.

Monday, August 18, 2014

GeoTools 12-RC1 Released

The GeoTools community is delighted to announce the availability of GeoTools 12-RC1 for testing:
This release is made in conjunction with GeoServer 2.6-RC1 and contains some good bug fixes and improvements since 12-beta. See the change log for details and check out the 12-beta announcement for more information about what's new in the GeoTools 12 series. 

Download the release candidate today and help us by reporting any problems in the bug tracker

Thanks for using GeoTools.

GeoTools 10.8 Released

The GeoTools community is pleased to bring you the last maintenance release for GeoTools 10.
Downloads for GeoTools 10.8 are available now:
The GeoTools 10.8 Release Notes detail a few lonely fixes.
This is the final GeoTools 10 release, please migrate your applications to GeoTools 11.

About the GeoTools 10.x Series

The GeoTools 10.x series:
  • Initial Release: GeoTools 10.0 was initially released in September 2013 at FOSS4G 2013
  • Stable: GeoTools 10.x acted as the recommended stable release series until GeoTools 10.5 in February 2014
  • Maintenance: The life of GeoTools 10.x was extended with an additional maintenance phase ending with todays release of GeoTools 10.8

Friday, July 25, 2014

GeoTools 12-beta Released

The GeoTools community is delighted to announce availability of GeoTools 12-beta for testing:
This release is made in conjunction with GeoServer 2.6-beta.

We will provide a more detailed feature list for the final 12.0 release, for now check out the GeoTools 12-beta Release Notes.

This beta release is provided for integration testing. Earlier this year we slowed down our release cycle for better collaboration. At this time we ask downstream projects to perform a smoke test and highlight any issues found.

Priority should be given to testing the following functionality:

Java 7
We have changed our source compile options to 1.7, you will need to use OpenJDK 7 or Oracle JDK 7 to this release of GeoTools. While upgrading to Java 7 take advantage of the try-with-resource syntax which is compatible many GeoTools constructs. 

try (SimpleFeatureIterator iterator = featureCollection.features()){
   while( iterator.hasNext() ){
     SimpleFeature feature = iterator.next();
     ...
   }
}

You can see the original proposal for details.

Thanks for CSIRO, Boundless and GeoSolutions for updating the build servers so we could make this transition in a responsible fashion.

gt-wfs-ng
The wfs-ng client is now ready for widespread use, acting as a drop-in replacement (making use of the same connection parameters). A great deal of attention has been paid to support axis-order corrections allowing the wfs-ng client to work with all manner of ill-behaved WFS implementations. 

String getCapabilities = "http://localhost:8080/geoserver/wfs?REQUEST=GetCapabilities";
Map connectionParameters = new HashMap();
connectionParameters.put("WFSDataStoreFactory:GET_CAPABILITIES_URL", getCapabilities );
DataStore dataStore = DataStoreFinder.getDataStore( connectionParameters );

In order to make wfs-ng a drop-in replacement (and respond to the same connection parameters) you are limited to only using one of the gt-wfs and gt-wfs-ng plugins in your application at a time.

advanced raster reprojection
A lot of work has been put into improving the raster reprojection story for glitches around the date line and polar regions. To enable these options use the following rendering hints:

rendererParams.put(StreamingRenderer.ADVANCED_PROJECTION_HANDLING_KEY, true);

rendererParams.put(StreamingRenderer.CONTINUOUS_MAP_WRAPPING, true);

We have set these parameters by default for GeoServer 2.6-beta so you are in good company for this test.

circular string
This release of GeoTools include new abilities for the WKTReader2 allowing it to read CIRCULAR string. This is especially exciting as it makes use of series of subclass of JTS LineString. These subclasses will use a tolerance to produce appropriate  coordinates for integration with JTS Geometry operations. As far as JTS is concerned they walk and talk like a LineString, while you can control the implementation by defining control points and a tolerance.

GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
CurvedGeometryFactory curvedfactory = new CurvedGeometryFactory(Double.MAX_VALUE);    
WKTReader2 reader = new WKTReader2(curvedfactory);
CircularString arc = (CircularString) reader.read("CIRCULARSTRING(10 14,6 10,14 10)");


For more details check out the geometry documentation.  The original proposal is also online. 
LineString subclasses supporting Arcs
This implementation has been integrated with OracleDataStore (for all those data sets that include circular arcs). We are also interested in feedback on CurvedGeometryFactory as the API is only a few weeks old.

General
We are waiting on documentation for a couple of changes, stay tuned for details on:
  • image mosaic vector foot prints
  • coverage views

About GeoTools 12

GeoTools 12 is scheduled for release in Q2 highlighting the following features:
  • Java 7 is now required
  • wfs-ng client with new GML parsing engine
  • Support for curved strings via CurvedGeometryFactory, WKTReader2 and Oracle

Wednesday, July 23, 2014

GeoTools 11.2 released

The GeoTools community is happy to announce the latest  GeoTools 11.2 download:
This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.5.2.

This is a release of the GeoTools 11 Stable series recommended for production systems. The release schedule now offers 6 months of stable releases followed by six months of maintenance releases.

A few highlights from the GeoTools 11.2-Release Notes:
  • Some image mosaic fixes about performance, granule harvesting, and heterogeneous mosaic management
  • Some fixes in XML encoding, in GML and WPS land
  • Upgraded imageio-ext dependency to 1.1.10
  • Some improvements in Grib and NetCDF formats 
Thanks to Andrea for this release (GeoSolutions).

About GeoTools 11

Summary of the new features for the GeoTools 11 series:
  • The DataStore API has a new removeSchema method to drop feature types. This new optional feature is currently implemented by the JDBCDataStore family (all spatial database backed stores), other stores will likely throw an UnsupportedOperationException
  • JDBCDataStore now exposes facilities to list, create and destroy indexes on database columns.
  • Ability to create and drop databases from the PostgisNGFactory
  • PostGis data store will now call ST_Simplify when the GEOMETRY_SIMPLIFICATION hint is provided, significantly speeding up loading of complex geometries  (the renderer can perform scale based simplification already, but doing it before sending the data speeds up data retrieval significantly)
  • ImageMosaic can now manage vector footprints for its granules, allowing to filter out no-data or corrupted sections of the imagery
  • All properties in a SLD style can now have a local unit of measure, as opposed to specifying the unit of measure per symbolizer. For example, if you need to have a line width to be 10 meters, its value can now be "10m"
  • Improved handling of data with 3D coordinates in JDBC data stores
  • A number of small improvements to the rendering engine, such as improved raster icon placement resulting in cleaner, less blurry output, improved label grouping, better handling of icons at the border of the map and in general much improved estimation of the buffer area needed to include all symbols in a map (for features that sit outside the map, but whose symbols are big enough to enter it).

Thursday, June 19, 2014

GeoTools 10.7 Released

The GeoTools community is pleased to bring you GeoTools 10.7:
Artifacts are also available from our maven repository.
GeoTools 10 has passed into maintenance - offering an extra six months of support. For more information see Changing Tracks on the the GeoTools Release Train.
The GeoTools 10.7 Release Notes detail changes including:
  • Feeling cold? Rendering improvements for the north/south poles
  • In addition to lambert azimuthal (above) rendering for lamber conformal and equidistant conic as improved
  • More labeling fixes (two consecutive newlines and auto-wrap with parentheses)
  • SQL improvements for encoding FeatureId filters
There is one more maintenance release scheduled for August. Plan your upgrade to GeoTools 11 appropriately.

About the GeoTools 10.x Series

Summary of the features for the GeoTools 10.x series:
  • Structured grid coverage readers allow raster data sources that publish composite data products to expose individual rasters (ie granules) for processing, while still providing a seamless experience for rendering. The mosaic and NetCDF modules are the first ones to implement these new interfaces.
  • Efficient support for multiple coverages in GridCoverageReader provides ad-hoc access to raster formats that publish more that one data product. A image mosaic made of NetCDF granules and single file NetCDF sources are the first implementors of these new capabilities
  • new implementation of Shapefile DataStore (based on ContentDataStore superclass). This upgrade should be seamless for all users using DataStoreFactoryFinder. If you explicitly made use of the ShapefileDataStore or IndexedShapefileDataStore class please check the upgrade instructions.
  • The transform module graduated to supported status, providing a seamless way to rename, retype and hide SimpleFeatureSource attributes, as well as creating new ones based on OGC Expression
  • Additional OGC modules for the WCS 2.0 and WCS 2.0 EO models as well as adding XML parsers and encoders
  • Support for fills made with randomized symbols
The 10.x series features a number of research and development activities:
  • NetCDF has been updated to take advantage of the new coverage API introduced above
  • GeoPackage: a sample implementation of the geopackage spec that is currently being developed by the OGC
If you are interested in helping out please introduce yourself on geotools-devel mailing list.
Enjoy,
The GeoTools Community

Tuesday, May 20, 2014

GeoTools 11.1 Released

The GeoTools community is happy to announce the latest  GeoTools 11.1 download:
This release is also available from our maven repositoryThis release is made in conjunction with GeoServer 2.5.1.

This is a release of the GeoTools 11 Stable series recommended for production systems. The release schedule now offers 6 months of stable releases followed by six months of maintenance releases.

A few highlights from the GeoTools 11.1-Release Notes:
  • 2.5D coordinates are available in GML2 (even if the CRS is 2D)
  • Fixes for the ECQL Parser Fid Filter handling
  • FilterToSQL improperly encodes fid filters with multiple fids
  • Fix for multi line labels
  • Fixes for Oracle axis name and spatial index name
  • ImageMosaic support continues to improve with create/delete support and safety checks for heterogeneous resolutions management
Thanks to Andrea and Jody for this release (and GeoSolutions and Boundless respectively).

About GeoTools 11.1

Summary of the new features for the GeoTools 11.1 series:
  • The DataStore API has a new removeSchema method to drop feature types. This new optional feature is currently implemented by the JDBCDataStore family (all spatial database backed stores), other stores will likely throw an UnsupportedOperationException
  • JDBCDataStore now exposes facilities to list, create and destroy indexes on database columns.
  • Ability to create and drop databases from the PostgisNGFactory
  • PostGis data store will now call ST_Simplify when the GEOMETRY_SIMPLIFICATION hint is provided, significantly speeding up loading of complex geometries  (the renderer can perform scale based simplification already, but doing it before sending the data speeds up data retrieval significantly)
  • ImageMosaic can now manage vector footprints for its granules, allowing to filter out no-data or corrupted sections of the imagery
  • All properties in a SLD style can now have a local unit of measure, as opposed to specifying the unit of measure per symbolizer. For example, if you need to have a line width to be 10 meters, its value can now be "10m"
  • Improved handling of data with 3D coordinates in JDBC data stores
  • A number of small improvements to the rendering engine, such as improved raster icon placement resulting in cleaner, less blurry output, improved label grouping, better handling of icons at the border of the map and in general much improved estimation of the buffer area needed to include all symbols in a map (for features that sit outside the map, but whose symbols are big enough to enter it).

Tuesday, May 6, 2014

Filter Cleanup and ECQL Fixes

Quick update from the GeoTools development pipeline. It is kind of a tricky update to be excited about ... here is what it looks like:

Eclipse Auto-Complete

So what are you looking at? You are looking at Eclipse auto-complete for Filter. Since GeoTools 2.3 we have had two filter interfaces in the system:

a) org.opengis.filter.Filter - read only interface from GeoTools 2.3
b) org.geotools.filter.Filter - read/write interface from GeoTools 2.0

For the next release of GeoTools we are down to one, making GeoTools that much easier to get started with.

FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
Filter filter = ff.equals(ff.property("type"), ff.literal("city"));
SimpleFeatureCollection features = source.getFeatures( filter );

More importantly, and the motivation for the work, no more surprising ClassCastExceptions. Thanks to Boundless for sponsoring this work (and Andrea for reviewing the pull request).

Another bit of code seeing some love is the ECQL representation of Filter. ECQL is our "enhanced" version of OGC common query language.

String cql = ECQL.toCQL(filter);

Will produce: type = 'city'

In effect ECQL is similar to the "WHERE" part of an SQL statement. Be aware that GeoTools is not executing SQL directly, instead the filter data structure is translated into SQL specific for each database we support.

I took the opportunity to make sure some of the more interesting ECQL output correctly:

filter = ECQL.toFilter("type IN ('city','town')");

Thanks to Andrew Hulbert on the geotools-user list for helping catch these glitches.

For more information on filter check out our documentation on the subject.

Tuesday, April 15, 2014

GeoTools 10.6 Released



The GeoTools community is pleased to bring you GeoTools 10.6:
Artifacts are also available from our Maven repository.

This is our first GeoTools maintenance release offering an extra six months of the GeoTools 10 series. This six month windows provides a grace period allowing you schedule your upgrade to GeoTools 11 while still receiving bug fixes. For more information see Changing Tracks on the the GeoTools Release Train.


The GeoTools 10.6 Release Notes detail changes since 10.5. These include:
  • app-schema improvements handling nulls and undefined namespaces
  • SpatialLite supports now supports views in addition to tables
  • Oracle support continues to approve with better CRS axis name and spatial index support
  • Small fixes for GeoJSON, GeoTIFF, process annotations

 

About the GeoTools 10.x Series

Summary of the features for the GeoTools 10.x series:
  • Structured grid coverage readers allow raster data sources that publish composite data products to expose individual rasters (ie granules) for processing, while still providing a seamless experience for rendering. The mosaic and NetCDF modules are the first ones to implement these new interfaces.
  • Efficient support for multiple coverages in GridCoverageReader provides ad-hoc access to raster formats that publish more that one data product. A image mosaic made of NetCDF granules and single file NetCDF sources are the first implementors of these new capabilities
  • new implementation of Shapefile DataStore (based on ContentDataStore superclass). This upgrade should be seamless for all users using DataStoreFactoryFinder. If you explicitly made use of the ShapefileDataStore or IndexedShapefileDataStore class please check the upgrade instructions.
  • The transform module graduated to supported status, providing a seamless way to rename, retype and hide SimpleFeatureSource attributes, as well as creating new ones based on OGC Expression
  • Additional OGC modules for the WCS 2.0 and WCS 2.0 EO models as well as adding XML parsers and encoders
  • Support for fills made with randomized symbols
The 10.x series features a number of research and development activities:
  • NetCDF has been updated to take advantage of the new coverage API introduced above
  • GeoPackage: a sample implementation of the geopackage spec that is currently being developed by the OGC
If you are interested in helping out please introduce yourself on geotools-devel mailing list.

Enjoy,
The GeoTools Community

Thursday, March 20, 2014

GeoTools 11.0 released

The GeoTools community is delighted to bring you the latest  GeoTools 11.0 download:
This release is also available from our maven repository.

This release is made in conjunction with GeoServer 2.5.

About GeoTools 11.0

Thanks to everyone who helped by testing the RCs. This is the first GeoTools release on the new release schedule, so the next planned release for 11.1 will be in May and then releases will follow every two months. This should help projects keep up with the frenetic pace of development in the future. It also reflects the increased the maturity of the GeoTools code base.

Summary of the new features for the GeoTools 11.0 series:
  • The DataStore API has a new removeSchema method to drop feature types. This new optional feature is currently implemented by the JDBCDataStore family (all spatial database backed stores), other stores will likely throw an UnsupportedOperationException
  • JDBCDataStore now exposes facilities to list, create and destroy indexes on database columns.
  • Ability to create and drop databases from the PostgisNGFactory
  • PostGis data store will now call ST_Simplify when the GEOMETRY_SIMPLIFICATION hint is provided, significantly speeding up loading of complex geometries  (the renderer can perform scale based simplification already, but doing it before sending the data speeds up data retrieval significantly)
  • ImageMosaic can now manage vector footprints for its granules, allowing to filter out no-data or corrupted sections of the imagery
  • All properties in a SLD style can now have a local unit of measure, as opposed to specifying the unit of measure per symbolizer. For example, if you need to have a line width to be 10 meters, its value can now be "10m"
  • Improved handling of data with 3D coordinates in JDBC data stores
  • A number of small improvements to the rendering engine, such as improved raster icon placement resulting in cleaner, less blurry output, improved label grouping, better handling of icons at the border of the map and in general much improved estimation of the buffer area needed to include all symbols in a map (for features that sit outside the map, but whose symbols are big enough to enter it).

New Features

  • [GEOT-2333] - Implement removeSchema in JDBCDataStore
  • [GEOT-4611] - SVG lineargradients to ColorMap generator
  • [GEOT-4640] - Add delete support to StructuredGridCoverage2DReader
  • [GEOT-4660] - Allow database creation/drop from the postgis factory params
  • [GEOT-4663] - Add geometry simplification hint support to PostGIS store
  • [GEOT-4683] - no binding for GML.CompositeCurveType

Improvement

  • [GEOT-4713] - Add support for citext data in the postgis data store
  • [GEOT-4714] - Allow normal sqlite and spatialite sqlite jdbc drivers to co-exist
  • [GEOT-4717] - Have WFS 2.0 collection binding encode a valid numberMatched regardless of the field contents
  • [GEOT-4652] - Add ogr GeoRSS unit test
  • [GEOT-4653] - Add SQLite support to OGR module
  • [GEOT-4654] - Add tests for various ogr formats
  • [GEOT-4655] - Use environmental variables to make testing OGR module easier
  • [GEOT-4680] - PostPreProcessFilterSplittingVisitor throws Exception with complex logic filter with null literals
  • [GEOT-4681] - SimplifyingFilterVisitor should eliminate constant binary comparisons
  • [GEOT-4702] - Try harder to do numeric comparisons when the target property type is also a number
  • [GEOT-4708] - Improve GRIB support on NetCDF modules
  • [GEOT-4738] - Add ability to disable PostGIS ST_Simplify usage
  • [GEOT-3472] - Add a higher precision alternative to getGeodeticCurve
  • [GEOT-4132] - Oracle GeometryConverter rectangle test is slow and non-robust
  • [GEOT-4163] - Make dimension a first class information (like srid) in JDBC data stores
  • [GEOT-4356] - Add JDBC4 support to JDBC-Oracle
  • [GEOT-4421] - Allow creation, list and removal of Indexes for JDBC DataStores
  • [GEOT-4531] - Borehole 1D support
  • [GEOT-4573] - Improve footprint management
  • [GEOT-4574] - Improve artifacts filtering operation
  • [GEOT-4575] - Improve requested resolution computation
  • [GEOT-4576] - Allows the crop operation to force internally using a mosaic operation when requested by param
  • [GEOT-4591] - Allow image mosaic to load footprints from per granule shapefiles
  • [GEOT-4593] - Allows configuring an empty ImageMosaic (no Granules) for future harvesting. (REST)
  • [GEOT-4603] - Add configuration to add or remove bbox from WFS 2.0 (GML32) responses in gt-xsd-wfs
  • [GEOT-4610] - GDAL PAM statistics on granules and mosaic statistic properties
  • [GEOT-4614] - Support per property uom in styling
  • [GEOT-4618] - Update to ImageIO-Ext 1.1.8
  • [GEOT-4647] - Use the simpler/faster "TOP N" syntax when limiting results from SQL Server
  • [GEOT-4665] - Add support for MVCC connection param
  • [GEOT-4669] - Allow the mosaic name to be specified via indexer.properties
  • [GEOT-4670] - Handle constant sizes that are results of function calls in MetaBufferEstimator
and too many bug fixes to mention here but see the jira ticket of anything that you are interested in.

For more information check the GeoTools 11.0-Release Notes.

This release was carried out by Ian Turton with the support of Envitia Ltd and the AFRC division of the Scottish Government.

Tuesday, March 4, 2014

GeoTools 11-RC2 released

The GeoTools community is delighted to bring you the latest  GeoTools 11-RC2 download:
This release is also available from our maven repository.

This release is made in conjunction with GeoServer 2.5-RC2.

About GeoTools 11-RC2

Thanks to everyone who help test the RC1, GeoTools 11.0 is on track for release March 18th. If you have not yet had a chance to perform integration testing with please do so now with 11-RC2 to prevent surprises.

This release candidate contains a number of bug fixes, incorrectly configured WMS no longer cause null pointer exceptions, JDBCJNDIDataStoreFactory now exposes the fetch size to improve performance and ImageMosaic no longer uses memory mapping for Shapefiles. There have also been a few improvements - the PostGIS data store now supports citex data, sqlite and spatialite sqlite jdbc drivers can now co-exist and WFS2.0 responses now encode a valid numberMatched.


For more information check the GeoTools 11-RC2 Release Notes.

About GeoTools 11.x Series

Summary of the new features for the GeoTools 11.x series:
  • The DataStore API has a new removeSchema method to drop feature types. This new optional feature is currently implemented by the JDBCDataStore family (all spatial database backed stores), other stores will likely throw an UnsupportedOperationException
  • JDBCDataStore now exposes facilities to list, create and destroy indexes on database columns.
  • Ability to create and drop databases from the PostgisNGFactory
  • PostGis data store will now call ST_Simplify when the GEOMETRY_SIMPLIFICATION hint is provided, significantly speeding up loading of complex geometries  (the renderer can perform scale based simplification already, but doing it before sending the data speeds up data retrieval significantly)
  • ImageMosaic can now manage vector footprints for its granules, allowing to filter out no-data or corrupted sections of the imagery
  • All properties in a SLD style can now have a local unit of measure, as opposed to specifying the unit of measure per symbolizer. For example, if you need to have a line width to be 10 meters, its value can now be "10m"
  • Improved handling of data with 3D coordinates in JDBC data stores
  • A number of small improvements to the rendering engine, such as improved raster icon placement resulting in cleaner, less blurry output, improved label grouping, better handling of icons at the border of the map and in general much improved estimation of the buffer area needed to include all symbols in a map (for features that sit outside the map, but whose symbols are big enough to enter it).

Wednesday, February 26, 2014

Changing tracks on the GeoTools release train

The GeoTools release train has been burning through the stations and setting a rapid pace.

This activity marks a great deal of research and development, and a track record of consistent planned delivery. The turn around time for stable releases is also an important measure for getting fixes out to developers. Everything thing looks great right?

Holding on for the Ride

There is a downside to this rapid pace. In February I had a chance to do a roll call of LocationTech projects using GeoTools. Here is what I found:

- GeoGit uses GeoTools 9.0
- GeoMesa uses GeoTools 9.5
- GeoScript python uses GeoTools 9.0
- GeoScript Java Script uses GeoTools 9.0
- GeoScript Scala uses GeoTools 9.3
- GeoScript Groovy uses GeoTools 11-SNAPSHOT
- GeoTrellis uses GeoTools 9.5
- uDig uses GeoTools 9.0-M1

Not only were these projects not using the latest they were back on GeoTools 9 series (which had reached its "End-of-Life" in August 2013).

The release train was proving too exciting and many projects had simply fallen off.

Switching Gears

In discussions on the developer email list it gradually came out that there was a tension between having access prompt access to a release (wonderful when you are waiting for a fix) and the testing burden associated with upgrading (falling off the ride).

From an RnD standpoint the 6 month cycle is working out well. GeoTools needed a way to hold on to stable releases longer without over taxing the developer community.

Here is the resulting change proposal: Extended Release Schedule
  1. Drop back to releasing every other month
  2. Extend the release schedule with a 6 month maintenance phase
This proposal has now been accepted. Both the GeoTools and GeoServer release schedule will be effected.

Planning GeoTools 11

GeoTools 11 is scheduled for release in March, and will see a release every second month as we alternate between stable and maintenance branches.
  • GeoTools 11.0: March 2014 (Stable)
  • GeoTools 11.1: May 2014
  • GeoTools 11.2: July 2014
  • GeoTools 11.3: October 2014 (Maintenance)
  • GeoTools 11.4: December 2014
  • GeoTools 11.5: February 2015
Additional point releases may of course be added at the bequest of a development team. If you fall in a gap between releases don't be afraid to speak up.

Planning GeoTools 10

GeoTools 10 will no longer be retired in March, and is now extended with additional 6 months of life as a "maintenance" branch.
  • GeoTools 10.5: Feb 2014 (Stable)
  • GeoTools 10.6: April 2014 (Maintenance)
  • GeoTools 10.7: June 2014
  • GeoTools 10.8: August 2014