voxcity.utils.GridProjectorΒΆ
- class voxcity.utils.GridProjector(geom: GridGeom)ΒΆ
Projects between lon_lat (WGS84) and uv_m (local grid metres).
The 2Γ2 affine A maps (u_cell, v_cell) β (dlon, dlat):
A = [[u_vec[0]*du_m, v_vec[0]*dv_m], [u_vec[1]*du_m, v_vec[1]*dv_m]]
where (du_m, dv_m) = adj_mesh. Aβ»ΒΉ is pre-computed for O(1) calls. Accepts both scalars and numpy arrays.
- lon_lat_to_uv_m(lon: ArrayLike, lat: ArrayLike) tuple[ArrayLike, ArrayLike]ΒΆ
lon_lat β uv_m. Accepts scalars or numpy arrays.
Returns (u_m, v_m) where u_m = metres along u_vec from grid origin, v_m = metres along v_vec from grid origin. Cell (i, j) occupies uv_m in [i*du_m, (i+1)*du_m) Γ [j*dv_m, (j+1)*dv_m).
- uv_m_to_lon_lat(u_m: ArrayLike, v_m: ArrayLike) tuple[ArrayLike, ArrayLike]ΒΆ
uv_m β lon_lat. Exact inverse of lon_lat_to_uv_m.