SpatiaLite  3.0.0-stable
Defines
src/headers/spatialite/gg_const.h File Reference

Geometry constants and macros. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define GAIA_TYPE_NONE   0
 WKT parser: unknown Geometry type.
#define GAIA_TYPE_POINT   1
 WKT parser: Point Geometry type.
#define GAIA_TYPE_LINESTRING   2
 WKT parser: Linestring Geometry type.
#define GAIA_TYPE_POLYGON   3
 WKT parser: Polygon Geometry type.
#define GAIA_BIG_ENDIAN   0
 Big-Endian marker.
#define GAIA_LITTLE_ENDIAN   1
 Little-Endian marker.
#define GAIA_MARK_START   0x00
 BLOB-Geometry internal marker: START.
#define GAIA_MARK_END   0xFE
 BLOB-Geometry internal marker: END.
#define GAIA_MARK_MBR   0x7C
 BLOB-Geometry internal marker: MBR.
#define GAIA_MARK_ENTITY   0x69
 BLOB-Geometry internal marker: ENTITY.
#define GAIA_UNKNOWN   0
 BLOB-Geometry CLASS: unknown.
#define GAIA_POINT   1
 BLOB-Geometry CLASS: POINT.
#define GAIA_LINESTRING   2
 BLOB-Geometry CLASS: LINESTRING.
#define GAIA_POLYGON   3
 BLOB-Geometry CLASS: POLYGON.
#define GAIA_MULTIPOINT   4
 BLOB-Geometry CLASS: MULTIPOINT.
#define GAIA_MULTILINESTRING   5
 BLOB-Geometry CLASS: MULTILINESTRING.
#define GAIA_MULTIPOLYGON   6
 BLOB-Geometry CLASS: MULTIPOLYGON.
#define GAIA_MULTIPOLYGON   6
 BLOB-Geometry CLASS: MULTIPOLYGON.
#define GAIA_GEOMETRYCOLLECTION   7
 BLOB-Geometry CLASS: GEOMETRYCOLLECTION.
#define GAIA_POINTZ   1001
 BLOB-Geometry CLASS: POINT Z.
#define GAIA_LINESTRINGZ   1002
 BLOB-Geometry CLASS: LINESTRING Z.
#define GAIA_POLYGONZ   1003
 BLOB-Geometry CLASS: POLYGON Z.
#define GAIA_MULTIPOINTZ   1004
 BLOB-Geometry CLASS: MULTIPOINT Z.
#define GAIA_MULTILINESTRINGZ   1005
 BLOB-Geometry CLASS: MULTILINESTRING Z.
#define GAIA_MULTIPOLYGONZ   1006
 BLOB-Geometry CLASS: MULTIPOLYGON Z.
#define GAIA_GEOMETRYCOLLECTIONZ   1007
 BLOB-Geometry CLASS: GEOMETRYCOLLECTION Z.
#define GAIA_POINTM   2001
 BLOB-Geometry CLASS: POINT M.
#define GAIA_LINESTRINGM   2002
 BLOB-Geometry CLASS: LINESTRING M.
#define GAIA_POLYGONM   2003
 BLOB-Geometry CLASS: POLYGON M.
#define GAIA_MULTIPOINTM   2004
 BLOB-Geometry CLASS: MULTIPOINT M.
#define GAIA_MULTILINESTRINGM   2005
 BLOB-Geometry CLASS: MULTILINESTRING M.
#define GAIA_MULTIPOLYGONM   2006
 BLOB-Geometry CLASS: MULTIPOLYGON M.
#define GAIA_GEOMETRYCOLLECTIONM   2007
 BLOB-Geometry CLASS: GEOMETRYCOLLECTION M.
#define GAIA_POINTZM   3001
 BLOB-Geometry CLASS: POINT ZM.
#define GAIA_LINESTRINGZM   3002
 BLOB-Geometry CLASS: LINESTRING ZM.
#define GAIA_POLYGONZM   3003
 BLOB-Geometry CLASS: POLYGON ZM.
#define GAIA_MULTIPOINTZM   3004
 BLOB-Geometry CLASS: MULTIPOINT ZM.
#define GAIA_MULTILINESTRINGZM   3005
 BLOB-Geometry CLASS: MULTILINESTRING ZM.
#define GAIA_MULTIPOLYGONZM   3006
 BLOB-Geometry CLASS: MULTIPOLYGON ZM.
#define GAIA_GEOMETRYCOLLECTIONZM   3007
 BLOB-Geometry CLASS: GEOMETRYCOLLECTION ZM.
#define GAIA_COMPRESSED_LINESTRING   1000002
 BLOB-Geometry CLASS: compressed LINESTRING.
