PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ test_geohash()

static void test_geohash ( void  )
static

Definition at line 978 of file cu_algorithm.c.

979{
980 LWPOINT *lwpoint = NULL;
981 LWLINE *lwline = NULL;
982 LWMLINE *lwmline = NULL;
983 lwvarlena_t *geohash = NULL;
984
985 lwpoint = (LWPOINT*)lwgeom_from_wkt("POINT(23.0 25.2)", LW_PARSER_CHECK_NONE);
986 geohash = lwgeom_geohash((LWGEOM*)lwpoint,0);
987 //printf("\ngeohash %s\n",geohash);
988 ASSERT_VARLENA_EQUAL(geohash, "ss2r77s0du7p2ewb8hmx");
989 lwpoint_free(lwpoint);
990 lwfree(geohash);
991
992 lwpoint = (LWPOINT*)lwgeom_from_wkt("POINT(23.0 25.2 2.0)", LW_PARSER_CHECK_NONE);
993 geohash = lwgeom_geohash((LWGEOM*)lwpoint,0);
994 //printf("geohash %s\n",geohash);
995 ASSERT_VARLENA_EQUAL(geohash, "ss2r77s0du7p2ewb8hmx");
996 lwpoint_free(lwpoint);
997 lwfree(geohash);
998
999 lwline = (LWLINE*)lwgeom_from_wkt("LINESTRING(23.0 23.0,23.1 23.1)", LW_PARSER_CHECK_NONE);
1000 geohash = lwgeom_geohash((LWGEOM*)lwline,0);
1001 //printf("geohash %s\n",geohash);
1002 ASSERT_VARLENA_EQUAL(geohash, "ss0");
1003 lwline_free(lwline);
1004 lwfree(geohash);
1005
1006 lwline = (LWLINE*)lwgeom_from_wkt("LINESTRING(23.0 23.0,23.001 23.001)", LW_PARSER_CHECK_NONE);
1007 geohash = lwgeom_geohash((LWGEOM*)lwline,0);
1008 //printf("geohash %s\n",geohash);
1009 ASSERT_VARLENA_EQUAL(geohash, "ss06g7h");
1010 lwline_free(lwline);
1011 lwfree(geohash);
1012
1013 lwmline = (LWMLINE*)lwgeom_from_wkt("MULTILINESTRING((23.0 23.0,23.1 23.1),(23.0 23.0,23.1 23.1))", LW_PARSER_CHECK_NONE);
1014 geohash = lwgeom_geohash((LWGEOM*)lwmline,0);
1015 //printf("geohash %s\n",geohash);
1016 ASSERT_VARLENA_EQUAL(geohash, "ss0");
1017 lwmline_free(lwmline);
1018 lwfree(geohash);
1019}
#define ASSERT_VARLENA_EQUAL(v, s)
lwvarlena_t * lwgeom_geohash(const LWGEOM *lwgeom, int precision)
Calculate the GeoHash (http://geohash.org) string for a geometry.
void lwpoint_free(LWPOINT *pt)
Definition lwpoint.c:213
#define LW_PARSER_CHECK_NONE
Definition liblwgeom.h:2149
void lwfree(void *mem)
Definition lwutil.c:248
void lwmline_free(LWMLINE *mline)
Definition lwmline.c:112
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)
Definition lwin_wkt.c:940
void lwline_free(LWLINE *line)
Definition lwline.c:67

References ASSERT_VARLENA_EQUAL, LW_PARSER_CHECK_NONE, lwfree(), lwgeom_from_wkt(), lwgeom_geohash(), lwline_free(), lwmline_free(), and lwpoint_free().

Referenced by algorithms_suite_setup().

Here is the call graph for this function:
Here is the caller graph for this function: