#include <stdlib.h>
#include <ctype.h>
#include <float.h>
#include <postgres.h>
#include <libpq-fe.h>
#include <access/gist.h>
#include <access/itup.h>
#include <access/rtree.h>
#include "geoobj.h"
Go to the source code of this file.
Defines | |
#define | TRACE(a) elog(NOTICE,a); |
#define | MAX_FMTYPE_STRING 20 |
#define | BYTEORDER 1 |
#define | P_MAXDIG DBL_DIG |
#define | P_MAXLEN (2*(DBL_DIG+7)+1) |
#define | max(a,b) ((a) > (b) ? (a) : (b)) |
#define | min(a,b) ((a) <= (b) ? (a) : (b)) |
#define | abs(a) ((a) < (0) ? (-a) : (a)) |
Functions | |
int | getFMTypeCode (char *begin, char **end, int4 *type) |
Get the geoobj type from the string. More... | |
int | getFMTypeStr (GeoObj *obj, char *type) |
Point* | GeoObjPoints (char *begin, char** end, int4 *numpoints) |
WKBGeometry* | GeoObjParser (char *begin ,char **end, int4 type, int4 *size) |
GeoObj* | newGeoObj (char *instr) |
int | makeBox (char *input, char *output) |
GeoObj* | geoobj_in (char *) |
char* | geoobj_out (GeoObj *) |
GeoObj* | envelope (GeoObj *) |
bool | g_geoobj_consistent (GISTENTRY *entry, GeoObj *query, StrategyNumber strategy) |
GISTENTRY* | g_geoobj_compress (GISTENTRY *entry) |
GISTENTRY* | g_geoobj_decompress (GISTENTRY *entry) |
float* | g_geoobj_penalty (GISTENTRY *origentry, GISTENTRY *newentry, float *result) |
GIST_SPLITVEC* | g_geoobj_picksplit (bytea *entryvec, GIST_SPLITVEC *v) |
bool | g_geoobj_leaf_consistent (GeoObj *key, GeoObj *query, StrategyNumber strategy) |
bool | g_geoobj_internal_consistent (GeoObj *key, GeoObj *query, StrategyNumber strategy) |
GeoObj* | g_geoobj_union (bytea *entryvec, int *sizep) |
GeoObj* | g_geoobj_binary_union (GeoObj *r1, GeoObj *r2, int *sizep) |
bool* | g_geoobj_same (GeoObj *b1, GeoObj *b2, bool *result) |
bool | geoobj_same (GeoObj *a, GeoObj *b) |
bool | geoobj_different (GeoObj *a, GeoObj *b) |
bool | geoobj_contains (GeoObj *a, GeoObj *b) |
bool | geoobj_contained (GeoObj *a, GeoObj *b) |
bool | geoobj_overlap (GeoObj *a, GeoObj *b) |
GeoObj* | geoobj_union (GeoObj *a, GeoObj *b) |
GeoObj* | geoobj_inter (GeoObj *a, GeoObj *b) |
float* | geoobj_size (GeoObj *a) |
void | rt_geoobj_size (GeoObj *a, float *sz) |
bool | geoobj_over_left (GeoObj *a, GeoObj *b) |
bool | geoobj_over_right (GeoObj *a, GeoObj *b) |
bool | geoobj_left (GeoObj *a, GeoObj *b) |
bool | geoobj_right (GeoObj *a, GeoObj *b) |
GeoObj* | bounds (GeoObj *obj) |
bool | geoobj_lt (GeoObj *box_a, GeoObj *box_b) |
bool | geoobj_gt (GeoObj *box_a, GeoObj *box_b) |
float* | geoobj_distance (GeoObj *a, GeoObj *b) |
|
|
|
|
|
|
|
|
|
Definition at line 52 of file geoobj.c. Referenced by GeoObjParser(), GeoObjPoints(), bounds(), envelope(), g_geoobj_binary_union(), g_geoobj_compress(), g_geoobj_consistent(), g_geoobj_decompress(), g_geoobj_internal_consistent(), g_geoobj_leaf_consistent(), g_geoobj_penalty(), g_geoobj_picksplit(), g_geoobj_same(), g_geoobj_union(), geoobj_contained(), geoobj_contains(), geoobj_different(), geoobj_distance(), geoobj_gt(), geoobj_in(), geoobj_inter(), geoobj_left(), geoobj_lt(), geoobj_out(), geoobj_over_left(), geoobj_over_right(), geoobj_overlap(), geoobj_right(), geoobj_same(), geoobj_size(), geoobj_union(), getFMTypeCode(), getFMTypeStr(), makeBox(), newGeoObj(), and rt_geoobj_size(). |
|
Definition at line 67 of file geoobj.c. Referenced by geoobj_size(), and rt_geoobj_size(). |
|
Definition at line 65 of file geoobj.c. Referenced by geoobj_inter(), and geoobj_union(). |
|
Definition at line 66 of file geoobj.c. Referenced by geoobj_inter(), and geoobj_union(). |
|
Definition at line 295 of file geoobj.c. Referenced by newGeoObj(). |
|
Definition at line 217 of file geoobj.c. Referenced by GeoObjParser(). |
|
|
|
Definition at line 673 of file geoobj.c. Referenced by g_geoobj_compress(), and geoobj_overlap(). |
|
Definition at line 1112 of file geoobj.c. Referenced by g_geoobj_union(). |
|
|
|
|
|
|
|
Definition at line 851 of file geoobj.c. Referenced by g_geoobj_consistent(). |
|
Definition at line 812 of file geoobj.c. Referenced by g_geoobj_consistent(). |
|
|
|
|
|
|
|
|
|
Definition at line 1557 of file geoobj.c. Referenced by g_geoobj_leaf_consistent(). |
|
Definition at line 1519 of file geoobj.c. Referenced by g_geoobj_internal_consistent(), g_geoobj_leaf_consistent(), and geoobj_contained(). |
|
|
|
|
|
|
|
|
|
Definition at line 1176 of file geoobj.c. Referenced by g_geoobj_picksplit(). |
|
Definition at line 1328 of file geoobj.c. Referenced by g_geoobj_leaf_consistent(), geoobj_over_left(), and geoobj_over_right(). |
|
|
|
Definition at line 546 of file geoobj.c. Referenced by g_geoobj_compress(), g_geoobj_decompress(), and geoobj_overlap(). |
|
Definition at line 1275 of file geoobj.c. Referenced by g_geoobj_internal_consistent(), and g_geoobj_leaf_consistent(). |
|
Definition at line 1301 of file geoobj.c. Referenced by g_geoobj_leaf_consistent(). |
|
Definition at line 1568 of file geoobj.c. Referenced by g_geoobj_internal_consistent(), and g_geoobj_leaf_consistent(). |
|
Definition at line 1354 of file geoobj.c. Referenced by g_geoobj_internal_consistent(), g_geoobj_leaf_consistent(), geoobj_over_left(), and geoobj_over_right(). |
|
Definition at line 1474 of file geoobj.c. Referenced by g_geoobj_leaf_consistent(), g_geoobj_same(), geoobj_different(), geoobj_gt(), and geoobj_lt(). |
|
|
|
Definition at line 1125 of file geoobj.c. Referenced by g_geoobj_binary_union(), g_geoobj_penalty(), and g_geoobj_picksplit(). |
|
Get the geoobj type from the string. getFMTypeCode: Parses the object type from the input character string "begin", placing the integer value in type. The double character pointer is set to the space following the "type" name -- suitable for passing to a later parser for the numbers. On error, the variable 'type' is set to zero. The function returns the value of 'type', so zero means failure -- which you should check! Definition at line 136 of file geoobj.c. Referenced by newGeoObj(). |
|
|
|
Definition at line 458 of file geoobj.c. Referenced by bounds(). |
|
|
|
Definition at line 1247 of file geoobj.c. Referenced by g_geoobj_penalty(), and g_geoobj_picksplit(). |