CAD 转 KML
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_fdb72718/dwg-to-kml。
技能介绍
问题背景
把总平面图、征地红线放进 Google Earth 核对位置,常见结果是 空白、缩成一点或整体偏移。根因往往不是 KML 语法,而是 DXF/DWG 里存的是 UTM 米坐标(例如印尼项目 X≈72 万、Y≈929 万),却被当成 WGS84 经纬度直接写进 KML。国内不少图还是 CGCS2000 高斯-克吕格 米坐标;若 X/Y 不带带号前缀,单靠数值无法反推中央经线,错 0.1°~0.3° 就可能偏十几公里。
技能如何工作
技能走 DWG → DXF → KML 的无界面流水线,也可在已有 DXF 时只跑 dxf_to_kml.py。
- 坐标判定:先扫描 DXF 范围,在 WGS84 经纬度、UTM 米、图框小坐标之间选择;非 WGS84 时用
pyproj重投影后再写 KML,并在日志里打印 bounds 供核对。 - 几何:
LWPOLYLINE的 bulge/弧段用ezdxf.path展平,避免折线化;可用--flat调平滑容差(米)。 - 样式:按 AutoCAD 图层 ACI 转 KML 的
AABBGGRR着色;名称匹配 红线/边界 或 ACI=1 的图层加粗纯红;可对指定闭合图层做半透明填充(如0-j1-1)。 - 图框过滤:
--min-x/--min-y去掉标题栏等非地理实体。 - 中国图:用
--src-crs传入 CGCS2000 高斯 proj4;无带号前缀时应先确认 3° 带号(区县中心经度 →round(经度/3)),优先标准带而非任意中央经线。
Windows 上 DWG 转 DXF 依赖本机 AutoCAD 2013+ 的 accoreconsole.exe;可选 --ge 在生成后启动 Google Earth Pro。
适用边界
- 自动检测对 无带号前缀的国内高斯坐标 不可靠,必须结合项目所在地带号或
--src-crs。 - 中文版 AutoCAD 批处理需
_.DXFOUT且带精度参数(如 16),否则易挂起。 - 图层名含「红线」但无实体时,KML 里不会出现该层,需结合 bounds/图层分析确认。
使用场景
- 收到总平面或布置图 DWG,要在 Google Earth 里和卫星影像对齐,核对道路、建筑物与现场是否一致。
- CAD 里画了征地红线或用地边界,需导出 KML 在地球上与邻宗、批复红线叠合比界。
- 协作方只提供 DXF、本机没有 AutoCAD,仍要把图元转成 KML 给 Google Earth Pro 打开查看。
- 图纸坐标是 UTM 米或国内 CGCS2000 高斯米值,需先识别/重投影再出 KML,避免地球上空白或整体偏移。
适合人员
- 负责总图报建或方案比选的土木/规划工程师,要把 DWG 落到地球上和影像对位,而不是手工猜经纬度。
- 经办征地红线、用地范围的国土或项目合规人员,需要把 CAD 边界变成可在 Google Earth 打开的 KML 做叠图。
- 驻场测绘或 BIM 协调员,Windows 上已装 AutoCAD,希望一条命令完成 DWG→KML 并保留图层颜色与红线加粗。
- 维护国内 CGCS2000 项目的 GIS 人员,遇到 X/Y 无带号前缀时,需按区县确认 3° 带再导出 KML。