openstreetmap-website/lib/quad_tile/quad_tile.h
2007-09-11 23:55:25 +00:00

25 lines
456 B
C

#include <math.h>
inline unsigned int xy2tile(unsigned int x, unsigned int y)
{
unsigned int tile = 0;
int i;
for (i = 15; i >= 0; i--)
{
tile = (tile << 1) | ((x >> i) & 1);
tile = (tile << 1) | ((y >> i) & 1);
}
return tile;
}
inline unsigned int lon2x(double lon)
{
return round((lon + 180.0) * 65535.0 / 360.0);
}
inline unsigned int lat2y(double lat)
{
return round((lat + 90.0) * 65535.0 / 180.0);
}