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
About GeoTools 15
What's new in GeoTools 15:- Java 8 is now required. Please view the install guide for details.
- Group By feature collection visitor.