#define GAIA_COMPRESSED_POLYGON   1000003
 BLOB-Geometry CLASS: compressed POLYGON.
#define GAIA_COMPRESSED_LINESTRINGZ   1001002
 BLOB-Geometry CLASS: compressed LINESTRING Z.
#define GAIA_COMPRESSED_POLYGONZ   1001003
 BLOB-Geometry CLASS: compressed POLYGON Z.
#define GAIA_COMPRESSED_LINESTRINGM   1002002
 BLOB-Geometry CLASS: compressed LINESTRING M.
#define GAIA_COMPRESSED_POLYGONM   1002003
 BLOB-Geometry CLASS: compressed POLYGON M.
#define GAIA_COMPRESSED_LINESTRINGZM   1003002
 BLOB-Geometry CLASS: compressed LINESTRING ZM.
#define GAIA_COMPRESSED_POLYGONZM   1003003
 BLOB-Geometry CLASS: compressed POLYGON ZM.
#define GAIA_GEOSWKB_POINTZ   -2147483647
 GEOS-WKB 3D CLASS: POINT Z.
#define GAIA_GEOSWKB_LINESTRINGZ   -2147483646
 GEOS-WKB 3D CLASS: LINESTRING Z.
#define GAIA_GEOSWKB_POLYGONZ   -2147483645
 GEOS-WKB 3D CLASS: POLYGON Z.
#define GAIA_GEOSWKB_MULTIPOINTZ   -2147483644
 GEOS-WKB 3D CLASS: MULTIPOINT Z.
#define GAIA_GEOSWKB_MULTILINESTRINGZ   -2147483643
 GEOS-WKB 3D CLASS: MULTILINESTRING Z.
#define GAIA_GEOSWKB_MULTIPOLYGONZ   -2147483642
 GEOS-WKB 3D CLASS: MULTIPOLYGON Z.
#define GAIA_GEOSWKB_GEOMETRYCOLLECTIONZ   -2147483641
 GEOS-WKB 3D CLASS: POINT Z.
#define GAIA_NULL_VALUE   0
 DBF data type: NULL.
#define GAIA_TEXT_VALUE   1
 DBF data type: TEXT.
#define GAIA_INT_VALUE   2
 DBF data type: INT.
#define GAIA_DOUBLE_VALUE   3
 DBF data type: DOUBLE.
#define GAIA_START_POINT   1
 Linestring/Ring functions: START POINT.
#define GAIA_END_POINT   2
 Linestring/Ring functions: END POINT.
#define GAIA_POINTN   3
 Linestring/Ring functions: POINTN.
#define GAIA_MBR_CONTAINS   1
 MBR relationships: CONTAINS.
#define GAIA_MBR_DISJOINT   2
 MBR relationships: DISJOINT.
#define GAIA_MBR_EQUAL   3
 MBR relationships: EQUAL.
#define GAIA_MBR_INTERSECTS   4
 MBR relationships: INTERSECTS.
#define GAIA_MBR_OVERLAPS   5
 MBR relationships: OVERLAP.
#define GAIA_MBR_TOUCHES   6
 MBR relationships: TOUCHES.
#define GAIA_MBR_WITHIN   7
 MBR relationships: WITHIN.
#define GAIA_FILTER_MBR_WITHIN   74
 FilerMBR relationships: WITHIN.
#define GAIA_FILTER_MBR_CONTAINS   77
 FilerMBR relationships: CONTAINS.
#define GAIA_FILTER_MBR_INTERSECTS   79
 FilerMBR relationships: INTERSECTS.
#define GAIA_FILTER_MBR_DECLARE   89
 FilerMBR relationships: DECLARE.
#define GAIA_SVG_DEFAULT_RELATIVE   0
 SVG precision: RELATIVE.
#define GAIA_SVG_DEFAULT_PRECISION   6
 SVG precision: DEFAULT.
#define GAIA_SVG_DEFAULT_MAX_PRECISION   15
 SVG precision: MAX.
#define GAIA_NET_START   0x67
 VirtualNetwork internal markers: START.
#define GAIA_NET64_START   0x68
 VirtualNetwork internal markers: 64 bit START.
#define GAIA_NET64_A_STAR_START   0x69
 VirtualNetwork internal markers: A-Stat START.
#define GAIA_NET_END   0x87
 VirtualNetwork internal markers: END.
#define GAIA_NET_HEADER   0xc0
 VirtualNetwork internal markers: HEADER.
#define GAIA_NET_CODE   0xa6
 VirtualNetwork internal markers: CODE.
#define GAIA_NET_ID   0xb5
 VirtualNetwork internal markers: ID.
#define GAIA_NET_NODE   0xde
 VirtualNetwork internal markers: NODE.
#define GAIA_NET_ARC   0x54
 VirtualNetwork internal markers: ARC.
