Go to the documentation of this file.
54 #ifndef DOXYGEN_SHOULD_SKIP_THIS
66 #define GAIA_VECTORS_LIST_FAST 0
69 #define GAIA_VECTORS_LIST_OPTIMISTIC 1
72 #define GAIA_VECTORS_LIST_PESSIMISTIC 2
77 #define GAIA_VECTOR_UNKNOWN -1
79 #define GAIA_VECTOR_TABLE 1
81 #define GAIA_VECTOR_VIEW 2
83 #define GAIA_VECTOR_VIRTUAL 3
88 #define GAIA_VECTOR_GEOMETRY 0
90 #define GAIA_VECTOR_POINT 1
92 #define GAIA_VECTOR_LINESTRING 2
94 #define GAIA_VECTOR_POLYGON 3
96 #define GAIA_VECTOR_MULTIPOINT 4
98 #define GAIA_VECTOR_MULTILINESTRING 5
100 #define GAIA_VECTOR_MULTIPOLYGON 6
102 #define GAIA_VECTOR_GEOMETRYCOLLECTION 7
107 #define GAIA_SPATIAL_INDEX_NONE 0
109 #define GAIA_SPATIAL_INDEX_RTREE 1
111 #define GAIA_SPATIAL_INDEX_MBRCACHE 2
116 #define GAIA_TYPE_NONE 0
118 #define GAIA_TYPE_POINT 1
120 #define GAIA_TYPE_LINESTRING 2
122 #define GAIA_TYPE_POLYGON 3
126 #define GAIA_BIG_ENDIAN 0
128 #define GAIA_LITTLE_ENDIAN 1
130 #define GAIA_TINYPOINT_BIG_ENDIAN 0x80
132 #define GAIA_TINYPOINT_LITTLE_ENDIAN 0x81
136 #define GAIA_MARK_START 0x00
138 #define GAIA_MARK_END 0xFE
140 #define GAIA_MARK_MBR 0x7C
142 #define GAIA_MARK_ENTITY 0x69
146 #define GAIA_UNKNOWN 0
150 #define GAIA_LINESTRING 2
152 #define GAIA_POLYGON 3
154 #define GAIA_MULTIPOINT 4
156 #define GAIA_MULTILINESTRING 5
158 #define GAIA_MULTIPOLYGON 6
160 #define GAIA_GEOMETRYCOLLECTION 7
162 #define GAIA_POINTZ 1001
164 #define GAIA_LINESTRINGZ 1002
166 #define GAIA_POLYGONZ 1003
168 #define GAIA_MULTIPOINTZ 1004
170 #define GAIA_MULTILINESTRINGZ 1005
172 #define GAIA_MULTIPOLYGONZ 1006
174 #define GAIA_GEOMETRYCOLLECTIONZ 1007
176 #define GAIA_POINTM 2001
178 #define GAIA_LINESTRINGM 2002
180 #define GAIA_POLYGONM 2003
182 #define GAIA_MULTIPOINTM 2004
184 #define GAIA_MULTILINESTRINGM 2005
186 #define GAIA_MULTIPOLYGONM 2006
188 #define GAIA_GEOMETRYCOLLECTIONM 2007
190 #define GAIA_POINTZM 3001
192 #define GAIA_LINESTRINGZM 3002
194 #define GAIA_POLYGONZM 3003
196 #define GAIA_MULTIPOINTZM 3004
198 #define GAIA_MULTILINESTRINGZM 3005
200 #define GAIA_MULTIPOLYGONZM 3006
202 #define GAIA_GEOMETRYCOLLECTIONZM 3007
206 #define GAIA_TINYPOINT_XY 0x01
208 #define GAIA_TINYPOINT_XYZ 0x02
210 #define GAIA_TINYPOINT_XYM 0x03
212 #define GAIA_TINYPOINT_XYZM 0x04
216 #define GAIA_COMPRESSED_LINESTRING 1000002
218 #define GAIA_COMPRESSED_POLYGON 1000003
220 #define GAIA_COMPRESSED_LINESTRINGZ 1001002
222 #define GAIA_COMPRESSED_POLYGONZ 1001003
224 #define GAIA_COMPRESSED_LINESTRINGM 1002002
226 #define GAIA_COMPRESSED_POLYGONM 1002003
228 #define GAIA_COMPRESSED_LINESTRINGZM 1003002
230 #define GAIA_COMPRESSED_POLYGONZM 1003003
234 #define GAIA_GEOSWKB_POINTZ -2147483647
236 #define GAIA_GEOSWKB_LINESTRINGZ -2147483646
238 #define GAIA_GEOSWKB_POLYGONZ -2147483645
240 #define GAIA_GEOSWKB_MULTIPOINTZ -2147483644
242 #define GAIA_GEOSWKB_MULTILINESTRINGZ -2147483643
244 #define GAIA_GEOSWKB_MULTIPOLYGONZ -2147483642
246 #define GAIA_GEOSWKB_GEOMETRYCOLLECTIONZ -2147483641
250 #define GAIA_NULL_VALUE 0
252 #define GAIA_TEXT_VALUE 1
254 #define GAIA_INT_VALUE 2
256 #define GAIA_DOUBLE_VALUE 3
260 #define GAIA_START_POINT 1
262 #define GAIA_END_POINT 2
264 #define GAIA_POINTN 3
268 #define GAIA_MBR_CONTAINS 1
270 #define GAIA_MBR_DISJOINT 2
272 #define GAIA_MBR_EQUAL 3
274 #define GAIA_MBR_INTERSECTS 4
276 #define GAIA_MBR_OVERLAPS 5
278 #define GAIA_MBR_TOUCHES 6
280 #define GAIA_MBR_WITHIN 7
284 #define GAIA_FILTER_MBR_WITHIN 74
286 #define GAIA_FILTER_MBR_CONTAINS 77
288 #define GAIA_FILTER_MBR_INTERSECTS 79
290 #define GAIA_FILTER_MBR_DECLARE 89
294 #define GAIA_SVG_DEFAULT_RELATIVE 0
296 #define GAIA_SVG_DEFAULT_PRECISION 6
298 #define GAIA_SVG_DEFAULT_MAX_PRECISION 15
302 #define GAIA_NET_START 0x67
304 #define GAIA_NET64_START 0x68
306 #define GAIA_NET64_A_STAR_START 0x69
308 #define GAIA_NET_END 0x87
310 #define GAIA_NET_HEADER 0xc0
312 #define GAIA_NET_CODE 0xa6
314 #define GAIA_NET_ID 0xb5
316 #define GAIA_NET_NODE 0xde
318 #define GAIA_NET_ARC 0x54
320 #define GAIA_NET_TABLE 0xa0
322 #define GAIA_NET_FROM 0xa1
324 #define GAIA_NET_TO 0xa2
326 #define GAIA_NET_GEOM 0xa3
328 #define GAIA_NET_NAME 0xa4
330 #define GAIA_NET_A_STAR_COEFF 0xa5
332 #define GAIA_NET_BLOCK 0xed
338 #define GAIA_XY_Z 0x01
340 #define GAIA_XY_M 0x02
342 #define GAIA_XY_Z_M 0x03
372 #define GAIA_US_IN 13
374 #define GAIA_US_FT 14
376 #define GAIA_US_YD 15
378 #define GAIA_US_CH 16
380 #define GAIA_US_MI 17
382 #define GAIA_IND_YD 18
384 #define GAIA_IND_FT 19
386 #define GAIA_IND_CH 20
388 #define GAIA_MIN_UNIT GAIA_KM
390 #define GAIA_MAX_UNIT GAIA_IND_CH
394 #define GAIA_SHP_NULL 0
396 #define GAIA_SHP_POINT 1
398 #define GAIA_SHP_POLYLINE 3
400 #define GAIA_SHP_POLYGON 5
402 #define GAIA_SHP_MULTIPOINT 8
404 #define GAIA_SHP_POINTZ 11
406 #define GAIA_SHP_POLYLINEZ 13
408 #define GAIA_SHP_POLYGONZ 15
410 #define GAIA_SHP_MULTIPOINTZ 18
412 #define GAIA_SHP_POINTM 21
414 #define GAIA_SHP_POLYLINEM 23
416 #define GAIA_SHP_POLYGONM 25
418 #define GAIA_SHP_MULTIPOINTM 28
422 #define GAIA_SAME_ORDER 0
424 #define GAIA_REVERSE_ORDER -1
426 #define GAIA_CW_ORDER -2
428 #define GAIA_CCW_ORDER -3
432 #define GAIA_DBF_COLNAME_CASE_IGNORE 0
434 #define GAIA_DBF_COLNAME_LOWERCASE 1
436 #define GAIA_DBF_COLNAME_UPPERCASE 2
440 #define GAIA_PROJ_WKT_ISO_2018 1
442 #define GAIA_PROJ_WKT_ISO_2015 2
444 #define GAIA_PROJ_WKT_GDAL 3
446 #define GAIA_PROJ_WKT_ESRI 4
462 #define gaiaGetPoint(xy,v,x,y) \
464 *y = xy[(v) * 2 + 1];}
479 #define gaiaSetPoint(xy,v,x,y) \
481 xy[(v) * 2 + 1] = y;}
497 #define gaiaGetPointXYZ(xyz,v,x,y,z) \
498 {*x = xyz[(v) * 3]; \
499 *y = xyz[(v) * 3 + 1]; \
500 *z = xyz[(v) * 3 + 2];}
516 #define gaiaSetPointXYZ(xyz,v,x,y,z) \
518 xyz[(v) * 3 + 1] = y; \
519 xyz[(v) * 3 + 2] = z;}
535 #define gaiaGetPointXYM(xym,v,x,y,m) \
536 {*x = xym[(v) * 3]; \
537 *y = xym[(v) * 3 + 1]; \
538 *m = xym[(v) * 3 + 2];}
554 #define gaiaSetPointXYM(xym,v,x,y,m) \
556 xym[(v) * 3 + 1] = y; \
557 xym[(v) * 3 + 2] = m;}
574 #define gaiaGetPointXYZM(xyzm,v,x,y,z,m) \
575 {*x = xyzm[(v) * 4]; \
576 *y = xyzm[(v) * 4 + 1]; \
577 *z = xyzm[(v) * 4 + 2]; \
578 *m = xyzm[(v) * 4 + 3];}
595 #define gaiaSetPointXYZM(xyzm,v,x,y,z,m) \
596 {xyzm[(v) * 4] = x; \
597 xyzm[(v) * 4 + 1] = y; \
598 xyzm[(v) * 4 + 2] = z; \
599 xyzm[(v) * 4 + 3] = m;}