README
🚀 @zealgeo/mcp-geo-server
这是一个基于 Model Context Protocol (MCP) 的地理处理工具服务器,可提供坐标系统转换、距离计算、面积计算等空间分析功能,为地理数据处理提供便利。
🚀 快速开始
使用本地理处理工具服务器,你可以轻松实现坐标系统转换、距离和面积计算等功能。
📦 安装指南
你可以通过以下配置进行安装:
"geo-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@zealgeo/mcp-geo-server"
]
}
✨ 主要特性
坐标系统转换
- 支持的坐标系统:支持 BD09(百度坐标系)、GCJ02(火星坐标系)、WGS84(GPS 坐标系)、Web Mercator(网络墨卡托投影)之间的转换。
- 支持的转换方法:
- BD09 与 GCJ02 互转
- WGS84 与 GCJ02 互转
- BD09 与 WGS84 互转
- Web Mercator 与经纬度互转
空间计算
- 计算折线距离:支持米、千米单位,可对不同坐标系统输入(WGS84、GCJ02、BD09)进行计算。
- 计算多边形面积:支持平方米、平方公里、公顷单位,同样支持多种坐标系统输入。
📚 详细文档
MCP Tools
mcp_geo_convert
这是一个坐标系统转换工具,支持 BD09、GCJ02、WGS84 和 Web Mercator 之间的互相转换。
参数说明:
| 参数 | 详情 |
|------|------|
| method | 转换方法,可选值有BD09toGCJ02(百度坐标系转火星坐标系)、GCJ02toBD09(火星坐标系转百度坐标系)、WGS84toGCJ02(WGS84 转火星坐标系)、GCJ02toWGS84(火星坐标系转 WGS84)、BD09toWGS84(百度坐标系转 WGS84)、WGS84toBD09(WGS84 转百度坐标系)、WebMercatortoLngLat(Web 墨卡托转经纬度)、LngLattoWebMercator(经纬度转 Web 墨卡托) |
| longitude | 经度值 |
| latitude | 纬度值 |
mcp_geo_calculate_distance
该工具用于计算折线距离,基于 Web Mercator 投影进行平面距离计算。
参数说明:
| 参数 | 详情 |
|------|------|
| coordinates | 折线坐标点数组,格式为 [[lon1,lat1], [lon2,lat2],...] |
| unit | 长度单位,可选值为meters(米,默认)、kilometers(千米) |
| coordType | 输入坐标类型,可选值为WGS84(默认)、GCJ02、BD09 |
mcp_geo_calculate_area
此工具用于计算多边形面积,基于 Web Mercator 投影进行平面面积计算。
参数说明:
| 参数 | 详情 |
|------|------|
| coordinates | 多边形坐标点数组,格式为 [[lon1,lat1], [lon2,lat2],...] |
| unit | 面积单位,可选值为square_meters(平方米,默认)、square_kilometers(平方公里)、hectares(公顷) |
| coordType | 输入坐标类型,可选值为WGS84(默认)、GCJ02、BD09 |
坐标系说明
BD09(百度坐标系)
百度地图使用的坐标系统,它是在 GCJ02 基础上再次加密得到的。
GCJ02(火星坐标系)
这是中国国测局制定的地理信息系统坐标系统,是对 WGS84 进行加密后的坐标系。
WGS84
GPS 原始坐标系统,目前广泛使用的 GPS 全球卫星定位系统采用的就是该坐标系统。
Web Mercator
网页地图使用的投影坐标系统,它将球面坐标转换为平面坐标。在进行距离和面积计算时使用该投影可获得更准确的结果。
🔧 技术细节
本服务器基于 Model Context Protocol (MCP) 开发,通过一系列工具实现坐标系统转换和空间计算功能。坐标转换和空间计算基于不同的坐标系统特性和投影方法,以确保计算的准确性和适用性。对于坐标转换,会根据不同的转换方法进行相应的算法处理;对于距离和面积计算,采用 Web Mercator 投影后的平面计算方法,适用于中小尺度的地理数据处理。
⚠️ 注意事项
⚠️ 重要提示
- 坐标转换精度与原始数据质量有关。
- 中国大陆以外的坐标,WGS84 与 GCJ02 坐标系转换将直接返回原始坐标。
- Web Mercator 坐标通常以米为单位。
- 距离和面积计算使用 Web Mercator 投影后的平面计算方法,适用于中小尺度的计算。
- 对于跨越大洲的超长距离或超大面积,建议使用球面计算方法。
- 多边形面积计算不需要手动闭合,程序会自动处理闭合。
微信扫一扫