Skip to main content
Glama
es3154

Turf-MCP

by es3154

aggregation_collect

Aggregates point attribute values into polygons for spatial analysis. Calculates sum of point properties within polygon boundaries to enable statistical summaries of geographic data.

Instructions

将点属性聚合到多边形中。

此功能将位于多边形内部的点的属性值聚合到多边形中,用于统计和汇总分析。

Args: polygons: 多边形特征集合 - 类型: str (JSON 字符串格式的 GeoJSON FeatureCollection) - 格式: FeatureCollection with Polygon or MultiPolygon features - 示例: '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[125, -15], [113, -22], [154, -27], [144, -15], [125, -15]]]}}, ...]}'

points: 点特征集合
    - 类型: str (JSON 字符串格式的 GeoJSON FeatureCollection)
    - 格式: FeatureCollection with Point features
    - 示例: '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984], "properties": {"population": 100}}, ...]}'

in_field: 输入字段名
    - 类型: str
    - 描述: 点特征中要聚合的属性字段名
    - 示例: 'population'

out_field: 输出字段名
    - 类型: str
    - 描述: 多边形特征中要创建的聚合属性字段名
    - 示例: 'total_population'

Returns: str: JSON 字符串格式的 GeoJSON FeatureCollection - 类型: GeoJSON FeatureCollection with Polygon features - 格式: {"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [...]}, "properties": {..., "total_population": 聚合值}}, ...]} - 示例: '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [...]}, "properties": {"total_population": 1500}}, ...]}'

Raises: Exception: 当 JavaScript 执行失败、超时或输入数据格式错误时抛出异常

Example: >>> import asyncio >>> polygons = '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[125, -15], [113, -22], [154, -27], [144, -15], [125, -15]]]}}]}' >>> points = '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984], "properties": {"population": 100}}]}' >>> result = asyncio.run(collect(polygons, points, 'population', 'total_population')) >>> print(result) '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [...]}, "properties": {"total_population": 100}}, ...]}'

Notes: - 输入参数 polygons 和 points 必须是有效的 JSON 字符串 - 坐标顺序为 [经度, 纬度] (WGS84 坐标系) - 仅对位于多边形内部的点进行属性聚合 - 聚合方式为求和,即计算多边形内部所有点的属性值总和 - 依赖于 Turf.js 库和 Node.js 环境

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
polygonsYes
pointsYes
in_fieldYes
out_fieldYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the aggregation method ('聚合方式为求和' - aggregation method is summation), spatial logic ('仅对位于多边形内部的点' - only points inside polygons), coordinate system ('坐标顺序为 [经度, 纬度] (WGS84 坐标系)' - coordinate order [longitude, latitude] in WGS84), dependencies ('依赖于 Turf.js 库和 Node.js 环境' - depends on Turf.js and Node.js), and error conditions ('Raises: Exception: 当 JavaScript 执行失败、超时或输入数据格式错误时抛出异常' - raises exceptions for JavaScript failures, timeouts, or input format errors). It doesn't mention performance, rate limits, or auth needs, but covers core operational behavior well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections (Args, Returns, Raises, Example, Notes) and front-loaded purpose. It's appropriately sized for a complex tool, but some redundancy exists (e.g., repeating JSON format details). Most sentences earn their place by clarifying parameters, behavior, or usage, though it could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (spatial aggregation with 4 parameters), no annotations, and an output schema provided (Returns section details the output format), the description is highly complete. It covers purpose, parameters, behavior, dependencies, errors, examples, and spatial constraints, leaving minimal gaps for an agent to invoke it correctly. The output schema in the description compensates for the lack of structured output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate fully. It provides detailed semantics for all 4 parameters: 'polygons' and 'points' are explained as GeoJSON FeatureCollections with specific geometry types and examples, 'in_field' as the input attribute field name to aggregate, and 'out_field' as the output field name to create. The description adds substantial meaning beyond the bare schema, including format, examples, and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '将点属性聚合到多边形中' (aggregate point attributes into polygons). It specifies the verb ('聚合' - aggregate) and resource ('点属性' - point attributes, '多边形' - polygons), and distinguishes from siblings like 'joins_pointsWithinPolygon' by focusing on aggregation rather than spatial joins or other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through context ('用于统计和汇总分析' - for statistical and summary analysis) and the Notes section clarifies spatial constraints ('仅对位于多边形内部的点进行属性聚合' - only aggregates points inside polygons). However, it doesn't explicitly state when to use this tool versus alternatives like 'joins_pointsWithinPolygon' or other aggregation tools, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/es3154/turf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server