坐标转换服务器

一个用于坐标系转换和地图投影的模型上下文协议(MCP)服务器,支持多种坐标系格式和批量转换。

  • by radial-hks
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 radial-hks/mcp-server-proj

使用说明

MCP服务器PROJ

用于坐标系转换和地图投影的模型上下文协议(MCP)服务器。

特性

  • 支持多种坐标系格式:
    • EPSG代码
    • WKT(众所周知的文本)
    • 项目字符串格式
  • 批量坐标转换
  • 简单直观的API
  • 双模式操作:服务器或库

安装

pip install mcp-server-proj

用法

服务器模式

mcp-server-proj

库模式

from mcp_server_proj import CoordinateTransformer

# Create transformer instance
transformer = CoordinateTransformer()

# Set source and target coordinate systems
transformer.set_source_crs("EPSG:4326")  # WGS84
transformer.set_target_crs("EPSG:3857")  # Web Mercator

# Initialize transformer
transformer.initialize_transformer()

# Transform coordinates
x, y = transformer.transform_point(116.3, 39.9)
print(f"Transformed coordinates: ({x}, {y})")

API文档

坐标变换器

主坐标变换类提供以下方法:

  • set_source_crs(crs: str):设置源坐标系
  • set_target_crs(crs: str):设置目标坐标系
  • initialize_transformer():初始化变压器
  • transform_point(x: float, y: float) -> tuple[float, float]:转换单个点

服务器

MCP协议服务器提供两个工具:

  • transform-coordinates:转换不同系统之间的坐标

    {
      "source_crs": "EPSG:4326",
      "target_crs": "EPSG:3857",
      "coordinates": [
        {"x": 116.3, "y": 39.9}
      ]
    }
    
  • list-supported-crs:列出所有支持的坐标系

支持的坐标系

1.EPSG代码

坐标参考系的标准标识符:

  • EPSG:4326-WGS84地理
  • EPSG:3857-网络营销
  • 还有更多。..

2.WKT格式

地理坐标系示例:

GEOGCS["WGS 84",
  DATUM["WGS_1984",
    SPHEROID["WGS 84",6378137,298.257223563]],
  PRIMEM["Greenwich",0],
  UNIT["degree",0.0174532925199433]]

3.项目格式

WGS84示例:

+proj=longlat +datum=WGS84 +no_defs +type=crs

发展

调试

为了获得最佳的调试体验,请使用 MCP检查员:

npx @modelcontextprotocol/inspector mcp-server-proj

依赖项

  • Python>=3.12
  • mcp>=1.3.0
  • pyproj>=3.0.0

许可证

麻省理工学院

作者

径向HK(radialjiajie@gmail.com)

贡献

欢迎问题和拉取请求!