Skip to main content
Glama
es3154

Turf-MCP

by es3154

interpolation_interpolate

Estimate spatial values across a grid using inverse distance weighting based on known point data for geographic analysis.

Instructions

使用反距离权重法进行空间插值。

此功能根据已知点的属性值,使用反距离权重法在网格上估计属性值。

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

cell_size: 网格单元大小
    - 类型: float
    - 描述: 每个网格单元的距离
    - 示例: 100.0

options: 可选参数配置
    - 类型: str (JSON 字符串) 或 None
    - 可选字段:
        - gridType: 网格类型 ('square', 'point', 'hex', 'triangle') (默认: 'square')
        - property: 用于插值的属性名 (默认: 'elevation')
        - units: 距离单位 (默认: 'kilometers')
        - weight: 距离衰减权重指数 (默认: 1)
        - bbox: 边界框数组 [minX, minY, maxX, maxY]
    - 示例: '{"gridType": "point", "property": "temperature", "units": "miles"}'

Returns: str: JSON 字符串格式的 GeoJSON FeatureCollection - 类型: GeoJSON FeatureCollection with Point or Polygon features - 格式: {"type": "FeatureCollection", "features": [...]} - 示例: '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984], "properties": {"temperature": 25.5}}, ...]}'

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

Example: >>> import asyncio >>> points = '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984], "properties": {"temperature": 25.5}}]}' >>> result = asyncio.run(interpolate(points, 100.0, '{"gridType": "point", "property": "temperature"}')) >>> print(result) '{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-75.343, 39.984], "properties": {"temperature": 25.5}}, ...]}'

Notes: - 输入参数 points 和 options 必须是有效的 JSON 字符串 - 坐标顺序为 [经度, 纬度] (WGS84 坐标系) - 反距离权重法假设距离越近的点对插值结果影响越大 - 依赖于 Turf.js 库和 Node.js 环境

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pointsYes
cell_sizeYes
optionsNo

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 of behavioral disclosure. It effectively describes the tool's behavior: it performs spatial interpolation using inverse distance weighting, outputs GeoJSON FeatureCollections, handles specific input formats (JSON strings), and raises exceptions for failures. It also notes dependencies (Turf.js, Node.js) and assumptions (closer points have more influence). However, it lacks details on performance, rate limits, or specific error conditions beyond generic exceptions.

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 clear sections (Args, Returns, Raises, Example, Notes), making it easy to navigate. It is appropriately sized for a complex tool with 3 parameters, though some sections (like the detailed example) are lengthy. Every sentence adds value, but it could be slightly more front-loaded by moving key usage notes earlier.

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 interpolation with 3 parameters), no annotations, and an output schema present, the description is highly complete. It covers purpose, parameters, return values, errors, examples, and notes on dependencies and assumptions. The output schema handles return format details, so the description focuses on operational context, making it sufficient for effective use.

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 fully compensate. It provides comprehensive parameter semantics: 'points' is explained as a GeoJSON FeatureCollection with examples, 'cell_size' as grid cell distance with units, and 'options' as a JSON string with detailed optional fields (gridType, property, units, weight, bbox), including defaults and examples. This adds significant meaning beyond the bare schema.

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: '使用反距离权重法进行空间插值' (performs spatial interpolation using inverse distance weighting). It specifies the method (inverse distance weighting), the resource (known points' attribute values), and the output (estimated values on a grid). This distinguishes it from sibling interpolation tools like 'interpolation_isobands', 'interpolation_isolines', and 'interpolation_tin' by explicitly naming the algorithm.

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 context through the method explanation and parameter details, such as when to use certain grid types or properties. However, it does not explicitly state when to choose this tool over alternatives like 'interpolation_tin' or 'interpolation_planepoint', nor does it provide prerequisites or exclusions. The guidance is present but not direct.

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