#define GAIA_NET_TABLE   0xa0
 VirtualNetwork internal markers: TABLE.
#define GAIA_NET_FROM   0xa1
 VirtualNetwork internal markers: FROM.
#define GAIA_NET_TO   0xa2
 VirtualNetwork internal markers: TO.
#define GAIA_NET_GEOM   0xa3
 VirtualNetwork internal markers: GEOM.
#define GAIA_NET_NAME   0xa4
 VirtualNetwork internal markers: NAME.
#define GAIA_NET_A_STAR_COEFF   0xa5
 VirtualNetwork internal markers: COEFF.
#define GAIA_NET_BLOCK   0xed
 VirtualNetwork internal markers: BLOCK.
#define GAIA_XY   0x00
 Coordinate Dimensions: XY.
#define GAIA_XY_Z   0x01
 Coordinate Dimensions: XYZ.
#define GAIA_XY_M   0x02
 Coordinate Dimensions: XYM.
#define GAIA_XY_Z_M   0x03
 Coordinate Dimensions: XYZM.
#define GAIA_KM   0
 Length unit conversion: Kilometer.
#define GAIA_M   1
 Length unit conversion: Meter.
#define GAIA_DM   2
 Length unit conversion: Decimeter.
#define GAIA_CM   3
 Length unit conversion: Centimeter.
#define GAIA_MM   4
 Length unit conversion: Millimeter.
#define GAIA_KMI   5
 Length unit conversion: International Nautical Mile.
#define GAIA_IN   6
 Length unit conversion: Inch.
#define GAIA_FT   7
 Length unit conversion: Feet.
#define GAIA_YD   8
 Length unit conversion: Yard.
#define GAIA_MI   9
 Length unit conversion: Mile.
#define GAIA_FATH   10
 Length unit conversion: Fathom.
#define GAIA_CH   11
 Length unit conversion: Chain.
#define GAIA_LINK   12
 Length unit conversion: Link.
#define GAIA_US_IN   13
 Length unit conversion: US Inch.
#define GAIA_US_FT   14
 Length unit conversion: US Feet.
#define GAIA_US_YD   15
 Length unit conversion: US Yard.
#define GAIA_US_CH   16
 Length unit conversion: US Chain.
#define GAIA_US_MI   17
 Length unit conversion: US Mile.
#define GAIA_IND_YD   18
 Length unit conversion: Indian Yard.
#define GAIA_IND_FT   19
 Length unit conversion: Indian Feet.
#define GAIA_IND_CH   20
 Length unit conversion: Indian Chain.
#define GAIA_MIN_UNIT   GAIA_KM
 Length unit conversion: MIN.
#define GAIA_MAX_UNIT   GAIA_IND_CH
 Length unit conversion: MAX.
#define GAIA_SHP_NULL   0
 SHP shape: unknown.
#define GAIA_SHP_POINT   1
 SHP shape: POINT.
#define GAIA_SHP_POLYLINE   3
 SHP shape: POLYLINE.
#define GAIA_SHP_POLYGON   5
 SHP shape: POLYGON.
#define GAIA_SHP_MULTIPOINT   8
 SHP shape: MULTIPOINT.
#define GAIA_SHP_POINTZ   11
 SHP shape: POINT Z.
#define GAIA_SHP_POLYLINEZ   13
 SHP shape: POLYLINE Z.
#define GAIA_SHP_POLYGONZ   15
 SHP shape: POLYGON Z.
#define GAIA_SHP_MULTIPOINTZ   18
 SHP shape: MULTIPOINT Z.
#define GAIA_SHP_POINTM   21
 SHP shape: POINT M.
#define GAIA_SHP_POLYLINEM   23
 SHP shape: POLYLINE M.
#define GAIA_SHP_POLYGONM   25
 SHP shape: POLYGON M.
#define GAIA_SHP_MULTIPOINTM   28
 SHP shape: MULTIPOINT M.
#define gaiaGetPoint(xy, v, x, y)
 macro extracting XY coordinates
#define gaiaSetPoint(xy, v, x, y)
 macro setting XY coordinates
#define gaiaGetPointXYZ(xyz, v, x, y, z)
 macro extracting XYZ coordinates
#define gaiaSetPointXYZ(xyz, v, x, y, z)
 macro setting XYZ coordinates
#define gaiaGetPointXYM(xym, v, x, y, m)
 macro extracting XYM coordinates
#define gaiaSetPointXYM(xym, v, x, y, m)
 macro setting XYM coordinates
#define gaiaGetPointXYZM(xyzm, v, x, y, z, m)
 macro extracting XYZM coordinates
#define gaiaSetPointXYZM(xyzm, v, x, y, z, m)
 macro setting XYZM coordinates

