我做了一款 CAD↔GIS 互转 CLI:啃下中文坐标系与 CASS 图层两个硬骨头

3 阅读1分钟

做工厂总图的日常,一半时间在 CAD 和 GIS 之间倒数据。现成工具要么重(GDAL),要么贵(商业软件),要么不懂中文工程场景。于是我写了 plotsmith——一个纯 Python、零 GDAL 的命令行工具。

真正难的是两件事:

1. 中文坐标系 国内用 CGCS2000 / 高斯-克吕格 3°带。实测发现 pyproj 对"带号版 EPSG"(如 4527)反算会返回 inf——整张图坐标直接崩。plotsmith 用「标准 EPSG 优先 → 反算自检 → PROJ 字符串兜底」三层策略绕开这个坑。

2. CASS 图层语义 地形图图层是一套 4 字母码(JMD/DLSS/DGX/DMTZ…)。通用转换靠模糊匹配,转完根本没法用。plotsmith 用精确图层码归类,零误分。

用法很简单: 1.pip install ezdxf shapely pyproj pyshp click pyyaml

2.plotsmith convert factory.dxf factory.kml --src-cs cgcs2000-3-105 --layer-map cass

拿某工厂真实地形图验过:19322 要素、零误分。已开源(MIT,有测试 + CI): github.com/nemo179/plo…

欢迎 star,也欢迎总图 / 测绘 / 水利同行来交流数据互转的坑。