GeoTools is an open source (LGPL) Java library which provides standards compliant methods for manipulating geospatial data, and uses data structures based on Open Geospatial Consortium (OGC) specifications.
GeoTools is used by a number of projects including web services, command line tools and desktop applications. OSGeoLive applications which include GeoTools include: 52 North SOS, 52 North WPS, AtlasStyler, Geomajas, Geopublisher, GeoServer, and uDig.
Definition of interfaces for key spatial concepts and data structures
Integrated Geometry support provided by JTS Topology Suite (JTS)
Attribute and spatial filters using OGC Filter Encoding specification
A clean data access API supporting feature access, transaction support and locking between threads
Access GIS data in many file formats and spatial databases
Coordinate reference system and transformation support
Work with an extensive range of map projections
filter and analyze data in terms of spatial and non-spatial attributes
A stateless, low memory renderer, particularly useful in server-side environments.
compose and display maps with complex styling
Powerful schema assisted parsing technology using XML Schema to bind to GML content
The parsing / encoding technology is provided with bindings for many OGC standards including GML, Filter, KML, SLD, and SE.
GeoTools Plugins: open plug-in system allowing you to teach the library additional formats
Plug-ins for the ImageIO-EXT project allowing GeoTools to read additional raster formats from GDAL
Provide additional capabilities built using the spatial facilites of the core library.
Extensions provide graph and networking support (for finding the shortest path), validation, a web map server client, bindings for xml parsing and encoding and color brewer.
GeoTools also operates as part of a wider community with a staging area used to foster new talent and promote experimentation.
Some highlights are swing support (used in geotools tutorials), swt, local and web process support, additional symbology, additional data formats, generation of grids and a couple of implementations of ISO Geometry.
raster formats and data access:
arcsde, arcgrid, geotiff, grassraster, gtopo30, image (JPEG, TIFF, GIF, PNG), imageio-ext-gdal, imagemoasaic, imagepyramid, JP2K, matlab.
Database “jdbc-ng” support:
db2, h2, mysql, oracle, postgis, spatialite, sqlserver.
Vector formats and data access:
app-schema, arcsde, csv, dxf, edigeo, excel, geojson, org, property, shapefile, wfs.
Java data structures and bindings provided for the following: xsd-core (xml simple types), fes, filter, gml2, gml3, kml, ows, sld, wcs, wfs, wms, wps, vpf.
Additional Geometry, Filter and Style parser/encoders available for DOM and SAX applications.
Support of numerous Open Geospatial Consortium (OGC) standards:
OGC Style Layer Descriptor / Symbology Encoding data structures and rendering engine
OGC General Feature Model including Simple Feature support
OGC Grid Coverage representation of raster information
OGC Filter and Common Constraint Language (CQL)
Clients for Web Feature Service (WFS), Web Map Service (WMS) and experimental support for Web Process Service (WPS)
ISO 19107 Geometry
Supported Platforms: Cross Platform Java 8,9,10
API Interfaces: Java
Support: Communication and Support