geotools

Access, transform, and render geospatial data in Java applications.

49|9|Updated Mar 9, 2026
One-click install
npx skills add https://github.com/znlgis/opengis-skills --skill geotools
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: geotools
Source: https://github.com/znlgis/opengis-skills/tree/main/geotools
Command: npx skills add https://github.com/znlgis/opengis-skills --skill geotools

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Java-based GIS development can be complex due to fragmented libraries for data access, CRS conversions, spatial queries, and rendering. GeoTools provides a mature, modular toolkit that unifies vector and raster I/O, CRS transformations, filtering, and map rendering in a compliant, reuse-ready package.

Core Features & Use Cases

  • Vector and raster data access via DataStore and readers, supporting formats like Shapefile, GeoPackage, GeoJSON, PostGIS, and more.
  • Coordinate reference systems (CRS) handling and transformations using EPSG-aware utilities for accurate geospatial math.
  • Spatial querying and filtering with CQL/ECQL, including bbox, contains, intersects, and attribute-based queries.
  • Map rendering and styling support for producing maps, charts, and export formats like PNG or SVG.
  • Web service clients for WMS/WFS/WCS integration and desktop/server GIS workflows, enabling end-to-end GIS pipelines.

Use cases: building GIS portals, desktop GIS tools, or server-side geospatial services that require robust, standards-compliant data access and rendering.

Quick Start

Add GeoTools to your Maven or Gradle project and start building GIS-enabled Java applications using DataStore, CRS utilities, and rendering tools.

Frequently Asked Questions about geotools

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I read and write Shapefile and GeoJSON data in a Java application?

To read and write Shapefile and GeoJSON data in a Java application, use modular DataStore APIs for vector and raster IO. This approach supports formats like Shapefile, GeoPackage, GeoJSON, and PostGIS for robust geospatial data access.

What is the best way to handle CRS transformations for geospatial data in Java?

The best way to handle CRS transformations in Java is using EPSG-aware coordinate reference system utilities. These apply accurate geospatial math to transform spatial data reliably across different projections and coordinate systems.

Can I perform spatial queries like bbox and intersects on PostGIS data using Java?

Yes, you can perform spatial queries like bbox and intersects on PostGIS data using Java by applying CQL or ECQL filtering. This enables attribute-based queries and spatial operations within GIS-enabled server or desktop workflows.

Does GeoTools support rendering maps to PNG or SVG for server-side GIS pipelines?

Yes, GeoTools supports rendering maps to PNG or SVG for server-side GIS pipelines. It provides map rendering and styling APIs to produce visual outputs and charts directly from vector and raster geospatial data sources.

How do I integrate WMS and WFS web services into a Java desktop GIS tool?

To integrate WMS and WFS web services into a Java desktop GIS tool, use built-in web service clients. These handle WMS, WFS, and WCS integration to enable end-to-end GIS workflows and standards-compliant data access.

What dependencies do I need to set up a Java GIS project with OSGeo modules?

To set up a Java GIS project with OSGeo modules, configure Maven or Gradle to retrieve dependencies from the OSGeo Maven repository. This provides the modular APIs required for data access, CRS handling, filtering, and rendering.