为WebGIS添加自定义在线地图

为类似昕图的WebGIS产品支持添加自定义在线地图,可将第三方在线底图作为地图背景使用,例如卫星影像、道路地图、地形图、浅色底图、深色底图等。

该功能适合用于数据浏览、空间定位、成果检查和制图参考。

1. 支持的地图地址格式

现在一般都是发布的XYZ 瓦片地图,因此支持的也是这种。wmts由于配置复杂一点,现在几乎不大用了。

XYZ 地址通常包含以下三个参数:

text 复制代码
{z} = 缩放级别
{x} = 瓦片列号
{y} = 瓦片行号

典型格式:

text 复制代码
https://example.com/tiles/{z}/{x}/{y}.png

有些服务还会使用子域名参数:

text 复制代码
{s}

例如:

text 复制代码
https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png

如果WebGIS当前不支持 {s},可将 {s} 替换为固定子域名,例如 abc

2. 添加步骤

  1. 开始Tab栏 - 背景图 - 添加自定义背景图。
  2. 输入图层名称。
  3. 输入在线地图 URL。
  4. 设置最小缩放级别和最大缩放级别。
  5. 点击确定。

4. 常用在线地图示例

OpenStreetMap 标准地图

text 复制代码
https://tile.openstreetmap.org/{z}/{x}/{y}.png

Google 卫星影像

text 复制代码
https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}

Google 卫星影像 + 标注

text 复制代码
https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}

Google 道路地图

text 复制代码
https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}

Google 地形图

text 复制代码
https://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z}

Esri World Imagery

text 复制代码
https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}

Esri World Street Map

text 复制代码
https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}

Esri World Topographic Map

text 复制代码
https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}

CARTO 浅色底图

text 复制代码
https://a.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png

CARTO 深色底图

text 复制代码
https://a.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png

CARTO Voyager 底图

text 复制代码
https://a.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png

5. 注意事项

  1. 在线地图地址必须包含 {x}{y}{z},否则无法按缩放级别加载瓦片。
  2. 建议优先使用 https:// 地址,避免浏览器拦截。
  3. 如果地图不显示,优先检查地址是否正确、网络是否可访问、服务是否需要 Key。
  4. 如果放大后不显示,可能是最大缩放级别超过服务支持范围。
  5. 大多数在线瓦片地图使用 Web Mercator,通常为 EPSG:3857,因此项目坐标系是 EPSG:3857时,显示最符合其原始模样。
  6. 部分国内地图服务可能存在坐标偏移,与 WGS84 数据叠加时需要注意。
  7. 第三方在线地图可能存在授权限制,正式项目、商业系统和公开发布场景应使用已授权服务。
  8. 不建议批量下载、缓存或二次分发未授权的在线地图瓦片。
  9. 地图加载依赖于自身电脑的网络环境,由浏览器自身获取数据,WebGIS软件商一般不提供相关服务

6. 常见问题

地图添加后不显示

请检查:

text 复制代码
1. URL 是否能正常访问
2. URL 是否包含 {x}、{y}、{z}
3. 当前网络是否能访问该服务
4. 服务是否需要 Token / Key
5. 缩放级别是否超出服务范围
6. 当前区域是否在服务覆盖范围内

地图与业务数据有偏移

常见原因:

text 复制代码
1. 业务数据坐标系设置错误
2. 在线地图使用了偏移坐标系
3. 当前地图服务不是标准 Web Mercator
4. 数据本身没有正确定义投影

建议先加载 OpenStreetMap 或 Esri World Imagery 检查数据坐标系是否正确。