jts

jts is a skill for Claude Code, Codex from znlgis/opengis-skills. It costs 58 tokens per session (3,549 once invoked), scanned A, original, MIT.

A Java library for working with two-dimensional shapes and geographic data, such as points, lines, and polygons.

In plain words
What is it for?
Use it in Java GIS and geometry software for tasks such as buffering, triangulation, spatial queries, validity checks, and reading formats like GeoJSON or WKT.
Why use it?
It provides standard operations for checking spatial relationships, combining shapes, measuring them, and finding intersections.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it in Java GIS and geometry software for tasks such as buffering, triangulation, spatial queries, validity checks, and reading formats like GeoJSON or WKT.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/znlgis/opengis-skills/jts
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add znlgis/opengis-skills --skill jts
Clone the repo
git clone --depth 1 https://github.com/znlgis/opengis-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for jts

README.md
[![agentmods](https://agentmods.dev/badge/skills/znlgis/opengis-skills/jts/github.svg)](https://agentmods.dev/skills/znlgis/opengis-skills/jts)
Your own site
<a href="https://agentmods.dev/skills/znlgis/opengis-skills/jts"><img src="https://agentmods.dev/badge/skills/znlgis/opengis-skills/jts/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for jts

Your own site · 80×15
<a href="https://agentmods.dev/skills/znlgis/opengis-skills/jts"><img src="https://agentmods.dev/badge/skills/znlgis/opengis-skills/jts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 58 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,549 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00058 $0.03549
Opus 5 $0.00029 $0.01775
Sonnet 5 $0.00012 $0.00710
Haiku 4.5 $0.00006 $0.00355

Measured 2d ago against content hash d56218db5b45, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

jts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

gis/jts/SKILL.md · 264 lines

How it starts

The opening of the file, as written. The whole thing — 264 lines — stays where its author put it; the contents beside it link to each section on GitHub.

项目地址: https://github.com/locationtech/jts

Maven Central: org.locationtech.jts:jts-core

许可证: Eclipse Public License 2.0 / Eclipse Distribution License 1.0(BSD 风格)

Javadoc: https://locationtech.github.io/jts/javadoc

概述

JTS Topology Suite(简称 JTS)是 LocationTech 项目组下的开源 Java 二维矢量几何库,是 GeoTools、GeoServer 等众多开源 GIS 项目的几何计算核心。它提供:

  • 几何对象模型:Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon、GeometryCollection
  • 空间关系判断:equals、contains、within、intersects、touches、crosses、overlaps、disjoint、relate(DE-9IM)
  • 集合运算:intersection、union、difference、symDifference、buffer
  • 几何分析:convexHull、centroid、area、length、distance、isValid、simplify
  • 线性参考:沿线距离定位、线上插值
  • 空间索引:STRtree、Quadtree,加速批量空间查询
  • 格式读写:WKT、WKB、GeoJSON

环境要求: JDK 8+


快速集成

Maven

<properties>
    <jts.version><!-- 请查看 Maven Central 获取最新版:https://central.sonatype.com/artifact/org.locationtech.jts/jts-core --></jts.version>
</properties>

<dependency>
    <groupId>org.locationtech.jts</groupId>
    <artifactId>jts-core</artifactId>
    <version>${jts.version}</version>
</dependency>

如需 GeoJSON 等 I/O 支持:

<dependency>
    <groupId>org.locationtech.jts.io</groupId>
    <artifactId>jts-io-common</artifactId>
    <version>${jts.version}</version>
</dependency>

Gradle

implementation 'org.locationtech.jts:jts-core:1.20.0'
implementation 'org.locationtech.jts.io:jts-io-common:1.20.0'

项目模块一览

模块 artifactId 用途
jts-core jts-core ★ 核心——几何模型、算法、空间操作、索引
jts-io-common jts-io-common 通用 I/O:WKT、WKB、GeoJSON 读写
jts-io-ora jts-io-ora Oracle Spatial SDO_GEOMETRY 读写
jts-io-sde jts-io-sde ArcSDE 几何读写

核心类一览

用途
GeometryFactory org.locationtech.jts.geom 推荐入口——创建所有几何对象的工厂
Geometry org.locationtech.jts.geom 几何抽象基类,提供空间操作与关系判断方法
Point org.locationtech.jts.geom 点(0 维)
LineString org.locationtech.jts.geom 线串(1 维)
LinearRing org.locationtech.jts.geom 闭合线环(用于构建 Polygon)
Polygon org.locationtech.jts.geom 面(2 维,含外环与可选内环)
MultiPoint org.locationtech.jts.geom 多点集合
MultiLineString org.locationtech.jts.geom 多线集合
MultiPolygon org.locationtech.jts.geom 多面集合
GeometryCollection org.locationtech.jts.geom 任意几何集合
Coordinate org.locationtech.jts.geom 坐标值(x, y, z)
Envelope org.locationtech.jts.geom 外接矩形(MBR)
PrecisionModel org.locationtech.jts.geom 坐标精度模型
WKTReader org.locationtech.jts.io WKT 格式解析
WKTWriter org.locationtech.jts.io WKT 格式输出
WKBReader org.locationtech.jts.io WKB 格式解析
WKBWriter org.locationtech.jts.io WKB 格式输出
GeoJsonReader org.locationtech.jts.io.geojson GeoJSON 解析
GeoJsonWriter org.locationtech.jts.io.geojson GeoJSON 输出
STRtree org.locationtech.jts.index.strtree R-tree 空间索引(批量加载,查询高效)
Quadtree org.locationtech.jts.index.quadtree 四叉树空间索引(支持动态插入删除)
PreparedGeometry org.locationtech.jts.geom.prep 预处理几何,加速重复空间关系判断
PreparedGeometryFactory org.locationtech.jts.geom.prep 创建 PreparedGeometry 的工厂
BufferOp org.locationtech.jts.operation.buffer 缓冲区运算(可精细控制端头、连接样式)
OverlayNGRobust org.locationtech.jts.operation.overlayng 鲁棒叠加运算(推荐使用的新一代叠加引擎)
TopologyPreservingSimplifier org.locationtech.jts.simplify 保持拓扑的几何简化
DouglasPeuckerSimplifier org.locationtech.jts.simplify Douglas-Peucker 几何简化
IsValidOp org.locationtech.jts.operation.valid 几何有效性检测
LengthIndexedLine org.locationtech.jts.linearref 按长度进行线性参考
LocationIndexedLine org.locationtech.jts.linearref 按位置进行线性参考

Read the full file on GitHub · 264 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago Changed d56218db5b45
  2. 8d ago Changed · -295 lines 554ca240fdd2
  3. 12d ago First seen · 559 lines · 58 tokens per session scan A 53616f0b0024

Subscribe to this mod's changes

jts is a skill published in the GitHub repository znlgis/opengis-skills (61 stars, last pushed today), licensed MIT. It adds 58 tokens to every session and 3,549 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

azure-security-keyvault-secrets-java

Azure Key Vault Secrets Java SDK for secret management. Use when storing, retrieving, or managing passwords, API keys, connection strings, or other sensitive configuration data.

microsoft/skills · 40 tokens

azure-ai-anomalydetector-java

Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate/multivariate anomaly detection, time-series analysis, or AI-powered monitoring.

microsoft/skills · 43 tokens

azure-communication-chat-java

Build real-time chat applications with Azure Communication Services Chat Java SDK. Use when implementing chat threads, messaging, participants, read receipts, typing notifications, or real-time chat features.

microsoft/skills · 41 tokens

azure-communication-common-java

Azure Communication Services common utilities for Java. Use when working with CommunicationTokenCredential, user identifiers, token refresh, or shared authentication across ACS services.

microsoft/skills · 35 tokens

azure-ai-agents-persistent-java

Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Triggers: "PersistentAgentsClient", "persistent agents java", "agent threads java", "agent runs java", "streaming agents java".

microsoft/skills · 63 tokens

union-type-wrappers

Add typed getters and setters over BinaryData properties that represent TypeSpec union types in generated Java models. Use when generated classes expose BinaryData for union-typed fields and you need ergonomic, type-safe accessors instead.

Azure/azure-sdk-for-java · 49 tokens