Detailed Description

Geometry constants and macros.


Define Documentation

#define gaiaGetPoint (   xy,
  v,
  x,
 
)
Value:
{*x = xy[(v) * 2]; \
                                 *y = xy[(v) * 2 + 1];}

macro extracting XY coordinates

Parameters:
xypointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double *] X coordinate
y[double *] Y coordinate
See also:
gaiaLineGetPoint, gaiaRingGetPoint
Note:
using this macro on behalf of COORDs not of [XY] dims may cause serious problems
Examples:
demo2.c.
#define gaiaGetPointXYM (   xym,
  v,
  x,
  y,
 
)
Value:
{*x = xym[(v) * 3]; \
                                 *y = xym[(v) * 3 + 1]; \
                                 *m = xym[(v) * 3 + 2];}

macro extracting XYM coordinates

Parameters:
xympointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double *] X coordinate
y[double *] Y coordinate
m[double *] M measure
See also:
gaiaLineGetPoint, gaiaRingGetPoint
Note:
using this macro on behalf of COORDs not of [XYM] dims may cause serious problems
#define gaiaGetPointXYZ (   xyz,
  v,
  x,
  y,
 
)
Value:
{*x = xyz[(v) * 3]; \
                                 *y = xyz[(v) * 3 + 1]; \
                                 *z = xyz[(v) * 3 + 2];}

macro extracting XYZ coordinates

Parameters:
xyzpointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double *] X coordinate
y[double *] Y coordinate
z[double *] Z coordinate
See also:
gaiaLineGetPoint, gaiaRingGetPoint
Note:
using this macro on behalf of COORDs not of [XYZ] dims may cause serious problems
#define gaiaGetPointXYZM (   xyzm,
  v,
  x,
  y,
  z,
 
)
Value:
{*x = xyzm[(v) * 4]; \
                                 *y = xyzm[(v) * 4 + 1]; \
                                 *z = xyzm[(v) * 4 + 2]; \
                                 *m = xyzm[(v) * 4 + 3];}

macro extracting XYZM coordinates

Parameters:
xyzmpointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double *] X coordinate
y[double *] Y coordinate
z[double *] Z coordinate
m[double *] M measure
See also:
gaiaLineGetPoint, gaiaRingGetPoint
Note:
using this macro on behalf of COORDs not of [XYZM] dims may cause serious problems
#define gaiaSetPoint (   xy,
  v,
  x,
 
)
Value:
{xy[(v) * 2] = x; \
                                 xy[(v) * 2 + 1] = y;}

macro setting XY coordinates

Parameters:
xypointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double] X coordinate
y[double] Y coordinate
See also:
gaiaLineSetPoint, gaiaRingSetPoint
Note:
using this macro on behalf on COORDs not of [XY] dims may cause serious problems
Examples:
demo2.c.
#define gaiaSetPointXYM (   xym,
  v,
  x,
  y,
 
)
Value:
{xym[(v) * 3] = x; \
                                 xym[(v) * 3 + 1] = y; \
                                 xym[(v) * 3 + 2] = m;}

macro setting XYM coordinates

Parameters:
xympointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double] X coordinate
y[double] Y coordinate
m[double] M measure
See also:
gaiaLineSetPoint, gaiaRingSetPoint
Note:
using this macro on behalf on COORDs not of [XYM] dims may cause serious problems
#define gaiaSetPointXYZ (   xyz,
  v,
  x,
  y,
 
)
Value:
{xyz[(v) * 3] = x; \
                                 xyz[(v) * 3 + 1] = y; \
                                 xyz[(v) * 3 + 2] = z;}

macro setting XYZ coordinates

Parameters:
xyzpointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double] X coordinate
y[double] Y coordinate
z[double] Z coordinate
See also:
gaiaLineSetPoint, gaiaRingSetPoint
Note:
using this macro on behalf on COORDs not of [XYZ] dims may cause serious problems
#define gaiaSetPointXYZM (   xyzm,
  v,
  x,
  y,
  z,
 
)
Value:
{xyzm[(v) * 4] = x; \
                                 xyzm[(v) * 4 + 1] = y; \
                                 xyzm[(v) * 4 + 2] = z; \
                                 xyzm[(v) * 4 + 3] = m;}

macro setting XYZM coordinates

Parameters:
xyzmpointer [const void *] to COORD mem-array
v[int] point index [first point has index 0]
x[double] X coordinate
y[double] Y coordinate
z[double] Z coordinate
m[double] M measure
See also:
gaiaLineSetPoint, gaiaRingSetPoint
Note:
using this macro on behalf on COORDs not of [XYZM] dims may cause serious problems
 All Data Structures Files Functions Variables Typedefs Defines