Crate lwgeom_sys Copy item path Source pub use self::LWORD_T as LWORD;pub use self::LWT_SPATIALTYPE_T as LWT_SPATIALTYPE;pub use self::LWT_TOPOERR_TYPE_T as LWT_TOPOERR_TYPE;AFFINE BOX3D GBOX GBOX structure.
We include the flags (information about dimensionality),
so we don’t have to constantly pass them
into functions that use the GBOX. GSERIALIZED GSERIALIZED LWBOUNDINGCIRCLE LWCIRCSTRING LWCOLLECTION LWCOMPOUND LWCURVEPOLY LWGEOM LWGEOM (any geometry type) LWLINE LWMCURVE LWMLINE LWMPOINT LWMPOLY LWMSURFACE LWPOINT LWPOINTITERATOR LWPOLY LWPROJ LWPSURFACE LWTIN LWTRIANGLE LWT_BE_CALLBACKS_T Structure containing base backend callbacks LWT_BE_DATA_T LWT_BE_IFACE_T LWT_BE_TOPOLOGY_T LWT_ISO_EDGE EDGE LWT_ISO_FACE FACE LWT_ISO_NODE NODE LWT_TOPOERR_T Topology error LWT_TOPOLOGY_T P5_FACTORS PJ_AREA PJ_AXIS_DESCRIPTION PJ_ELLPS PJ_ENU PJ_GEOD PJ_GRID_INFO PJ_INFO PJ_INIT_INFO PJ_INSERT_SESSION PJ_LIST PJ_LP PJ_LPZ PJ_LPZT PJ_OBJ_LIST PJ_OPERATION_FACTORY_CONTEXT PJ_OPK PJ_PARAM_DESCRIPTION PJ_PRIME_MERIDIANS PJ_PROJ_INFO PJ_UNITS PJ_UV PJ_UVW PJ_UVWT PJ_XY PJ_XYZ PJ_XYZT PJconsts POINT2D POINT2D, POINT3D, POINT3DM, POINT4D POINT3D POINT3DM POINT3DZ POINT4D POINTARRAY POINTARRAY
Point array abstracts a lot of the complexity of points and point lists.
It handles 2d/3d translation
(2d points converted to 3d will have z=0 or NaN)
DO NOT MIX 2D and 3D POINTS! EVERYTHING* is either one or the other PROJ_CELESTIAL_BODY_INFO PROJ_CRS_INFO PROJ_CRS_LIST_PARAMETERS PROJ_FILE_API PROJ_FILE_HANDLE PROJ_NETWORK_HANDLE PROJ_UNIT_INFO RECT_NODE_INTERNAL RECT_NODE_LEAF SPHEROID SPHEROID _G_fpos64_t _G_fpos_t _IO_FILE _IO_codecvt _IO_cookie_io_functions_t _IO_marker _IO_wide_data __IncompleteArrayField __fsid_t __mbstate_t __va_list_tag gridspec_t Snap-to-grid lwvarlena_t LWGEOM varlena equivalent type that contains both the size and
data(see Postgresql c.h) max_align_t pj_ctx rect_node rect_tree_distance_state struct_lwgeom_parser_result Parser result structure: returns the result of attempting to convert
(E)WKT/(E)WKB to LWGEOM struct_lwgeom_unparser_result BUFSIZ CG_LINE_CROSS_TYPE_LINE_CROSS_LEFT CG_LINE_CROSS_TYPE_LINE_CROSS_RIGHT CG_LINE_CROSS_TYPE_LINE_MULTICROSS_END_LEFT CG_LINE_CROSS_TYPE_LINE_MULTICROSS_END_RIGHT CG_LINE_CROSS_TYPE_LINE_MULTICROSS_END_SAME_FIRST_LEFT CG_LINE_CROSS_TYPE_LINE_MULTICROSS_END_SAME_FIRST_RIGHT CG_LINE_CROSS_TYPE_LINE_NO_CROSS CIRCSTRINGTYPE COLLECTIONTYPE COMPOUNDTYPE CURVEPOLYTYPE ENABLE_NLS EOF FILENAME_MAX FOPEN_MAX HAVE_FSEEKO HAVE_GETTEXT HAVE_ICONV HAVE_IEEEFP_H HAVE_LIBGEOS_C HAVE_LIBPROJ HAVE_LIBXML2 HAVE_LIBXML_PARSER_H HAVE_LIBXML_TREE_H HAVE_LIBXML_XPATHINTERNALS_H HAVE_LIBXML_XPATH_H HAVE_UNISTD_H INT8_MAX INT8_MIN INT16_MAX INT16_MIN INT32_MAX INT32_MIN INTPTR_MAX INTPTR_MIN INT_FAST8_MAX INT_FAST8_MIN INT_FAST16_MAX INT_FAST16_MIN INT_FAST32_MAX INT_FAST32_MIN INT_LEAST8_MAX INT_LEAST8_MIN INT_LEAST16_MAX INT_LEAST16_MIN INT_LEAST32_MAX INT_LEAST32_MIN IS_BIG_ENDIAN LIBLWGEOM_GEOS_VERSION LIBLWGEOM_TOPO_H LIBLWGEOM_VERSION LIBLWGEOM_VERSION_MAJOR LIBLWGEOM_VERSION_MINOR LINETYPE LT_OBJDIR LWFLAG_BBOX LWFLAG_GEODETIC LWFLAG_M LWFLAG_READONLY LWFLAG_SOLID LWFLAG_Z LWORD_T_LWORD_M LWORD_T_LWORD_X LWORD_T_LWORD_Y LWORD_T_LWORD_Z LWT_COL_EDGE_ALL LWT_COL_EDGE_EDGE_ID LWT_COL_EDGE_END_NODE LWT_COL_EDGE_FACE_LEFT LWT_COL_EDGE_FACE_RIGHT LWT_COL_EDGE_GEOM LWT_COL_EDGE_NEXT_LEFT LWT_COL_EDGE_NEXT_RIGHT LWT_COL_EDGE_START_NODE LWT_COL_FACE_ALL LWT_COL_FACE_FACE_ID LWT_COL_FACE_MBR LWT_COL_NODE_ALL LWT_COL_NODE_CONTAINING_FACE LWT_COL_NODE_GEOM LWT_COL_NODE_NODE_ID LWT_SPATIALTYPE_T_LWT_AREAL LWT_SPATIALTYPE_T_LWT_COLLECTION LWT_SPATIALTYPE_T_LWT_LINEAL LWT_SPATIALTYPE_T_LWT_PUNTAL LWT_TOPOERR_TYPE_T_LWT_TOPOERR_EDGE_CROSSES_EDGE LWT_TOPOERR_TYPE_T_LWT_TOPOERR_EDGE_CROSSES_NODE LWT_TOPOERR_TYPE_T_LWT_TOPOERR_EDGE_ENDNODE_MISMATCH LWT_TOPOERR_TYPE_T_LWT_TOPOERR_EDGE_INVALID LWT_TOPOERR_TYPE_T_LWT_TOPOERR_EDGE_NOT_SIMPLE LWT_TOPOERR_TYPE_T_LWT_TOPOERR_EDGE_STARTNODE_MISMATCH LWT_TOPOERR_TYPE_T_LWT_TOPOERR_FACE_HAS_NO_RINGS LWT_TOPOERR_TYPE_T_LWT_TOPOERR_FACE_OVERLAPS_FACE LWT_TOPOERR_TYPE_T_LWT_TOPOERR_FACE_WITHIN_FACE LWT_TOPOERR_TYPE_T_LWT_TOPOERR_FACE_WITHOUT_EDGES LWVARHDRSZ LW_FAILURE LW_FALSE LW_GML_EXTENT LW_GML_IS_DEGREE LW_GML_IS_DIMS LW_GML_SHORTLINE LW_LINEARIZE_FLAGS_LW_LINEARIZE_FLAG_RETAIN_ANGLE Retain angle instructs the engine to try its best
to retain the requested angle between generating
radii (where angle can be given explicitly with
LW_LINEARIZE_TOLERANCE_TYPE_MAX_ANGLE or implicitly
with LW_LINEARIZE_TOLERANCE_TYPE_SEGS_PER_QUAD or
LW_LINEARIZE_TOLERANCE_TYPE_MAX_DEVIATION). LW_LINEARIZE_FLAGS_LW_LINEARIZE_FLAG_SYMMETRIC Symmetric linearization means that the output
vertices would be the same no matter the order
of the points defining the input curve. LW_LINEARIZE_TOLERANCE_TYPE_LW_LINEARIZE_TOLERANCE_TYPE_MAX_ANGLE Tolerance expresses the maximum angle between
the radii generating approximation line vertices,
given in radiuses. A value of 1 would result
in an approximation of a semicircle composed by
180 segments LW_LINEARIZE_TOLERANCE_TYPE_LW_LINEARIZE_TOLERANCE_TYPE_MAX_DEVIATION Tolerance expresses the maximum distance between
an arbitrary point on the curve and the closest
point to it on the resulting approximation, in
cartesian units. LW_LINEARIZE_TOLERANCE_TYPE_LW_LINEARIZE_TOLERANCE_TYPE_SEGS_PER_QUAD Tolerance expresses the number of segments to use
for each quarter of circle (quadrant). Must be
an integer. LW_PARSER_CHECK_ALL LW_PARSER_CHECK_CLOSURE LW_PARSER_CHECK_MINPOINTS LW_PARSER_CHECK_NONE LW_PARSER_CHECK_ODD LW_PARSER_CHECK_ZCLOSURE LW_SUCCESS LW_TRUE LW_UNKNOWN LW_X3D_FLIP_XY LW_X3D_USE_GEOCOORDS L_ctermid L_tmpnam MULTICURVETYPE MULTILINETYPE MULTIPOINTTYPE MULTIPOLYGONTYPE MULTISURFACETYPE NUMTYPES PARSER_ERROR_INCONTINUOUS PARSER_ERROR_INVALIDGEOM PARSER_ERROR_INVALIDWKBTYPE PARSER_ERROR_LESSPOINTS PARSER_ERROR_MIXDIMS PARSER_ERROR_MOREPOINTS PARSER_ERROR_ODDPOINTS PARSER_ERROR_OTHER PARSER_ERROR_TRIANGLEPOINTS PARSER_ERROR_UNCLOSED PJ_CARTESIAN_CS_2D_TYPE_PJ_CART2D_EASTING_NORTHING PJ_CARTESIAN_CS_2D_TYPE_PJ_CART2D_NORTHING_EASTING PJ_CARTESIAN_CS_2D_TYPE_PJ_CART2D_NORTH_POLE_EASTING_SOUTH_NORTHING_SOUTH PJ_CARTESIAN_CS_2D_TYPE_PJ_CART2D_SOUTH_POLE_EASTING_NORTH_NORTHING_NORTH PJ_CARTESIAN_CS_2D_TYPE_PJ_CART2D_WESTING_SOUTHING PJ_CATEGORY_PJ_CATEGORY_COORDINATE_OPERATION PJ_CATEGORY_PJ_CATEGORY_CRS PJ_CATEGORY_PJ_CATEGORY_DATUM PJ_CATEGORY_PJ_CATEGORY_DATUM_ENSEMBLE PJ_CATEGORY_PJ_CATEGORY_ELLIPSOID PJ_CATEGORY_PJ_CATEGORY_PRIME_MERIDIAN PJ_COMPARISON_CRITERION_PJ_COMP_EQUIVALENT PJ_COMPARISON_CRITERION_PJ_COMP_EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS PJ_COMPARISON_CRITERION_PJ_COMP_STRICT PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_CARTESIAN PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_DATETIMETEMPORAL PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_ELLIPSOIDAL PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_ORDINAL PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_PARAMETRIC PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_SPHERICAL PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_TEMPORALCOUNT PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_TEMPORALMEASURE PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_UNKNOWN PJ_COORDINATE_SYSTEM_TYPE_PJ_CS_TYPE_VERTICAL PJ_DEFAULT_CTX PJ_DIRECTION_PJ_FWD PJ_DIRECTION_PJ_IDENT PJ_DIRECTION_PJ_INV PJ_ELLIPSOIDAL_CS_2D_TYPE_PJ_ELLPS2D_LATITUDE_LONGITUDE PJ_ELLIPSOIDAL_CS_2D_TYPE_PJ_ELLPS2D_LONGITUDE_LATITUDE PJ_ELLIPSOIDAL_CS_3D_TYPE_PJ_ELLPS3D_LATITUDE_LONGITUDE_HEIGHT PJ_ELLIPSOIDAL_CS_3D_TYPE_PJ_ELLPS3D_LONGITUDE_LATITUDE_HEIGHT PJ_GUESSED_WKT_DIALECT_PJ_GUESSED_NOT_WKT PJ_GUESSED_WKT_DIALECT_PJ_GUESSED_WKT1_ESRI PJ_GUESSED_WKT_DIALECT_PJ_GUESSED_WKT1_GDAL PJ_GUESSED_WKT_DIALECT_PJ_GUESSED_WKT2_2015 PJ_GUESSED_WKT_DIALECT_PJ_GUESSED_WKT2_2018 PJ_GUESSED_WKT_DIALECT_PJ_GUESSED_WKT2_2019 PJ_LOG_LEVEL_PJ_LOG_DEBUG PJ_LOG_LEVEL_PJ_LOG_DEBUG_MAJOR PJ_LOG_LEVEL_PJ_LOG_DEBUG_MINOR PJ_LOG_LEVEL_PJ_LOG_ERROR PJ_LOG_LEVEL_PJ_LOG_NONE PJ_LOG_LEVEL_PJ_LOG_TELL PJ_LOG_LEVEL_PJ_LOG_TRACE PJ_PROJ_STRING_TYPE_PJ_PROJ_4 PJ_PROJ_STRING_TYPE_PJ_PROJ_5 PJ_TYPE_PJ_TYPE_BOUND_CRS PJ_TYPE_PJ_TYPE_COMPOUND_CRS PJ_TYPE_PJ_TYPE_CONCATENATED_OPERATION PJ_TYPE_PJ_TYPE_CONVERSION PJ_TYPE_PJ_TYPE_COORDINATE_METADATA PJ_TYPE_PJ_TYPE_CRS PJ_TYPE_PJ_TYPE_DATUM_ENSEMBLE PJ_TYPE_PJ_TYPE_DERIVED_PROJECTED_CRS PJ_TYPE_PJ_TYPE_DYNAMIC_GEODETIC_REFERENCE_FRAME PJ_TYPE_PJ_TYPE_DYNAMIC_VERTICAL_REFERENCE_FRAME PJ_TYPE_PJ_TYPE_ELLIPSOID PJ_TYPE_PJ_TYPE_ENGINEERING_CRS PJ_TYPE_PJ_TYPE_ENGINEERING_DATUM PJ_TYPE_PJ_TYPE_GEOCENTRIC_CRS PJ_TYPE_PJ_TYPE_GEODETIC_CRS PJ_TYPE_PJ_TYPE_GEODETIC_REFERENCE_FRAME PJ_TYPE_PJ_TYPE_GEOGRAPHIC_2D_CRS PJ_TYPE_PJ_TYPE_GEOGRAPHIC_3D_CRS PJ_TYPE_PJ_TYPE_GEOGRAPHIC_CRS PJ_TYPE_PJ_TYPE_OTHER_COORDINATE_OPERATION PJ_TYPE_PJ_TYPE_OTHER_CRS PJ_TYPE_PJ_TYPE_PARAMETRIC_DATUM PJ_TYPE_PJ_TYPE_PRIME_MERIDIAN PJ_TYPE_PJ_TYPE_PROJECTED_CRS PJ_TYPE_PJ_TYPE_TEMPORAL_CRS PJ_TYPE_PJ_TYPE_TEMPORAL_DATUM PJ_TYPE_PJ_TYPE_TRANSFORMATION PJ_TYPE_PJ_TYPE_UNKNOWN PJ_TYPE_PJ_TYPE_VERTICAL_CRS PJ_TYPE_PJ_TYPE_VERTICAL_REFERENCE_FRAME PJ_UNIT_TYPE_PJ_UT_ANGULAR PJ_UNIT_TYPE_PJ_UT_LINEAR PJ_UNIT_TYPE_PJ_UT_PARAMETRIC PJ_UNIT_TYPE_PJ_UT_SCALE PJ_UNIT_TYPE_PJ_UT_TIME PJ_WKT_TYPE_PJ_WKT1_ESRI PJ_WKT_TYPE_PJ_WKT1_GDAL PJ_WKT_TYPE_PJ_WKT2_2015 PJ_WKT_TYPE_PJ_WKT2_2018 PJ_WKT_TYPE_PJ_WKT2_2019 PJ_WKT_TYPE_PJ_WKT2_2015_SIMPLIFIED PJ_WKT_TYPE_PJ_WKT2_2018_SIMPLIFIED PJ_WKT_TYPE_PJ_WKT2_2019_SIMPLIFIED POINTTYPE POLYGONTYPE POLYHEDRALSURFACETYPE POSTGIS_BUILD_DATE POSTGIS_CONFIG_H POSTGIS_DEBUG_LEVEL POSTGIS_GEOS_VERSION POSTGIS_LIBXML2_VERSION POSTGIS_LIB_VERSION POSTGIS_MAJOR_VERSION POSTGIS_MICRO_VERSION POSTGIS_MINOR_VERSION POSTGIS_PROJ_VERSION POSTGIS_SCRIPTS_VERSION POSTGIS_VERSION PROJ_CRS_EXTENT_USE_PJ_CRS_EXTENT_BOTH PROJ_CRS_EXTENT_USE_PJ_CRS_EXTENT_INTERSECTION PROJ_CRS_EXTENT_USE_PJ_CRS_EXTENT_NONE PROJ_CRS_EXTENT_USE_PJ_CRS_EXTENT_SMALLEST PROJ_ERR_COORD_TRANSFM PROJ_ERR_COORD_TRANSFM_GRID_AT_NODATA PROJ_ERR_COORD_TRANSFM_INVALID_COORD PROJ_ERR_COORD_TRANSFM_NO_CONVERGENCE PROJ_ERR_COORD_TRANSFM_NO_OPERATION PROJ_ERR_COORD_TRANSFM_OUTSIDE_GRID PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN PROJ_ERR_INVALID_OP PROJ_ERR_INVALID_OP_FILE_NOT_FOUND_OR_INVALID PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE PROJ_ERR_INVALID_OP_MISSING_ARG PROJ_ERR_INVALID_OP_MUTUALLY_EXCLUSIVE_ARGS PROJ_ERR_INVALID_OP_WRONG_SYNTAX PROJ_ERR_OTHER PROJ_ERR_OTHER_API_MISUSE PROJ_ERR_OTHER_NETWORK_ERROR PROJ_ERR_OTHER_NO_INVERSE_OP PROJ_GRID_AVAILABILITY_USE_PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID PROJ_GRID_AVAILABILITY_USE_PROJ_GRID_AVAILABILITY_IGNORED PROJ_GRID_AVAILABILITY_USE_PROJ_GRID_AVAILABILITY_KNOWN_AVAILABLE PROJ_GRID_AVAILABILITY_USE_PROJ_GRID_AVAILABILITY_USED_FOR_SORTING PROJ_INTERMEDIATE_CRS_USE_PROJ_INTERMEDIATE_CRS_USE_ALWAYS PROJ_INTERMEDIATE_CRS_USE_PROJ_INTERMEDIATE_CRS_USE_IF_NO_DIRECT_TRANSFORMATION PROJ_INTERMEDIATE_CRS_USE_PROJ_INTERMEDIATE_CRS_USE_NEVER PROJ_OPEN_ACCESS_PROJ_OPEN_ACCESS_CREATE PROJ_OPEN_ACCESS_PROJ_OPEN_ACCESS_READ_ONLY PROJ_OPEN_ACCESS_PROJ_OPEN_ACCESS_READ_UPDATE PROJ_SPATIAL_CRITERION_PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION PROJ_SPATIAL_CRITERION_PROJ_SPATIAL_CRITERION_STRICT_CONTAINMENT PROJ_VERSION_MAJOR PROJ_VERSION_MINOR PROJ_VERSION_PATCH PTRDIFF_MAX PTRDIFF_MIN P_tmpdir RECT_NODE_RING_TYPE_RECT_NODE_RING_EXTERIOR RECT_NODE_RING_TYPE_RECT_NODE_RING_INTERIOR RECT_NODE_RING_TYPE_RECT_NODE_RING_NONE RECT_NODE_SEG_TYPE_RECT_NODE_SEG_CIRCULAR RECT_NODE_SEG_TYPE_RECT_NODE_SEG_LINEAR RECT_NODE_SEG_TYPE_RECT_NODE_SEG_POINT RECT_NODE_SEG_TYPE_RECT_NODE_SEG_UNKNOWN RECT_NODE_SIZE RECT_NODE_TYPE_RECT_NODE_INTERNAL_TYPE RECT_NODE_TYPE_RECT_NODE_LEAF_TYPE SEEK_CUR SEEK_END SEEK_SET SIG_ATOMIC_MAX SIG_ATOMIC_MIN SIZE_MAX SRID_DEFAULT SRID_INVALID SRID_MAXIMUM SRID_UNKNOWN SRID_USER_MAXIMUM STDC_HEADERS TINTYPE TMP_MAX TRIANGLETYPE TWKB_BBOX TWKB_DEFAULT_PRECISION TWKB_ID TWKB_NO_ID TWKB_NO_TYPE TWKB_SIZE UINT8_MAX UINT16_MAX UINT32_MAX UINTPTR_MAX UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UNPARSER_ERROR_MOREPOINTS UNPARSER_ERROR_ODDPOINTS UNPARSER_ERROR_UNCLOSED WGS84_INVERSE_FLATTENING WGS84_MAJOR_AXIS WGS84_MINOR_AXIS WGS84_RADIUS WGS84_SRID WINT_MAX WINT_MIN WKBBBOXFLAG WKBMOFFSET WKBSRIDFLAG WKBZOFFSET WKB_EXTENDED WKB_HEX WKB_ISO WKB_NDR WKB_NO_NPOINTS WKB_NO_SRID WKB_SFSQL WKB_XDR WKT_EXTENDED WKT_ISO WKT_SFSQL _ASSERT_H _ATFILE_SOURCE _BITS_STDINT_INTN_H _BITS_STDINT_LEAST_H _BITS_STDINT_UINTN_H _BITS_STDIO_LIM_H _BITS_TIME64_H _BITS_TYPESIZES_H _BITS_TYPES_H _BITS_WCHAR_H _DEFAULT_SOURCE _FEATURES_H _IOFBF _IOLBF _IONBF _IO_EOF_SEEN _IO_ERR_SEEN _IO_USER_LOCK _LIBLWGEOM_H _POSIX_C_SOURCE _POSIX_SOURCE _STDC_PREDEF_H _STDINT_H _STDIO_H _SYS_CDEFS_H __FD_SETSIZE __FILE_defined __GLIBC_MINOR__ __GLIBC_USE_C2X_STRTOL __GLIBC_USE_DEPRECATED_GETS __GLIBC_USE_DEPRECATED_SCANF __GLIBC_USE_IEC_60559_BFP_EXT __GLIBC_USE_IEC_60559_BFP_EXT_C2X __GLIBC_USE_IEC_60559_EXT __GLIBC_USE_IEC_60559_FUNCS_EXT __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X __GLIBC_USE_IEC_60559_TYPES_EXT __GLIBC_USE_ISOC2X __GLIBC_USE_LIB_EXT2 __GLIBC__ __GNU_LIBRARY__ __HAVE_DISTINCT_FLOAT16 __HAVE_DISTINCT_FLOAT32 __HAVE_DISTINCT_FLOAT64 __HAVE_DISTINCT_FLOAT32X __HAVE_DISTINCT_FLOAT64X __HAVE_DISTINCT_FLOAT128 __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT16 __HAVE_FLOAT32 __HAVE_FLOAT64 __HAVE_FLOAT32X __HAVE_FLOAT64X __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 __HAVE_FLOAT128X __HAVE_FLOATN_NOT_TYPEDEF __HAVE_GENERIC_SELECTION __INO_T_MATCHES_INO64_T __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI __OFF_T_MATCHES_OFF64_T __RLIM_T_MATCHES_RLIM64_T __STATFS_MATCHES_STATFS64 __STDC_IEC_559_COMPLEX__ __STDC_IEC_559__ __STDC_IEC_60559_BFP__ __STDC_IEC_60559_COMPLEX__ __STDC_ISO_10646__ __SYSCALL_WORDSIZE __TIMESIZE __USE_ATFILE __USE_FORTIFY_LEVEL __USE_ISOC11 __USE_ISOC95 __USE_ISOC99 __USE_MISC __USE_POSIX __USE_POSIX2 __USE_POSIX199309 __USE_POSIX199506 __USE_POSIX_IMPLICITLY __USE_XOPEN2K __USE_XOPEN2K8 __WORDSIZE __WORDSIZE_TIME64_COMPAT32 ____FILE_defined _____fpos64_t_defined _____fpos_t_defined ____mbstate_t_defined __bool_true_false_are_defined __cookie_io_functions_t_defined __glibc_c99_flexarr_available __struct_FILE_defined false_ true_ pj_release ⚠ stderr ⚠ stdin ⚠ stdout ⚠ __asprintf ⚠ __assert ⚠ __assert_fail ⚠ __assert_perror_fail ⚠ __getdelim ⚠ __overflow ⚠ __uflow ⚠ asprintf ⚠ azimuth_pt_pt ⚠ box3d_from_gbox ⚠ box3d_to_gbox ⚠ box3d_transform ⚠ bytes_from_hexbytes ⚠ clamp_srid ⚠ Return a valid SRID from an arbitrary integer
Raises a notice if what comes out is different from
what went in.
Raises an error if SRID value is out of bounds. clearerr ⚠ clearerr_unlocked ⚠ ctermid ⚠ deparse_hex ⚠ Convert a char into a human readable hex digit distance2d_pt_pt ⚠ distance2d_sqr_pt_pt ⚠ distance2d_sqr_pt_seg ⚠ distance3d_pt_pt ⚠ distance3d_pt_seg ⚠ distance3d_sqr_pt_pt ⚠ dprintf ⚠ expand_box3d ⚠ fclose ⚠ fdopen ⚠ feof ⚠ feof_unlocked ⚠ ferror ⚠ ferror_unlocked ⚠ fflush ⚠ fflush_unlocked ⚠ fgetc ⚠ fgetc_unlocked ⚠ fgetpos ⚠ fgets ⚠ fileno ⚠ fileno_unlocked ⚠ flockfile ⚠ fmemopen ⚠ fopen ⚠ fopencookie ⚠ fprintf ⚠ fputc ⚠ fputc_unlocked ⚠ fputs ⚠ fread ⚠ fread_unlocked ⚠ freopen ⚠ fscanf ⚠ fscanf1 ⚠ fseek ⚠ fseeko ⚠ fsetpos ⚠ ftell ⚠ ftello ⚠ ftrylockfile ⚠ funlockfile ⚠ fwrite ⚠ fwrite_unlocked ⚠ gbox_contains_2d ⚠ Return #LW_TRUE if the first #GBOX contains the second on the 2d plane, #LW_FALSE otherwise. gbox_contains_point3d ⚠ Return true if the point is inside the gbox gbox_copy ⚠ Return a copy of the #GBOX, based on dimensionality of flags. gbox_duplicate ⚠ Copy the values of original #GBOX into duplicate. gbox_expand ⚠ Move the box minimums down and the maximums up by the distance provided. gbox_expand_xyzm ⚠ Move the box minimums down and the maximums up by the distances provided. gbox_float_round ⚠ Round given GBOX to float boundaries gbox_from_string ⚠ Warning, do not use this function, it is very particular about inputs. gbox_get_sortable_hash ⚠ Return a sortable key based on the center point of the GBOX. gbox_init ⚠ Zero out all the entries in the #GBOX. Useful for cleaning
statically allocated gboxes. gbox_init_point3d ⚠ Initialize a #GBOX using the values of the point. gbox_is_valid ⚠ Return false if any of the dimensions is NaN or infinite gbox_merge ⚠ Update the merged #GBOX to be large enough to include itself and the new box. gbox_merge_point3d ⚠ Update the #GBOX to be large enough to include itself and the new point. gbox_new ⚠ Create a new gbox with the dimensionality indicated by the flags. Caller
is responsible for freeing. gbox_overlaps ⚠ Return #LW_TRUE if the #GBOX overlaps, #LW_FALSE otherwise. gbox_overlaps_2d ⚠ Return #LW_TRUE if the #GBOX overlaps on the 2d plane, #LW_FALSE otherwise. gbox_pt_outside ⚠ Calculate a spherical point that falls outside the geocentric gbox gbox_same ⚠ Check if 2 given Gbox are the same gbox_same_2d ⚠ Check if 2 given GBOX are the same in x and y gbox_same_2d_float ⚠ Check if two given GBOX are the same in x and y, or would round to the same
GBOX in x and if serialized in GSERIALIZED gbox_serialized_size ⚠ Return the number of bytes necessary to hold a #GBOX of this dimension in
serialized form. gbox_to_string ⚠ Allocate a string representation of the #GBOX, based on dimensionality of flags. gbox_union ⚠ Update the output #GBOX to be large enough to include both inputs. gbox_within_2d ⚠ Return #LW_TRUE if the first #GBOX is within the second on the 2d plane, #LW_FALSE otherwise. geography_interpolate_points ⚠ geography_substring ⚠ geohash_point_as_int ⚠ geometry_type_from_string ⚠ Utility function to get type number from string. For example, a string ‘POINTZ’
would return type of 1 and z of 1 and m of 0. Valid getPoint2d ⚠ getPoint2d_cp ⚠ Returns a POINT2D pointer into the POINTARRAY serialized_ptlist,
suitable for reading from. This is very high performance
and declared const because you aren’t allowed to muck with the
values, only read them. getPoint2d_p ⚠ getPoint3d_cp ⚠ Returns a POINT3D pointer into the POINTARRAY serialized_ptlist,
suitable for reading from. This is very high performance
and declared const because you aren’t allowed to muck with the
values, only read them. getPoint3dm ⚠ getPoint3dm_p ⚠ getPoint3dz ⚠ getPoint3dz_p ⚠ getPoint4d ⚠ getPoint4d_cp ⚠ Returns a POINT4D pointer into the POINTARRAY serialized_ptlist,
suitable for reading from. This is very high performance
and declared const because you aren’t allowed to muck with the
values, only read them. getPoint4d_p ⚠ getPoint_internal ⚠ getc ⚠ getc_unlocked ⚠ getchar ⚠ getchar_unlocked ⚠ getdelim ⚠ getline ⚠ getw ⚠ gserialized_cmp ⚠ Return -1 if g1 is “less than” g2, 1 if g1 is “greater than”
g2 and 0 if g1 and g2 are the “same”. Equality is evaluated
with a memcmp and size check. So it is possible that two
identical objects where one lacks a bounding box could be
evaluated as non-equal initially. Greater and less than
are evaluated by calculating a sortable key from the center
point of the object bounds. gserialized_drop_gbox ⚠ Remove the bounding box from a #GSERIALIZED. Returns a freshly
allocated #GSERIALIZED every time. gserialized_fast_gbox_p ⚠ Pull a #GBOX from the header of a #GSERIALIZED, if one is available. If
it is not, return LW_FAILURE. gserialized_from_lwgeom ⚠ Allocate a new #GSERIALIZED from an #LWGEOM. For all non-point types, a bounding
box will be calculated and embedded in the serialization. The geodetic flag is used
to control the box calculation (cartesian or geocentric). If set, the size pointer
will contain the size of the final output, which is useful for setting the PgSQL
VARSIZE information. gserialized_get_float_box_p ⚠ Access to the float bounding box, if there is one.
NULL if there is not. gserialized_get_gbox_p ⚠ Pull a #GBOX from the header of a #GSERIALIZED, if one is available. If
it is not, calculate it from the geometry. If that doesn’t work (null
or empty) return LW_FAILURE. gserialized_get_lwflags ⚠ Read standard lwflags from gserialized gserialized_get_sortable_hash ⚠ Return a sortable key based on gserialized. gserialized_get_srid ⚠ Extract the SRID from the serialized form (it is packed into
three bytes so this is a handy function). gserialized_get_type ⚠ Extract the geometry type from the serialized form (it hides in
the anonymous data area, so this is a handy function). gserialized_get_version ⚠ Return the serialization version gserialized_has_bbox ⚠ Check if a #GSERIALIZED has a bounding box without deserializing first. gserialized_has_m ⚠ Check if a #GSERIALIZED has an M ordinate. gserialized_has_z ⚠ Check if a #GSERIALIZED has a Z ordinate. gserialized_hash ⚠ Returns a hash code for the srid/type/geometry information
in the GSERIALIZED. Ignores metadata like flags and optional
boxes, etc. gserialized_is_empty ⚠ Check if a #GSERIALIZED is empty without deserializing first.
Only checks if the number of elements of the parent geometry
is zero, will not catch collections of empty, eg:
GEOMETRYCOLLECTION(POINT EMPTY) gserialized_is_geodetic ⚠ Check if a #GSERIALIZED is a geography. gserialized_max_header_size ⚠ Returns the size in bytes to read from toast to get the basic
information from a geometry: GSERIALIZED struct, bbox and type gserialized_ndims ⚠ Return the number of dimensions (2, 3, 4) in a geometry gserialized_peek_first_point ⚠ Pull the first point values of a #GSERIALIZED. Only works for POINTTYPE gserialized_set_gbox ⚠ Copy a new bounding box into an existing gserialized.
If necessary a new #GSERIALIZED will be allocated. Test
that input != output before freeing input. gserialized_set_srid ⚠ Write the SRID into the serialized form (it is packed into
three bytes so this is a handy function). hexbytes_from_bytes ⚠ interpolate_point4d ⚠ lwalloc ⚠ lwboundingcircle_destroy ⚠ lwcircstring_as_lwgeom ⚠ lwcircstring_construct ⚠ lwcircstring_construct_empty ⚠ lwcircstring_free ⚠ lwcircstring_get_lwpoint ⚠ lwcircstring_is_empty ⚠ lwcircstring_release ⚠ lwcollection_add_lwgeom ⚠ lwcollection_as_lwgeom ⚠ lwcollection_concat_in_place ⚠ lwcollection_construct ⚠ lwcollection_construct_empty ⚠ lwcollection_extract ⚠ lwcollection_free ⚠ lwcollection_getsubcurve ⚠ lwcollection_getsubgeom ⚠ LWMULTIx and LWCOLLECTION functions lwcollection_is_empty ⚠ lwcollection_ngeoms ⚠ LWGEOM functions lwcollection_release ⚠ lwcollection_segmentize2d ⚠ lwcompound_add_lwgeom ⚠ Add a component, allocating extra space if necessary. The compoundcurve
takes ownership of the passed geometry. lwcompound_as_lwgeom ⚠ lwcompound_construct_empty ⚠ lwcompound_construct_from_lwline ⚠ Construct an equivalent compound curve from a linestring.
Compound curves can have linear components, so this works fine lwcompound_get_endpoint ⚠ lwcompound_get_lwpoint ⚠ lwcompound_get_startpoint ⚠ lwcompound_num_curves ⚠ lwcurve_linearize ⚠ @param geom input geometry
@param tol tolerance, semantic driven by tolerance_type
@param type see LW_LINEARIZE_TOLERANCE_TYPE
@param flags bitwise OR of operational flags, see LW_LINEARIZE_FLAGS lwcurvepoly_add_ring ⚠ Add a ring, allocating extra space if necessary. The curvepolygon takes
ownership of the passed point array. lwcurvepoly_as_lwgeom ⚠ lwcurvepoly_construct ⚠ lwcurvepoly_construct_empty ⚠ lwcurvepoly_construct_from_lwpoly ⚠ Construct an equivalent curve polygon from a polygon. Curve polygons
can have linear rings as their rings, so this works fine (in theory?) lwflags ⚠ Construct a new flags bitmask. lwfree ⚠ lwgeom_add_bbox ⚠ Compute a bbox if not already computed lwgeom_add_bbox_deep ⚠ Compute a box for geom and all sub-geometries, if not already computed lwgeom_affine ⚠ lwgeom_area ⚠ lwgeom_area_sphere ⚠ Calculate the geodetic area of a lwgeom on the sphere. The result
will be multiplied by the average radius of the supplied spheroid. lwgeom_area_spheroid ⚠ Calculate the geodetic area of a lwgeom on the spheroid. The result
will have the squared units of the spheroid axes. lwgeom_as_curve ⚠ lwgeom_as_lwcircstring ⚠ lwgeom_as_lwcollection ⚠ lwgeom_as_lwcompound ⚠ lwgeom_as_lwcurvepoly ⚠ lwgeom_as_lwline ⚠ lwgeom_as_lwmline ⚠ lwgeom_as_lwmpoint ⚠ lwgeom_as_lwmpoly ⚠ lwgeom_as_lwpoint ⚠ lwgeom_as_lwpoly ⚠ lwgeom_as_lwpsurface ⚠ lwgeom_as_lwtin ⚠ lwgeom_as_lwtriangle ⚠ lwgeom_as_multi ⚠ lwgeom_azumith_spheroid ⚠ Calculate the bearing between two points on a spheroid. lwgeom_boundary ⚠ lwgeom_buildarea ⚠ Take a geometry and return an areal geometry
(Polygon or MultiPolygon).
Actually a wrapper around GEOSpolygonize,
transforming the resulting collection into
a valid polygon Geometry. lwgeom_calculate_gbox ⚠ Calculate bounding box of a geometry, automatically taking into account
whether it is cartesian or geodetic. lwgeom_calculate_gbox_cartesian ⚠ Calculate the 2-4D bounding box of a geometry. Z/M coordinates are honored
for this calculation, though for curves they are not included in calculations
of curvature. lwgeom_calculate_gbox_geodetic ⚠ Calculate the geodetic bounding box for an LWGEOM. Z/M coordinates are
ignored for this calculation. Pass in non-null, geodetic bounding box for function
to fill out. LWGEOM must have been built from a GSERIALIZED to provide
double aligned point arrays. lwgeom_calculate_mbc ⚠ lwgeom_cancel_interrupt ⚠ Cancel any interruption request lwgeom_centroid ⚠ lwgeom_chaikin ⚠ lwgeom_check_geodetic ⚠ Check that coordinates of LWGEOM are all within the geodetic range (-180, -90, 180, 90) lwgeom_clip_by_rect ⚠ lwgeom_clip_to_ordinate_range ⚠ Given a geometry clip based on the from/to range of one of its ordinates (x, y, z, m). Use for m- and z- clipping. lwgeom_clone ⚠ @brief Clone LWGEOM object. Serialized point lists are not copied. lwgeom_clone_deep ⚠ Deep clone an LWGEOM, everything is copied lwgeom_closest_line ⚠ lwgeom_closest_line_3d ⚠ lwgeom_closest_point ⚠ lwgeom_closest_point_3d ⚠ lwgeom_cluster_kmeans ⚠ Take a list of LWGEOMs and a number of clusters and return an integer
array indicating which cluster each geometry is in. lwgeom_concavehull ⚠ Take a geometry and build the concave hull. The concave
hull is smaller than the convex hull, but still encompasses all the points
of the input. For polygon input the hull encompasses all the input
area. For line input the hull encompasses all the input lines. lwgeom_construct_empty ⚠ lwgeom_count_rings ⚠ Count the total number of rings in any #LWGEOM. Multipolygons
and other collections get counted, not the same as OGC st_numrings. lwgeom_count_vertices ⚠ Count the total number of vertices in any #LWGEOM. lwgeom_covers_lwgeom_sphere ⚠ Calculate covers predicate for two lwgeoms on the sphere. Currently
only handles point-in-polygon. lwgeom_cpa_within ⚠ Is the closest point of approach within a distance ? lwgeom_delaunay_triangulation ⚠ Take vertices of a geometry and build a delaunay
triangulation on them. lwgeom_difference ⚠ lwgeom_difference_prec ⚠ lwgeom_dimension ⚠ lwgeom_dimensionality ⚠ Return the dimensionality (relating to point/line/poly) of an lwgeom lwgeom_distance_spheroid ⚠ Calculate the geodetic distance from lwgeom1 to lwgeom2 on the spheroid.
A spheroid with major axis == minor axis will be treated as a sphere.
Pass in a tolerance in spheroid units. lwgeom_drop_bbox ⚠ Call this function to drop BBOX and SRID
from LWGEOM. If LWGEOM type is not flagged
with the HASBBOX flag and has a bbox, it
will be released. lwgeom_drop_srid ⚠ lwgeom_extent_to_gml2 ⚠ lwgeom_extent_to_gml3 ⚠ @param opts output options bitfield, see LW_GML macros for meaning lwgeom_filter_m ⚠ lwgeom_force_2d ⚠ Strip out the Z/M components of an #LWGEOM lwgeom_force_3dm ⚠ lwgeom_force_3dz ⚠ lwgeom_force_4d ⚠ lwgeom_force_clockwise ⚠ lwgeom_force_geodetic ⚠ Force coordinates of LWGEOM into geodetic range (-180, -90, 180, 90) lwgeom_force_sfs ⚠ lwgeom_free ⚠ lwgeom_from_encoded_polyline ⚠ Create an LWGEOM object from an Encoded Polyline representation lwgeom_from_geojson ⚠ Create an LWGEOM object from a GeoJSON representation lwgeom_from_gserialized ⚠ Allocate a new #LWGEOM from a #GSERIALIZED. The resulting #LWGEOM will have coordinates
that are double aligned and suitable for direct reading using getPoint2d_cp lwgeom_from_hexwkb ⚠ @param check parser check flags, see LW_PARSER_CHECK_* macros lwgeom_from_twkb ⚠ @param twkb Input twkb buffer
@param twkb_size parser check flags, see LW_PARSER_CHECK_* macros
@param check parser check flags, see LW_PARSER_CHECK_* macros lwgeom_from_wkb ⚠ @param wkb_size length of WKB byte buffer
@param wkb WKB byte buffer
@param check parser check flags, see LW_PARSER_CHECK_* macros lwgeom_from_wkt ⚠ @param wkt WKT string
@param check parser check flags, see LW_PARSER_CHECK_* macros lwgeom_furthest_line ⚠ lwgeom_furthest_line_3d ⚠ lwgeom_furthest_point ⚠ lwgeom_geohash ⚠ Calculate the GeoHash (http://geohash.org) string for a geometry. Caller must free. lwgeom_geos_compiled_version ⚠ lwgeom_geos_noop ⚠ Convert an LWGEOM to a GEOS Geometry and convert back – for debug only lwgeom_geos_version ⚠ Return GEOS version string (not to be freed) lwgeom_get_bbox ⚠ Get a non-empty geometry bounding box, computing and
caching it if not already there lwgeom_get_srid ⚠ Return SRID number lwgeom_get_type ⚠ Return LWTYPE number lwgeom_grid ⚠ lwgeom_grid_in_place ⚠ lwgeom_has_arc ⚠ Geometry includes at least one actual circular arc lwgeom_has_m ⚠ Return #LW_TRUE if geometry has M ordinates. lwgeom_has_patches ⚠ lwgeom_has_rings ⚠ Is this a type that has rings enclosing an area, but is
not a collection of areas? (triangle, polygon, curvepolygon) lwgeom_has_srid ⚠ Return true or false depending on whether a geometry has
a valid SRID set. lwgeom_has_z ⚠ Return #LW_TRUE if geometry has Z ordinates lwgeom_homogenize ⚠ lwgeom_interpolate_point ⚠ Find the measure value at the location on the line closest to the point. lwgeom_intersection ⚠ lwgeom_intersection_prec ⚠ lwgeom_is_clockwise ⚠ Ensure the outer ring is clockwise oriented and all inner rings
are counter-clockwise. lwgeom_is_closed ⚠ Return true or false depending on whether a geometry is a linear
feature that closes on itself. lwgeom_is_collection ⚠ Determine whether a LWGEOM contains sub-geometries or not
This basically just checks that the struct has geoms/ngeoms
members, like all collections. lwgeom_is_empty ⚠ Return true or false depending on whether a geometry is an “empty”
geometry (no vertices members) lwgeom_is_simple ⚠ lwgeom_is_solid ⚠ Return #LW_TRUE if geometry has SOLID flag. lwgeom_is_trajectory ⚠ Return LW_TRUE or LW_FALSE depending on whether or not a geometry is
a linestring with measure value growing from start to end vertex lwgeom_is_unitary ⚠ Determine whether a Geometry is a bag of sub-geometries.
point/linestring/polygon/circularstring/compoundcurve/curvepolygon
are all unitary, they are not just bags of other geometries. lwgeom_isfinite ⚠ Check if a LWGEOM has any non-finite (NaN or Inf) coordinates. lwgeom_length ⚠ lwgeom_length_2d ⚠ lwgeom_length_spheroid ⚠ Calculate the geodetic length of a lwgeom on the unit sphere. The result
will have to by multiplied by the real radius to get the real length. lwgeom_linemerge ⚠ lwgeom_linemerge_directed ⚠ lwgeom_locate_along ⚠ Determine the location(s) along a measured line where m occurs and
return as a multipoint. Offset to left (positive) or right (negative). lwgeom_locate_between ⚠ Determine the segments along a measured line that fall within the m-range
given. Return as a multiline or geometrycollection.
Offset to left (positive) or right (negative). lwgeom_longitude_shift ⚠ lwgeom_make_valid ⚠ Attempts to make an invalid geometries valid w/out losing points. lwgeom_make_valid_params ⚠ lwgeom_maxdistance2d ⚠ lwgeom_maxdistance2d_tolerance ⚠ lwgeom_maxdistance3d ⚠ lwgeom_maxdistance3d_tolerance ⚠ lwgeom_median ⚠ lwgeom_mindistance2d ⚠ lwgeom_mindistance2d_tolerance ⚠ lwgeom_mindistance3d ⚠ lwgeom_mindistance3d_tolerance ⚠ lwgeom_ndims ⚠ Return the number of dimensions (2, 3, 4) in a geometry lwgeom_needs_bbox ⚠ @brief Check whether or not a lwgeom is big enough to warrant a bounding box. lwgeom_node ⚠ lwgeom_normalize ⚠ lwgeom_nudge_geodetic ⚠ Gently move coordinates of LWGEOM if they are close enough into geodetic range. lwgeom_offsetcurve ⚠ lwgeom_parse_wkt ⚠ lwgeom_parser_result_free ⚠ lwgeom_parser_result_init ⚠ lwgeom_perimeter ⚠ lwgeom_perimeter_2d ⚠ lwgeom_pointonsurface ⚠ lwgeom_project_spheroid ⚠ Calculate the location of a point on a spheroid, give a start point, bearing and distance. lwgeom_project_spheroid_lwpoint ⚠ Calculate the location of a point on a spheroid, give a start point, end point and distance. lwgeom_reduceprecision ⚠ lwgeom_refresh_bbox ⚠ Drop current bbox and calculate a fresh one. lwgeom_register_interrupt_callback ⚠ lwgeom_release ⚠ lwgeom_remove_repeated_points ⚠ lwgeom_remove_repeated_points_in_place ⚠ lwgeom_request_interrupt ⚠ Request interruption of any running code lwgeom_reverse ⚠ lwgeom_reverse_in_place ⚠ READ/WRITE FUNCTIONS lwgeom_same ⚠ lwgeom_scale ⚠ lwgeom_segmentize2d ⚠ lwgeom_segmentize_sphere ⚠ Derive a new geometry with vertices added to ensure no vertex is more
than max_seg_length (in radians) from any other vertex. lwgeom_set_debuglogger ⚠ lwgeom_set_effective_area ⚠ lwgeom_set_geodetic ⚠ Set the FLAGS geodetic bit on geometry an all sub-geometries and pointlists lwgeom_set_handlers ⚠ Install custom memory management and error handling functions you want your
application to use.
@ingroup system
@todo take a structure ? lwgeom_set_srid ⚠ Set the SRID on an LWGEOM
For collections, only the parent gets an SRID, all
the children get SRID_UNKNOWN. lwgeom_sharedpaths ⚠ lwgeom_simplify ⚠ Simplification lwgeom_simplify_in_place ⚠ lwgeom_simplify_polygonal ⚠ Computes a boundary-respecting hull of a polygonal geometry,
with hull shape determined by a target parameter
specifying the fraction of the input vertices retained in the result.
Larger values produce less concave results. lwgeom_snap ⚠ Snap vertices and segments of a geometry to another using a given tolerance. lwgeom_split ⚠ lwgeom_startpoint ⚠ lwgeom_stroke ⚠ Convert type with arcs into equivalent linearized type lwgeom_subdivide ⚠ lwgeom_subdivide_prec ⚠ lwgeom_summary ⚠ lwgeom_swap_ordinates ⚠ Swap ordinate values in every vertex of the geometry. lwgeom_symdifference ⚠ lwgeom_symdifference_prec ⚠ lwgeom_tcpa ⚠ Find the time of closest point of approach lwgeom_to_encoded_polyline ⚠ lwgeom_to_ewkt ⚠ @param lwgeom geometry to convert to EWKT lwgeom_to_geojson ⚠ lwgeom_to_gml2 ⚠ lwgeom_to_gml3 ⚠ lwgeom_to_hexwkb_buffer ⚠ @param geom geometry to convert to HEXWKB
@param variant output format to use
(WKB_ISO, WKB_SFSQL, WKB_EXTENDED, WKB_NDR, WKB_XDR)
@param size_out (Out parameter) size of the buffer lwgeom_to_hexwkb_varlena ⚠ lwgeom_to_kml2 ⚠ lwgeom_to_points ⚠ lwgeom_to_svg ⚠ lwgeom_to_twkb ⚠ @param geom input geometry
@param variant what variations on TWKB are requested?
@param twkb_size returns the length of the output TWKB in bytes if set lwgeom_to_twkb_with_idlist ⚠ lwgeom_to_wkb_buffer ⚠ @param geom geometry to convert to WKB
@param variant output format to use
(WKB_ISO, WKB_SFSQL, WKB_EXTENDED, WKB_NDR, WKB_XDR) lwgeom_to_wkb_varlena ⚠ lwgeom_to_wkt ⚠ @param geom geometry to convert to WKT
@param variant output format to use (WKT_ISO, WKT_SFSQL, WKT_EXTENDED)
@param precision Double precision
@param size_out (Out parameter) size of the buffer lwgeom_to_wkt_varlena ⚠ @param geom geometry to convert to WKT
@param variant output format to use (WKT_ISO, WKT_SFSQL, WKT_EXTENDED)
@param precision Double precision lwgeom_to_x3d3 ⚠ lwgeom_transform ⚠ Transform (reproject) a geometry in-place.
@param geom the geometry to transform
@param pj the transformation lwgeom_transform_from_str ⚠ PROJ4-dependent extra functions on LWGEOM lwgeom_transform_pipeline ⚠ Transform (reproject) a geometry in-place using a PROJ pipeline.
@param geom the geometry to transform
@param pipeline the coordinate operation pipeline string. Either:
- urn:ogc:def:coordinateOperation:AUTHORITY::CODE
- a PROJ pipeline string: +proj=pipeline ...
- concatenated operations: urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618
@param is_forward whether to execute the pipeline in a forward or inverse
direction. lwgeom_triangulate_polygon ⚠ Take vertices of a polygon and build a constrained triangulation
that respects the boundary of the polygon. lwgeom_trim_bits_in_place ⚠ Trim the bits of an LWGEOM in place, to optimize it for compression.
Sets all bits to zero that are not required to maintain a specified
number of digits after the decimal point. Negative precision values
indicate digits before the decimal point do not need to be preserved. lwgeom_type_arc ⚠ Geometry type is one of the potentially “arc containing”
types (circstring, multicurve, etc) but does not necessarily
contain an actual arc. lwgeom_unaryunion ⚠ lwgeom_unaryunion_prec ⚠ lwgeom_union ⚠ lwgeom_union_prec ⚠ lwgeom_unstroke ⚠ Convert linearized type into arc type, de-linearizing the
strokes where possible. lwgeom_version ⚠ Return lwgeom version string (not to be freed) lwgeom_voronoi_diagram ⚠ Take vertices of a geometry and build the Voronoi diagram lwgeom_wrapx ⚠ @brief wrap geometry on given cut x value lwline_add_lwpoint ⚠ Add a LWPOINT to an LWLINE lwline_addpoint ⚠ lwline_as_lwgeom ⚠ lwline_construct ⚠ lwline_construct_empty ⚠ lwline_crossing_direction ⚠ Given two lines, characterize how (and if) they cross each other lwline_extend ⚠ Extend the ends of a line lwline_free ⚠ lwline_from_lwgeom_array ⚠ lwline_from_lwmpoint ⚠ lwline_from_ptarray ⚠ lwline_get_lwpoint ⚠ lwline_interpolate_point_3d ⚠ Interpolate one point along a line in 3D lwline_interpolate_points ⚠ Interpolate one or more points along a line lwline_is_empty ⚠ lwline_is_trajectory ⚠ lwline_measured_from_lwline ⚠ Add a measure dimension to a line, interpolating linearly from the start
to the end value. lwline_release ⚠ lwline_removepoint ⚠ lwline_segmentize2d ⚠ lwline_setPoint4d ⚠ lwmessage_truncate ⚠ lwmline_add_lwline ⚠ lwmline_as_lwgeom ⚠ lwmline_construct_empty ⚠ lwmline_free ⚠ lwmline_measured_from_lwmline ⚠ lwmline_release ⚠ lwmpoint_add_lwpoint ⚠ lwmpoint_as_lwgeom ⚠ lwmpoint_construct ⚠ lwmpoint_construct_empty ⚠ lwmpoint_free ⚠ lwmpoint_from_lwgeom ⚠ lwmpoint_median ⚠ lwmpoint_release ⚠ lwmpoly_add_lwpoly ⚠ lwmpoly_as_lwgeom ⚠ lwmpoly_construct_empty ⚠ lwmpoly_free ⚠ lwmpoly_release ⚠ lwmpoly_to_points ⚠ lwpoint_as_lwgeom ⚠ lwpoint_construct ⚠ lwpoint_construct_empty ⚠ lwpoint_free ⚠ lwpoint_getPoint2d_p ⚠ lwpoint_getPoint3dm_p ⚠ lwpoint_getPoint3dz_p ⚠ lwpoint_getPoint4d_p ⚠ lwpoint_get_m ⚠ lwpoint_get_x ⚠ lwpoint_get_y ⚠ lwpoint_get_z ⚠ lwpoint_inside_circle ⚠ lwpoint_is_empty ⚠ lwpoint_make ⚠ lwpoint_make2d ⚠ lwpoint_make3dm ⚠ lwpoint_make3dz ⚠ lwpoint_make4d ⚠ lwpoint_project ⚠ lwpoint_project_lwpoint ⚠ lwpoint_release ⚠ lwpoint_to_latlon ⚠ lwpointiterator_create ⚠ Create a new LWPOINTITERATOR over supplied LWGEOM* lwpointiterator_create_rw ⚠ Create a new LWPOINTITERATOR over supplied LWGEOM*
Supports modification of coordinates during iteration. lwpointiterator_destroy ⚠ Free all memory associated with the iterator lwpointiterator_has_next ⚠ Returns LW_TRUE if there is another point available in the iterator. lwpointiterator_modify_next ⚠ Attempts to replace the next point int the iterator with p, and advances
the iterator to the next point.
Returns LW_SUCCESS if the assignment was successful, LW_FAILURE otherwise. lwpointiterator_next ⚠ Attempts to assign the next point in the iterator to p, and advances
the iterator to the next point. If p is NULL, the iterator will be
advanced without reading a point.
Returns LW_SUCCESS if the assignment was successful, LW_FAILURE otherwise. lwpointiterator_peek ⚠ Attempts to assigns the next point in the iterator to p. Does not advance.
Returns LW_SUCCESS if the assignment was successful, LW_FAILURE otherwise. lwpoly_add_ring ⚠ Add a ring, allocating extra space if necessary. The polygon takes
ownership of the passed point array. lwpoly_as_lwgeom ⚠ lwpoly_construct ⚠ lwpoly_construct_circle ⚠ lwpoly_construct_empty ⚠ lwpoly_construct_envelope ⚠ lwpoly_construct_rectangle ⚠ lwpoly_free ⚠ lwpoly_from_lwlines ⚠ lwpoly_is_empty ⚠ lwpoly_release ⚠ lwpoly_segmentize2d ⚠ lwpoly_to_points ⚠ lwproj_from_str ⚠ Allocate a new LWPROJ containing the reference to the PROJ’s PJ
If extra_geography_data is true, it will generate the following values for
the source srs: is_latlong (geometric or not) and spheroid values lwproj_from_str_pipeline ⚠ Allocate a new LWPROJ containing the reference to the PROJ’s PJ using a
PROJ pipeline definition:
@param str_pipeline the coordinate operation pipeline string. Either:
- urn:ogc:def:coordinateOperation:AUTHORITY::CODE
- a PROJ pipeline: +proj=pipeline ...
- concatenated operations: urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618
- any other coordinate operation accepted via proj_create()
@param is_foward whether to execute the the pipeline in a forward or inverse
direction. lwpsurface_add_lwpoly ⚠ lwpsurface_as_lwgeom ⚠ lwpsurface_free ⚠ lwpsurface_release ⚠ lwrealloc ⚠ lwsize_get lwt_AddEdgeModFace ⚠ Add a new edge possibly splitting a face (modifying it) lwt_AddEdgeNewFaces ⚠ Add a new edge possibly splitting a face (replacing with two new faces) lwt_AddIsoEdge ⚠ Add an isolated edge connecting two existing isolated nodes lwt_AddIsoNode ⚠ Add an isolated node lwt_AddLine ⚠ Adds a linestring to the topology lwt_AddLineNoFace ⚠ Adds a linestring to the topology without determining generated faces lwt_AddPoint ⚠ Adds a point to the topology lwt_AddPolygon ⚠ Adds a polygon to the topology lwt_BackendIfaceRegisterCallbacks ⚠ Register backend callbacks into the opaque iface handler lwt_ChangeEdgeGeom ⚠ Changes the shape of an edge without affecting the topology structure. lwt_CreateBackendIface ⚠ Create a new backend interface lwt_CreateTopoGeo ⚠ Populate an empty topology with data from a simple geometry lwt_CreateTopology ⚠ Initializes a new topology lwt_DropTopology ⚠ Drop a topology and all its associated objects from the database lwt_FreeBackendIface ⚠ Release memory associated with an LWT_BE_IFACE lwt_FreeTopology ⚠ Release memory associated with an LWT_TOPOLOGY lwt_GetEdgeByPoint ⚠ Find the edge-id of an edge that intersects a given point lwt_GetFaceByPoint ⚠ Find the face-id of a face containing a given point lwt_GetFaceContainingPoint ⚠ Find the face-id of the face properly containing a given point lwt_GetFaceEdges ⚠ Return the list of directed edges bounding a face lwt_GetFaceGeometry ⚠ Return the geometry of a face lwt_GetNodeByPoint ⚠ Retrieve the id of a node at a point location lwt_LoadGeometry ⚠ Load a geometry into the topology lwt_LoadTopology ⚠ Loads an existing topology by name from the database lwt_ModEdgeHeal ⚠ Merge two edges, modifying the first and deleting the second lwt_ModEdgeSplit ⚠ Split an edge by a node, modifying the original edge and adding a new one. lwt_MoveIsoNode ⚠ Move an isolated node lwt_NewEdgeHeal ⚠ Merge two edges, replacing both with a new one lwt_NewEdgesSplit ⚠ Split an edge by a node, replacing it with two new edges lwt_Polygonize ⚠ lwt_RemEdgeModFace ⚠ Remove an edge, possibly merging two faces (replacing one with the other) lwt_RemEdgeNewFace ⚠ Remove an edge, possibly merging two faces (replacing both with a new one) lwt_RemIsoEdge ⚠ Remove an isolated edge lwt_RemoveIsoNode ⚠ Remove an isolated node lwt_iso_node_release ⚠ lwtin_add_lwtriangle ⚠ lwtin_as_lwgeom ⚠ lwtin_free ⚠ lwtin_release ⚠ lwtriangle_as_lwgeom ⚠ lwtriangle_construct ⚠ lwtriangle_construct_empty ⚠ lwtriangle_free ⚠ lwtriangle_from_lwline ⚠ lwtriangle_is_empty ⚠ lwtriangle_release ⚠ lwtype_get_collectiontype ⚠ Given an lwtype number, what homogeneous collection can hold it? lwtype_is_collection ⚠ Determine whether a type number is a collection or not lwtype_is_unitary ⚠ lwtype_multitype ⚠ lwtype_name ⚠ Return the type name string associated with a type number
(e.g. Point, LineString, Polygon) next_float_down ⚠ next_float_up ⚠ open_memstream ⚠ parse_hex ⚠ Convert a single hex digit into the corresponding char pclose ⚠ perror ⚠ popen ⚠ printBOX3D ⚠ Utility printLWLINE ⚠ printLWPOINT ⚠ printLWPOLY ⚠ printLWPSURFACE ⚠ printLWTIN ⚠ printLWTRIANGLE ⚠ printPA ⚠ printf ⚠ proj_alter_id ⚠ proj_alter_name ⚠ proj_angular_input ⚠ proj_angular_output ⚠ proj_area_create ⚠ proj_area_destroy ⚠ proj_area_set_bbox ⚠ proj_area_set_name ⚠ proj_as_proj_string ⚠ proj_as_projjson ⚠ proj_as_wkt ⚠ proj_assign_context ⚠ proj_celestial_body_list_destroy ⚠ proj_cleanup ⚠ proj_clone ⚠ proj_concatoperation_get_step ⚠ proj_concatoperation_get_step_count ⚠ proj_context_clone ⚠ proj_context_create ⚠ proj_context_destroy ⚠ proj_context_errno ⚠ proj_context_errno_string ⚠ proj_context_get_database_metadata ⚠ proj_context_get_database_path ⚠ proj_context_get_database_structure ⚠ proj_context_get_url_endpoint ⚠ proj_context_get_use_proj4_init_rules ⚠ proj_context_get_user_writable_directory ⚠ proj_context_guess_wkt_dialect ⚠ proj_context_is_network_enabled ⚠ proj_context_set_autoclose_database ⚠ proj_context_set_ca_bundle_path ⚠ proj_context_set_database_path ⚠ proj_context_set_enable_network ⚠ proj_context_set_file_finder ⚠ proj_context_set_fileapi ⚠ proj_context_set_network_callbacks ⚠ proj_context_set_search_paths ⚠ proj_context_set_sqlite3_vfs_name ⚠ proj_context_set_url_endpoint ⚠ proj_context_use_proj4_init_rules ⚠ proj_convert_conversion_to_other_method ⚠ proj_coord ⚠ proj_coordinate_metadata_create ⚠ proj_coordinate_metadata_get_epoch ⚠ proj_coordoperation_create_inverse ⚠ proj_coordoperation_get_accuracy ⚠ proj_coordoperation_get_grid_used ⚠ proj_coordoperation_get_grid_used_count ⚠ proj_coordoperation_get_method_info ⚠ proj_coordoperation_get_param ⚠ proj_coordoperation_get_param_count ⚠ proj_coordoperation_get_param_index ⚠ proj_coordoperation_get_towgs84_values ⚠ proj_coordoperation_has_ballpark_transformation ⚠ proj_coordoperation_is_instantiable ⚠ proj_create ⚠ proj_create_argv ⚠ proj_create_cartesian_2D_cs ⚠ proj_create_compound_crs ⚠ proj_create_conversion ⚠ proj_create_conversion_albers_equal_area ⚠ proj_create_conversion_american_polyconic ⚠ proj_create_conversion_azimuthal_equidistant ⚠ proj_create_conversion_bonne ⚠ proj_create_conversion_cassini_soldner ⚠ proj_create_conversion_eckert_i ⚠ proj_create_conversion_eckert_ii ⚠ proj_create_conversion_eckert_iii ⚠ proj_create_conversion_eckert_iv ⚠ proj_create_conversion_eckert_v ⚠ proj_create_conversion_eckert_vi ⚠ proj_create_conversion_equal_earth ⚠ proj_create_conversion_equidistant_conic ⚠ proj_create_conversion_equidistant_cylindrical ⚠ proj_create_conversion_equidistant_cylindrical_spherical ⚠ proj_create_conversion_gall ⚠ proj_create_conversion_gauss_schreiber_transverse_mercator ⚠ proj_create_conversion_geostationary_satellite_sweep_x ⚠ proj_create_conversion_geostationary_satellite_sweep_y ⚠ proj_create_conversion_gnomonic ⚠ proj_create_conversion_goode_homolosine ⚠ proj_create_conversion_guam_projection ⚠ proj_create_conversion_hotine_oblique_mercator_two_point_natural_origin ⚠ proj_create_conversion_hotine_oblique_mercator_variant_a ⚠ proj_create_conversion_hotine_oblique_mercator_variant_b ⚠ proj_create_conversion_international_map_world_polyconic ⚠ proj_create_conversion_interrupted_goode_homolosine ⚠ proj_create_conversion_krovak ⚠ proj_create_conversion_krovak_north_oriented ⚠ proj_create_conversion_laborde_oblique_mercator ⚠ proj_create_conversion_lambert_azimuthal_equal_area ⚠ proj_create_conversion_lambert_conic_conformal_1sp ⚠ proj_create_conversion_lambert_conic_conformal_1sp_variant_b ⚠ proj_create_conversion_lambert_conic_conformal_2sp ⚠ proj_create_conversion_lambert_conic_conformal_2sp_belgium ⚠ proj_create_conversion_lambert_conic_conformal_2sp_michigan ⚠ proj_create_conversion_lambert_cylindrical_equal_area ⚠ proj_create_conversion_lambert_cylindrical_equal_area_spherical ⚠ proj_create_conversion_mercator_variant_a ⚠ proj_create_conversion_mercator_variant_b ⚠ proj_create_conversion_miller_cylindrical ⚠ proj_create_conversion_mollweide ⚠ proj_create_conversion_new_zealand_mapping_grid ⚠ proj_create_conversion_oblique_stereographic ⚠ proj_create_conversion_orthographic ⚠ proj_create_conversion_polar_stereographic_variant_a ⚠ proj_create_conversion_polar_stereographic_variant_b ⚠ proj_create_conversion_pole_rotation_grib_convention ⚠ proj_create_conversion_pole_rotation_netcdf_cf_convention ⚠ proj_create_conversion_popular_visualisation_pseudo_mercator ⚠ proj_create_conversion_quadrilateralized_spherical_cube ⚠ proj_create_conversion_robinson ⚠ proj_create_conversion_sinusoidal ⚠ proj_create_conversion_spherical_cross_track_height ⚠ proj_create_conversion_stereographic ⚠ proj_create_conversion_transverse_mercator ⚠ proj_create_conversion_transverse_mercator_south_oriented ⚠ proj_create_conversion_tunisia_mapping_grid ⚠ proj_create_conversion_tunisia_mining_grid ⚠ proj_create_conversion_two_point_equidistant ⚠ proj_create_conversion_utm ⚠ proj_create_conversion_van_der_grinten ⚠ proj_create_conversion_vertical_perspective ⚠ proj_create_conversion_wagner_i ⚠ proj_create_conversion_wagner_ii ⚠ proj_create_conversion_wagner_iii ⚠ proj_create_conversion_wagner_iv ⚠ proj_create_conversion_wagner_v ⚠ proj_create_conversion_wagner_vi ⚠ proj_create_conversion_wagner_vii ⚠ proj_create_crs_to_crs ⚠ proj_create_crs_to_crs_from_pj ⚠ proj_create_cs ⚠ proj_create_derived_geographic_crs ⚠ proj_create_ellipsoidal_2D_cs ⚠ proj_create_ellipsoidal_3D_cs ⚠ proj_create_engineering_crs ⚠ proj_create_from_database ⚠ proj_create_from_name ⚠ proj_create_from_wkt ⚠ proj_create_geocentric_crs ⚠ proj_create_geocentric_crs_from_datum ⚠ proj_create_geographic_crs ⚠ proj_create_geographic_crs_from_datum ⚠ proj_create_operation_factory_context ⚠ proj_create_operations ⚠ proj_create_projected_crs ⚠ proj_create_transformation ⚠ proj_create_vertical_crs ⚠ proj_create_vertical_crs_ex ⚠ proj_crs_alter_cs_angular_unit ⚠ proj_crs_alter_cs_linear_unit ⚠ proj_crs_alter_geodetic_crs ⚠ proj_crs_alter_parameters_linear_unit ⚠ proj_crs_create_bound_crs ⚠ proj_crs_create_bound_crs_to_WGS84 ⚠ proj_crs_create_bound_vertical_crs ⚠ proj_crs_create_projected_3D_crs_from_2D ⚠ proj_crs_demote_to_2D ⚠ proj_crs_get_coordinate_system ⚠ proj_crs_get_coordoperation ⚠ proj_crs_get_datum ⚠ proj_crs_get_datum_ensemble ⚠ proj_crs_get_datum_forced ⚠ proj_crs_get_geodetic_crs ⚠ proj_crs_get_horizontal_datum ⚠ proj_crs_get_sub_crs ⚠ proj_crs_has_point_motion_operation ⚠ proj_crs_info_list_destroy ⚠ proj_crs_is_derived ⚠ proj_crs_promote_to_3D ⚠ proj_cs_get_axis_count ⚠ proj_cs_get_axis_info ⚠ proj_cs_get_type ⚠ proj_datum_ensemble_get_accuracy ⚠ proj_datum_ensemble_get_member ⚠ proj_datum_ensemble_get_member_count ⚠ proj_degree_input ⚠ proj_degree_output ⚠ proj_destroy ⚠ proj_dmstor ⚠ proj_download_file ⚠ proj_dynamic_datum_get_frame_reference_epoch ⚠ proj_ellipsoid_get_parameters ⚠ proj_errno ⚠ proj_errno_reset ⚠ proj_errno_restore ⚠ proj_errno_set ⚠ proj_errno_string ⚠ proj_factors ⚠ proj_geod ⚠ proj_get_area_of_use ⚠ proj_get_area_of_use_ex ⚠ proj_get_authorities_from_database ⚠ proj_get_celestial_body_list_from_database ⚠ proj_get_celestial_body_name ⚠ proj_get_codes_from_database ⚠ proj_get_crs_info_list_from_database ⚠ proj_get_crs_list_parameters_create ⚠ proj_get_crs_list_parameters_destroy ⚠ proj_get_domain_count ⚠ proj_get_ellipsoid ⚠ proj_get_geoid_models_from_database ⚠ proj_get_id_auth_name ⚠ proj_get_id_code ⚠ proj_get_insert_statements ⚠ proj_get_name ⚠ proj_get_non_deprecated ⚠ proj_get_prime_meridian ⚠ proj_get_remarks ⚠ proj_get_scope ⚠ proj_get_scope_ex ⚠ proj_get_source_crs ⚠ proj_get_suggested_operation ⚠ proj_get_target_crs ⚠ proj_get_type ⚠ proj_get_units_from_database ⚠ proj_grid_cache_clear ⚠ proj_grid_cache_set_enable ⚠ proj_grid_cache_set_filename ⚠ proj_grid_cache_set_max_size ⚠ proj_grid_cache_set_ttl ⚠ proj_grid_get_info_from_database ⚠ proj_grid_info ⚠ proj_identify ⚠ proj_info ⚠ proj_init_info ⚠ proj_insert_object_session_create ⚠ proj_insert_object_session_destroy ⚠ proj_int_list_destroy ⚠ proj_is_crs ⚠ proj_is_deprecated ⚠ proj_is_derived_crs ⚠ proj_is_download_needed ⚠ proj_is_equivalent_to ⚠ proj_is_equivalent_to_with_ctx ⚠ proj_list_angular_units ⚠ proj_list_destroy ⚠ proj_list_ellps ⚠ proj_list_get ⚠ proj_list_get_count ⚠ proj_list_operations ⚠ proj_list_prime_meridians ⚠ proj_list_units ⚠ proj_log_func ⚠ proj_log_level ⚠ proj_lp_dist ⚠ proj_lpz_dist ⚠ proj_normalize_for_visualization ⚠ proj_operation_factory_context_destroy ⚠ proj_operation_factory_context_set_allow_ballpark_transformations ⚠ proj_operation_factory_context_set_allow_use_intermediate_crs ⚠ proj_operation_factory_context_set_allowed_intermediate_crs ⚠ proj_operation_factory_context_set_area_of_interest ⚠ proj_operation_factory_context_set_area_of_interest_name ⚠ proj_operation_factory_context_set_crs_extent_use ⚠ proj_operation_factory_context_set_desired_accuracy ⚠ proj_operation_factory_context_set_discard_superseded ⚠ proj_operation_factory_context_set_grid_availability_use ⚠ proj_operation_factory_context_set_spatial_criterion ⚠ proj_operation_factory_context_set_use_proj_alternative_grid_names ⚠ proj_pj_info ⚠ proj_prime_meridian_get_parameters ⚠ proj_query_geodetic_crs_from_datum ⚠ proj_roundtrip ⚠ proj_rtodms ⚠ proj_rtodms2 ⚠ proj_string_destroy ⚠ proj_string_list_destroy ⚠ proj_suggests_code_for ⚠ proj_todeg ⚠ proj_torad ⚠ proj_trans ⚠ proj_trans_array ⚠ proj_trans_bounds ⚠ proj_trans_generic ⚠ proj_trans_get_last_used_operation ⚠ proj_unit_list_destroy ⚠ proj_uom_get_info_from_database ⚠ proj_xy_dist ⚠ proj_xyz_dist ⚠ pt_in_ring_2d ⚠ ptarray_addPoint ⚠ @brief Add a point in a pointarray. ptarray_append_point ⚠ Append a point to the end of an existing #POINTARRAY
If allow_duplicate is LW_FALSE, then a duplicate point will
not be added. ptarray_append_ptarray ⚠ Append a #POINTARRAY, pa2 to the end of an existing #POINTARRAY, pa1. ptarray_calculate_gbox_cartesian ⚠ Calculate box (x/y) and add values to gbox. Return #LW_SUCCESS on success. ptarray_calculate_gbox_geodetic ⚠ Calculate geodetic (x/y/z) box and add values to gbox. Return #LW_SUCCESS on success. ptarray_clone_deep ⚠ ptarray_closest_segment_2d ⚠ @param pa the subject pointarray
@param qp the query point
@param dist optional output for actual distance from segment
@return 0-based segment index for the closest segment
(earliest segment in case of same distance) ptarray_closest_vertex_2d ⚠ @param pa the subject pointarray
@param qp the query point
@param dist optional output for actual distance from vertex ptarray_construct ⚠ Construct an empty pointarray, allocating storage and setting
the npoints, but not filling in any information. Should be used in conjunction
with ptarray_set_point4d to fill in the information in the array. ptarray_construct_copy_data ⚠ Construct a new #POINTARRAY, copying in the data from ptlist ptarray_construct_empty ⚠ Create a new #POINTARRAY with no points. Allocate enough storage
to hold maxpoints vertices before having to reallocate the storage
area. ptarray_construct_reference_data ⚠ Construct a new #POINTARRAY, referencing to the data from ptlist ptarray_flip_coordinates ⚠ ptarray_free ⚠ MEMORY MANAGEMENT ptarray_insert_point ⚠ Insert a point into an existing #POINTARRAY. Zero
is the index of the start of the array. ptarray_is_closed ⚠ ptarray_is_closed_2d ⚠ ptarray_is_closed_3d ⚠ ptarray_is_closed_z ⚠ ptarray_length_2d ⚠ ptarray_locate_point ⚠ ptarray_locate_point_spheroid ⚠ ptarray_merge ⚠ @brief Merge two given POINTARRAY and returns a pointer
on the new aggregate one.
Warning: this function free the two inputs POINTARRAY
@return #POINTARRAY is newly allocated ptarray_point_size ⚠ ptarray_removePoint ⚠ @brief Remove a point from a pointarray.
@param where - is the offset (starting at 0)
@return #POINTARRAY is newly allocated ptarray_remove_point ⚠ Remove a point from an existing #POINTARRAY. Zero
is the index of the start of the array. ptarray_segmentize2d ⚠ ptarray_set_point4d ⚠ ptarray_substring ⚠ @d1 start location (distance from start / total distance)
@d2 end location (distance from start / total distance)
@param tolerance snap to vertices at locations < tolerance away from given ones ptarray_transform ⚠ putc ⚠ putc_unlocked ⚠ putchar ⚠ putchar_unlocked ⚠ puts ⚠ putw ⚠ rect_tree_contains_point ⚠ rect_tree_distance_tree ⚠ Return the distance between two RECT_NODE trees. rect_tree_free ⚠ Free the rect-tree memory rect_tree_from_lwgeom ⚠ Create a tree index on top an LWGEOM. Do not free the LWGEOM
until the tree is freed. rect_tree_from_ptarray ⚠ rect_tree_intersects_tree ⚠ Test if two RECT_NODE trees intersect one another. rect_tree_printf ⚠ rect_tree_to_lwgeom ⚠ rect_tree_to_wkt ⚠ remove ⚠ rename ⚠ renameat ⚠ rewind ⚠ scanf ⚠ scanf1 ⚠ setbuf ⚠ setbuffer ⚠ setlinebuf ⚠ setvbuf ⚠ snprintf ⚠ spheroid_init ⚠ Initialize a spheroid object for use in geodetic functions. sprintf ⚠ sscanf ⚠ sscanf1 ⚠ tempnam ⚠ tmpfile ⚠ tmpnam ⚠ tmpnam_r ⚠ uint32_hilbert ⚠ uint64_interleave_2 ⚠ ungetc ⚠ vasprintf ⚠ vdprintf ⚠ vfprintf ⚠ vfscanf ⚠ vfscanf1 ⚠ vprintf ⚠ vscanf ⚠ vscanf1 ⚠ vsnprintf ⚠ vsprintf ⚠ vsscanf ⚠ vsscanf1 ⚠ CG_LINE_CROSS_TYPE The return values of lwline_crossing_direction() FILE LWGEOM_PARSER_RESULT Parser result structure: returns the result of attempting to convert
(E)WKT/(E)WKB to LWGEOM LWGEOM_UNPARSER_RESULT LWORD_T Ordinate names LWT_BE_CALLBACKS Structure containing base backend callbacks LWT_BE_DATA Backend private data pointer LWT_BE_IFACE Backend interface handler LWT_BE_TOPOLOGY Topology handler. LWT_ELEMID Identifier of topology element LWT_INT64 LWT_SPATIALTYPE_T LWT_TOPOERR Topology error LWT_TOPOERR_TYPE_T Topology errors type LWT_TOPOLOGY Opaque topology structure LW_LINEARIZE_FLAGS LW_LINEARIZE_TOLERANCE_TYPE Semantic of the tolerance argument passed to
lwcurve_linearize PJ PJ_CARTESIAN_CS_2D_TYPE PJ_CATEGORY PJ_COMPARISON_CRITERION PJ_CONTEXT PJ_COORDINATE_SYSTEM_TYPE PJ_DIRECTION PJ_ELLIPSOIDAL_CS_2D_TYPE PJ_ELLIPSOIDAL_CS_3D_TYPE PJ_FACTORS PJ_GUESSED_WKT_DIALECT PJ_LOG_FUNCTION PJ_LOG_LEVEL PJ_OPERATIONS PJ_PROJ_STRING_TYPE PJ_TYPE PJ_UNIT_TYPE PJ_WKT_TYPE PROJ_CRS_EXTENT_USE PROJ_GRID_AVAILABILITY_USE PROJ_INTERMEDIATE_CRS_USE PROJ_OPEN_ACCESS PROJ_SPATIAL_CRITERION PROJ_STRING_LIST RECT_NODE RECT_NODE_RING_TYPE RECT_NODE_SEG_TYPE RECT_NODE_TYPE RECT_TREE_DISTANCE_STATE _Float32 _Float64 _Float32x _Float64x _IO_lock_t __FILE __blkcnt64_t __blkcnt_t __blksize_t __builtin_va_list __caddr_t __clock_t __clockid_t __daddr_t __dev_t __fpos64_t __fpos_t __fsblkcnt64_t __fsblkcnt_t __fsfilcnt64_t __fsfilcnt_t __fsword_t __gid_t __gnuc_va_list __id_t __ino64_t __ino_t __int8_t __int16_t __int32_t __int64_t __int_least8_t __int_least16_t __int_least32_t __int_least64_t __intmax_t __intptr_t __key_t __loff_t __mode_t __nlink_t __off64_t __off_t __pid_t __quad_t __rlim64_t __rlim_t __sig_atomic_t __socklen_t __ssize_t __suseconds64_t __suseconds_t __syscall_slong_t __syscall_ulong_t __time_t __timer_t __u_char __u_int __u_long __u_quad_t __u_short __uid_t __uint8_t __uint16_t __uint32_t __uint64_t __uint_least8_t __uint_least16_t __uint_least32_t __uint_least64_t __uintmax_t __useconds_t cookie_close_function_t cookie_io_functions_t cookie_read_function_t cookie_seek_function_t cookie_write_function_t fpos_t gridspec Snap-to-grid int_fast8_t int_fast16_t int_fast32_t int_fast64_t int_least8_t int_least16_t int_least32_t int_least64_t intmax_t lwallocator Global functions for memory/logging handlers. lwdebuglogger lwflags_t LWGEOM and GBOX both use LWFLAGS bit mask.
Serializations (may) use different bit mask schemes. lwfreeor lwinterrupt_callback Install a callback to be called periodically during
algorithm execution. Mostly only needed on WIN32 to
dispatch queued signals. lwreallocator lwreporter off_t proj_file_finder proj_network_close_cbk_type proj_network_get_header_value_cbk_type proj_network_open_cbk_type proj_network_read_range_type uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t uint_least8_t uint_least16_t uint_least32_t uint_least64_t uintmax_t va_list wchar_t PJ_COORD __mbstate_t__bindgen_ty_1 rect_node__bindgen_ty_1