TileServer-GL 服务端点详解:地图瓦片与静态图像API指南

TileServer-GL 服务端点详解:地图瓦片与静态图像API指南

【免费下载链接】tileserver-gl Vector and raster maps with GL styles. Server side rendering by MapLibre GL Native. Map tile server for MapLibre GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc. 【免费下载链接】tileserver-gl 项目地址: https://gitcode.com/gh_mirrors/ti/tileserver-gl

概述

TileServer-GL 是一个强大的地图瓦片服务器,它提供了多种端点(API接口)来访问地图样式、瓦片数据、静态图像等功能。本文将全面解析这些端点的功能和使用方法,帮助开发者更好地利用TileServer-GL构建地图应用。

样式相关端点

基础样式访问

  • 获取单个样式:/styles/{id}/style.json
  • 获取所有样式列表:/styles.json

样式资源

  • 精灵图(Sprite):用于存储地图中使用的图标和小图片

    • 基础路径:/styles/{id}/sprite
    • 支持多分辨率:@2x@3x等高DPI版本
    • 支持多种格式:.png.json
  • 字体:用于地图文本渲染

    • 路径格式:/fonts/{fontstack}/{start}-{end}.pbf
    • 其中fontstack是字体名称,startend是Unicode字符范围

地图瓦片端点

渲染瓦片

  • 基础路径:/styles/{id}/{z}/{x}/{y}.{format}
  • 可选参数:
    • 瓦片尺寸:/{tileSize}(默认为256)
    • 高DPI支持:@2x等比例因子
    • 支持格式:pngjpg(或jpeg)、webp

瓦片元数据

  • 获取TileJSON:/styles/{id}.json
    • 包含瓦片的基本信息如边界、缩放级别等

注意:tileserver-gl-light轻量版不支持渲染瓦片功能

WMTS服务能力

  • WMTS(Web Map Tile Service)能力文档:/styles/{id}/wmts.xml
    • 提供标准化的WMTS服务描述,可与GIS软件集成

静态图像生成

TileServer-GL提供了强大的静态地图图像生成功能,支持多种定位方式:

1. 基于中心点的静态图

路径格式:/styles/{id}/static/{lon},{lat},{zoom}[@{bearing}[,{pitch}]]/{width}x{height}[@2x].{format}

2. 基于区域的静态图

路径格式:/styles/{id}/static/{minx},{miny},{maxx},{maxy}/{width}x{height}[@2x].{format}

3. 自动适配路径的静态图

路径格式:/styles/{id}/static/auto/{width}x{height}[@2x].{format}

高级参数

静态图像端点支持丰富的查询参数来增强地图表现:

路径绘制
  • path参数支持多种格式:
    • 简单坐标串:lng,lat|lng,lat|...
    • Google编码折线:enc:...
    • 带样式的路径:stroke:color|width:size|fill:color|...
标记点
  • marker参数格式:lng,lat|iconPath|option|option|...
    • 支持缩放(scale)和偏移(offset)等选项
    • 图标可以是URL或本地路径
其他样式控制
  • fill/stroke/width:控制路径填充和描边
  • linecap/linejoin:控制线段的端点样式
  • border:为路径添加边框效果
  • padding:为自动适配添加边距

实验性功能:使用/styles/{id}/static/raw/...可直接使用墨卡托坐标(EPSG:3857)

源数据访问

瓦片数据

  • 路径:/data/{id}/{z}/{x}/{y}.{format}
    • 支持格式:pbfpnggeojson(用于调试)

高程数据

  • 瓦片高程:/data/{id}/elevation/{z}/{x}/{y}
  • 坐标高程:/data/{id}/elevation/{z}/{long}/{lat}
    • 返回包含坐标和高程信息的JSON对象

辅助功能

静态文件服务

  • 路径:/files/{filename}
    • 可用于提供GeoJSON等数据文件
    • 默认目录:public/files

列表端点

  • 所有TileJSON列表:/index.json/rendered.json
  • 数据源列表:/data.json
  • 可用字体列表:/fonts.json

健康检查

  • 端点:/health
    • 返回状态码:
      • 503:服务正在启动
      • 200:服务正常运行

最佳实践建议

  1. 性能优化

    • 对于大量数据,建议使用瓦片格式而非完整GeoJSON
    • 合理使用高DPI(@2x)参数平衡质量和性能
  2. 样式控制

    • 利用路径参数的多重样式能力创建丰富的地图标注
    • 通过padding参数确保关键区域在静态图中完整显示
  3. 高程数据

    • 地形应用中优先使用坐标高程查询而非瓦片高程
    • 注意配置正确的encoding参数以确保高程数据正确解析

通过掌握这些端点及其参数,开发者可以充分利用TileServer-GL的强大功能,构建高性能、定制化的地图应用。

【免费下载链接】tileserver-gl Vector and raster maps with GL styles. Server side rendering by MapLibre GL Native. Map tile server for MapLibre GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc. 【免费下载链接】tileserver-gl 项目地址: https://gitcode.com/gh_mirrors/ti/tileserver-gl

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值