# Mars Titiler Server 基于 Titiler 的火星瓦片服务,用于提供 Mars MGS MOLA Color-Shaded Relief 全球底图。 ## 功能特点 - 使用 Titiler 框架,代码简洁高效 - 自定义火星坐标系(SimpleCylindrical,米制) - 支持 Cesium GeographicTilingScheme (2×1 瓦片布局) - 自动提供多个端点:tiles、tilejson、info、preview、statistics 等 ## 快速启动 ```bash # 激活环境 source /home/la/miniconda3/bin/activate gdal_env # 启动服务 uvicorn app:app --reload --host 0.0.0.0 --port 8000 ``` ## API 端点 所有端点都需要 `url` 参数指定数据文件路径。 ### 核心端点 - **瓦片**: `/cog/tiles/MarsCylindrical/{z}/{x}/{y}?url=` - 格式:PNG、WebP、JPEG 等(默认 PNG) - **TileJSON**: `/cog/MarsCylindrical/tilejson.json?url=` - 返回 TileJSON 2.2.0 元数据 - **数据信息**: `/cog/info?url=` - 返回栅格数据的详细信息(波段、范围、CRS 等) - **预览**: `/cog/preview.png?url=&max_size=512` - 返回全局预览图 ### 示例 ```bash # 设置数据路径 DATA_PATH="/home/la/studio/cesium/rio-tiler-tms/data/Mars_MGS_MOLA_ClrShade_merge_global_463m.tif" # 获取数据信息 curl "http://localhost:8000/cog/info?url=$DATA_PATH" # 获取 TileJSON curl "http://localhost:8000/cog/MarsCylindrical/tilejson.json?url=$DATA_PATH" # 获取瓦片 (zoom=0, x=0, y=0) curl "http://localhost:8000/cog/tiles/MarsCylindrical/0/0/0?url=$DATA_PATH" -o tile.png # 获取预览图 curl "http://localhost:8000/cog/preview.png?url=$DATA_PATH&max_size=512" -o preview.png ``` ## 与原版对比 ### 原版 (rio-tiler-tms) ``` /tiles/{z}/{x}/{y}.png /tilejson.json ``` - 数据路径硬编码 - 手动实现端点 ### Titiler 版本 ``` /cog/tiles/MarsCylindrical/{z}/{x}/{y}?url= /cog/MarsCylindrical/tilejson.json?url= /cog/info?url= /cog/preview.png?url= /cog/statistics?url= ...更多端点 ``` - 数据路径通过参数传递,更灵活 - 自动生成所有端点 - 代码量减少 70% ## 技术细节 ### 火星坐标系 - **投影**: 等距柱状投影 (Equidistant Cylindrical) - **球体半径**: 3,396,190 米 - **范围**: - X: ±10,669,442 米 (±180°) - Y: ±5,334,721 米 (±90°) - **TMS**: matrix_scale=[2, 1],zoom 0 有 2×1 个瓦片 ### 与 Cesium 集成 该 TMS 设计与 Cesium 的 GeographicTilingScheme 完全兼容,无需修改客户端代码。