互联网地图叠加
大约 4 分钟
互联网地图叠加
在 CAD 图纸上叠加互联网地图(高德/天地图)作为参考底图。
概念
互联网地图叠加功能可以将高德、天地图等在线地图图层渲染在 CAD 图纸下方,帮助用户将 CAD 坐标与真实地理位置对应起来。
两种叠加模式
| 模式 | 适用场景 | 需要信息 |
|---|---|---|
| 自动叠加(EPSG) | 图纸使用国家标准投影坐标系 | EPSG 代号(如 4509、4526) |
| 手动叠加(四参数) | 图纸使用自定义/本地坐标系 | 至少 2 组 CAD↔经纬度 对应点 |
支持的地图类型
| 地图 | 坐标系 | 说明 |
|---|---|---|
| 高德影像地图 | GCJ02(火星坐标) | 卫星影像 + 道路标注 |
| 高德道路地图 | GCJ02 | 纯道路矢量地图 |
| 天地图影像 | WGS84 | 国家平台卫星影像 |
| 天地图道路 | WGS84 | 国家平台矢量地图 |
API 用法
使用 Engine 上的静态方法即可完成叠加操作,无需直接操作底层 pcanvas。
启用叠加
// 叠加高德影像地图(自动模式,需提供 EPSG)
Engine.enableWebMap({
tileCrs: "gcj02",
tileUrl: [
"https://webst0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=6&x={x}&y={y}&z={z}",
"https://webst0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}",
],
tileShards: "1,2,3,4",
mapbounds: "minX,minY,maxX,maxY", // CAD 图纸范围
srs: "EPSG:4509", // 图纸坐标系 EPSG 代号
});手动叠加(四参数)
// 手动模式,提供四参数变换
Engine.enableWebMap({
tileCrs: "gcj02",
tileUrl: [
"https://webst0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=6&x={x}&y={y}&z={z}",
],
tileShards: "1,2,3,4",
mapbounds: "minX,minY,maxX,maxY",
// 四参数:dx, dy, scale, rotation
fourParameterBefore: "12727039.383545,3579066.6894800006,1,0",
});移除叠加
Engine.disableWebMap();设置透明度
// 透明度范围 0(完全透明)~ 1(完全不透明)
Engine.setWebMapAlpha(0.5);
// 重绘以生效
Engine.pcanvas.redraw();查询状态
if (Engine.isWebMapEnabled()) {
console.log("互联网地图叠加已启用");
}命令方式(可视化面板)
除了 API 之外,也可以通过 WEBMAPOVERLAY 命令打开可视化配置面板:
await Engine.editor.executerWithOp('WEBMAPOVERLAY');面板提供以下功能:
- 地图类型选择 — 高德影像/道路、天地图影像/道路
- 自动模式 — 选择坐标系类型 → EPSG 自动检测 → 一键叠加
- 手动模式 — 输入对应点或直接输入四参数
- 透明度滑条 — 实时调节地图透明度
- 移除叠加 — 一键清除地图图层
- 配置记忆 — 自动保存到 localStorage
EPSG 自动推算
面板的自动模式支持从坐标系类型推算 EPSG 代号:
| 坐标系类型 | EPSG 范围 | 推算依据 |
|---|---|---|
| CGCS2000 3度带 | 4534 – 4554 | 根据 CAD 坐标 X 值的带号前缀 |
| CGCS2000 6度带 | 4502 – 4512 | 根据 X 值的带号前缀 |
| 西安80 3度带 | 2370 – 2390 | 根据 X 值的带号前缀 |
| 西安80 6度带 | 2338 – 2348 | 根据 X 值的带号前缀 |
| 北京54 3度带 | 2401 – 2420 | 根据 X 值的带号前缀 |
| 北京54 6度带 | 21413 – 21483 | 根据 X 值的带号前缀 |
| WGS84 | 4326 | 直接使用 |
推算逻辑:读取 CAD 图纸中现有实体的坐标,从 X 值中提取带号前缀,再根据坐标系类型查表得到 EPSG 代号。
四参数计算
四参数变换(2D Helmert 变换)用于将 CAD 坐标映射到 Web Mercator (EPSG:3857) 坐标。
参数说明
| 参数 | 含义 |
|---|---|
| dx | X 方向平移量 |
| dy | Y 方向平移量 |
| scale | 缩放比例 |
| rotation | 旋转角度(弧度) |
对应点计算
在面板中输入至少 2 组对应点(CAD 坐标 ↔ 经纬度),系统自动计算四参数:
- 在"手动叠加"选项卡中,选择"对应点计算"
- 输入 CAD 点坐标(可点击
+按钮在图上拾取) - 输入对应的经纬度坐标
- 勾选"不旋转"可锁定旋转角为 0(默认勾选)
- 点击"计算四参数"
直接输入
如果已知四参数值,可切换到"直接输入"选项卡,直接填写 dx、dy、scale、rotation 后点击"应用"。
使用场景
- 规划设计 — 将建筑/道路设计图与实际地理位置对照
- 测量验证 — 校验测量坐标与地图位置是否一致
- 数据叠加 — 将 GIS 数据导入 CAD 后与底图对比
- 现场定位 — 在设计图上查看项目所在位置
在线演示
参考示例:互联网地图叠加