96 lines
2.4 KiB
Markdown
96 lines
2.4 KiB
Markdown
# 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=<path>`
|
||
- 格式:PNG、WebP、JPEG 等(默认 PNG)
|
||
|
||
- **TileJSON**: `/cog/MarsCylindrical/tilejson.json?url=<path>`
|
||
- 返回 TileJSON 2.2.0 元数据
|
||
|
||
- **数据信息**: `/cog/info?url=<path>`
|
||
- 返回栅格数据的详细信息(波段、范围、CRS 等)
|
||
|
||
- **预览**: `/cog/preview.png?url=<path>&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=<path>
|
||
/cog/MarsCylindrical/tilejson.json?url=<path>
|
||
/cog/info?url=<path>
|
||
/cog/preview.png?url=<path>
|
||
/cog/statistics?url=<path>
|
||
...更多端点
|
||
```
|
||
- 数据路径通过参数传递,更灵活
|
||
- 自动生成所有端点
|
||
- 代码量减少 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 完全兼容,无需修改客户端代码。
|