#pragma once // Web Mercator(EPSG:3857) 瓦片坐标数学:天地图/XYZ 底图瓦片定位用(纯函数,无 VTK/Qt 依赖)。 // 标准 slippy-map 公式:n=2^z;x=(lon+180)/360*n;y 用墨卡托纬度映射。 namespace geopro::render { struct TileXY { int z = 0, x = 0, y = 0; }; // 瓦片地理边界(度):west/east 经度,south/north 纬度。 struct LonLatBox { double west = 0, south = 0, east = 0, north = 0; }; // 经纬度(度) → 指定 zoom 的瓦片行列(x/y 夹紧到 [0, 2^z-1])。 TileXY lonLatToTile(double lonDeg, double latDeg, int z); // 瓦片 (z,x,y) → 其覆盖的地理边界(度)。 LonLatBox tileBounds(int z, int x, int y); } // namespace geopro::render