gcoord 坐标系转换
将以下提示词粘贴到你的 AI 对话框中:
请根据官方指南 https://skillhub.cn/install/skillhub.md,将规范名 @user_f1b049da/grc20265410 对应的技能安装到 AI 助手中使用。
技能介绍
问题:同一个地址,三套坐标系
CRM 里的客户地址来自 GPS 原始定位(WGS84),投放到高德、腾讯地图(GCJ02,俗称「火星坐标」)时整体漂移几百米;从百度地图拿到的 POI 是 BD09,再放进高德又错一次。多源数据叠加到同一张图上时,同一个门牌号可能落在两条街之外。
这个技能把这件事收敛成一次本地调用:gcoord.transform([lng, lat], from, to)。全程不发后端请求,拿到结果就能直接画在目标地图上。
它做了什么
- 在 WGS84、GCJ02、BD09 三个坐标系之间互转。
- 输入输出统一为
[经度, 纬度]顺序,并校验经度-180~180、纬度-90~90。 - 非法输入返回中文原因,而不是静默返回
[NaN, NaN]。批处理场景里这一点尤其关键:坏数据会当场暴露,不会悄悄污染后面所有点位。 - 界面上明确标注「当前坐标系」与「目标坐标系」,避免用户连转两次把自己绕回原点。
Agent 侧的推荐步骤:安装 gcoord 后封装 convertLngLat 与常用快捷函数;表单提供原系/目标系下拉和经纬度输入,结果可复制;自测时用已知样点验证 WGS84→GCJ02 在中国境内确实产生偏移,同时验证同系转换原样返回。
边界
- 纯工具换算,不替代测绘资质与合规要求。发布或使用法定坐标成果仍需走正规流程。
- GCJ02 的偏移算法本身存在近似,边界区域、港澳台及境外坐标的行为与境内不同,转换结果不应当作精确测量值。
- 与
geo-line-distance的分工:先转换到同一坐标系,再算距离。本技能只负责换系,不负责量距。
使用场景
- GPS 打点绘制到高德地图前,需要把 WGS84 轨迹批量转成 GCJ02,避免轨迹整体偏移。
- 门店数据从百度地图迁到高德时,需把 BD09 坐标逐条转成 GCJ02 再入库展示。
- CRM 里客户地址来源混杂,需要统一转成 WGS84 存储,再按展示平台转目标系。
- 地图 SDK 拿到的原始定位是 WGS84,直接叠加到腾讯地图会错位,需先换系再渲染。
适合人员
- 前端工程师,需要在接入高德或腾讯地图时处理 WGS84 到 GCJ02 的偏移转换。
- GIS 后端开发者,需要在坐标入库前统一 CRM 地址数据到 WGS84 或目标系。
- 门店系统对接人员,需要在百度地图和高德地图之间迁移门店坐标并校验偏移。
- 地图产品技术负责人,需要验证多平台展示时坐标一致性并避免两次转换问题。