]> git.openstreetmap.org Git - rails.git/blob - db/functions/quadtile.c
c0eb1ec3a38fdc57e00b74714bd398a505fb8a76
[rails.git] / db / functions / quadtile.c
1 #include <my_global.h>
2 #include <my_sys.h>
3 #include <m_string.h>
4 #include <mysql.h>
5 #include <quad_tile.h>
6
7 my_bool tile_for_point_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
8 {
9    if ( args->arg_count != 2 ||
10         args->arg_type[0] != INT_RESULT ||
11         args->arg_type[1] != INT_RESULT )
12    {
13       strcpy( message, "Your tile_for_point arguments are bogus!" );
14       return 1;
15    }
16
17    return 0;
18 }
19
20 void tile_for_point_deinit(UDF_INIT *initid)
21 {
22    return;
23 }
24
25 long long tile_for_point(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
26 {
27    long long lat = *(long long *)args->args[0];
28    long long lon = *(long long *)args->args[1];
29
30    return xy2tile(lon2x(lon / 1000000.0), lat2y(lat / 1000000.0));
31 }