../../_images/logo_geotools.png ../../_images/OSGeo_project.png


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.

geotools screenshot

Core Features

  • 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

  • GeoTools Extensions

    • Provide additional capabilities built using the spatial facilites of the core library.

    Extensions built using the GeoTools 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 Unsupported

    • 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.

Supported Formats

  • 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.

  • XML Bindings:

    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.

Implemented Standards

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


Website: https://geotools.org/

Licence: LGPL

Supported Platforms: Cross Platform Java 8,9,10

API Interfaces: Java

Support: Communication and Support