23 lines
727 B
C++
23 lines
727 B
C++
#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
|