63 #ifndef _GG_ADVANCED_H
64 #ifndef DOXYGEN_SHOULD_SKIP_THIS
65 #define _GG_ADVANCED_H
69 #define GAIA2GEOS_ALL 0
72 #define GAIA2GEOS_ONLY_POINTS 1
75 #define GAIA2GEOS_ONLY_LINESTRINGS 2
78 #define GAIA2GEOS_ONLY_POLYGONS 3
85 #if defined(_WIN32) && !defined(__MINGW32__)
86 #include <spatialite/gaiaconfig-msvc.h>
88 #include <spatialite/gaiaconfig.h>
189 const char *auth_name,
218 const char *auth_name,
219 int auth_srid,
int style,
220 int indented,
int indentation);
237 const char *wkt,
int *srid);
285 const char *proj_from,
286 const char *proj_to);
312 const char *proj_from,
313 const char *proj_to);
342 const char *proj_string_1,
343 const char *proj_string_2,
406 const char *proj_from,
407 const char *proj_to);
435 const char *proj_from,
436 const char *proj_to);
463 const char *proj_from,
464 const char *proj_to);
493 const char *proj_from,
494 const char *proj_to);
1246 geom,
int esri_flag);
1529 unsigned char *blob1,
1532 unsigned char *blob2,
1598 unsigned char *blob1,
1601 unsigned char *blob2,
1667 unsigned char *blob1,
1670 unsigned char *blob2,
1736 unsigned char *blob1,
1739 unsigned char *blob2,
1805 unsigned char *blob1,
1808 unsigned char *blob2,
1874 unsigned char *blob1,
1877 unsigned char *blob2,
1943 unsigned char *blob1,
1946 unsigned char *blob2,
1970 const char *pattern);
1994 const char *pattern);
2165 unsigned char *blob1,
2168 unsigned char *blob2,
2169 int size2,
double *dist);
2511 double *x,
double *y);
2529 double *x,
double *y);
2549 double *x,
double *y);
2727 geom,
double radius,
2730 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2731 #ifdef GEOS_ADVANCED
2798 double densify_fract,
2825 double densify_fract,
2892 double densify_fract,
2919 double densify_fract,
3479 double start_fraction,
3480 double end_fraction);
3509 double end_fraction);
3805 unsigned char *blob1,
3808 unsigned char *blob2,
3871 unsigned char *blob1,
3874 unsigned char *blob2,
3902 double size,
int mode);
3931 double size,
int mode);
3958 double size,
int mode);
4016 double size,
int mode);
4045 double size,
int mode);
4049 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
4072 geom,
double tolerance);
4096 geom,
double tolerance);
4162 int keep_discarded);
4186 int keep_discarded);
4230 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
4250 unsigned int *code);
4270 unsigned int *code);
4326 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
4511 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
4512 #ifdef ENABLE_RTTOPO
4677 double ya,
double xb,
double yb,
4701 double ya,
double xb,
double yb,
4726 double y1,
double a,
double b,
4727 double distance,
double azimuth,
4728 double *x2,
double *y2);
4766 int precision,
int options,
4936 double b,
int use_ellipsoid,
5006 unsigned char precision_xy,
5007 unsigned char precision_z,
5008 unsigned char precision_m,
int with_size,
5009 int with_bbox,
unsigned char **twkb,
5030 const unsigned char *twkb,
5031 int twkb_size,
int srid);
5055 unsigned char precision,
5056 char **encoded,
int *len);
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDrapeLineExceptions(sqlite3 *db_handle, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance, int interpolated)
Utility function: DrapeLineExceptions.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransformXY_r(const void *p_cache, gaiaGeomCollPtr org, const char *proj_from, const char *proj_to)
Tansforms a Geometry object into a different Reference System [aka Reprojection] This is a special "f...
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaCriticalPointFromGEOSmsg(void)
Attempts to (possibile) return a Point Geometry extracted from the latest GEOS error / warning messag...
GAIAGEO_DECLARE int gaiaProjectedPoint(const void *p_cache, double x1, double y1, double a, double b, double distance, double azimuth, double *x2, double *y2)
Utility function: ProjectedPoint.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSingleSidedBuffer_r(const void *p_cache, gaiaGeomCollPtr geom, double radius, int points, int left_right)
Spatial operator: Single Sided Buffer.
GAIAGEO_DECLARE int gaiaGeomCollEquals_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Equals.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumRotatedRectangle(gaiaGeomCollPtr geom)
Calculates the minimum rotated rectangular POLYGON which encloses the input geometry.
GAIAGEO_DECLARE int gaiaFrechetDistanceDensify_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double densify_fract, double *dist)
Calculates the Frechet distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaGeomCollWithin(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Within.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolatePoint(gaiaGeomCollPtr ln_geom, double fraction)
Spatial operator: Line Interpolate Point.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConcaveHull_r(const void *p_cache, gaiaGeomCollPtr geom, double factor, double tolerance, int allow_holes)
Concave Hull.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolateEquidistantPoints_r(const void *p_cache, gaiaGeomCollPtr ln_geom, double distance)
Spatial operator: Line Interpolate Equidistant Points.
GAIAGEO_DECLARE double gaiaRadsToDegs(double rads)
Converts and angle from Radians into Degrees.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumBoundingCircle_r(const void *p_cache, gaiaGeomCollPtr geom, double *radius, gaiaGeomCollPtr *center)
Constructs the Minimum Bounding Circle for a generic geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYM_r(const void *p_cache, const void *geos)
Converts a GEOS Geometry into a Geometry object [XYM dims].
GAIAGEO_DECLARE int gaiaGeomCollDistance(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the maximum distance intercurring between two Geometry objects.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMaximumInscribedCircle_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance)
Constructs the Maximum Inscribed Circle for a polygonal geometry, up to a specified tolerance.
GAIAGEO_DECLARE double gaiaLineLocatePoint(gaiaGeomCollPtr ln_geom, gaiaGeomCollPtr pt_geom)
Determines the location of the closest Point on Linestring to the given Point.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransformEx(gaiaGeomCollPtr org, const char *proj_string_1, const char *proj_string_2, gaiaProjAreaPtr proj_bbox)
Tansforms a Geometry object into a different Reference System [aka Reprojection].
GAIAGEO_DECLARE double gaiaDegsToRads(double degs)
Converts and angle from Degrees into Radians.
GAIAGEO_DECLARE int gaiaMaxDistance(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the maximum 2D distance intercurring between two Geometry objects.
GAIAGEO_DECLARE const char * gaiaGetRtTopoWarningMsg(const void *p_cache)
Return the latest RTTOPO warning message (if any)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryIntersection_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Intersection.
GAIAGEO_DECLARE int gaiaGeomCollWithin_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Within.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTriangularGrid_r(const void *p_cache, gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: TriangularGrid.
GAIAGEO_DECLARE const char * gaiaGetRtTopoErrorMsg(const void *p_cache)
Return the latest RTTOPO error message (if any)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetailEx(gaiaGeomCollPtr geom, int esri_flag)
return a Geometry detail causing a Geometry to be invalid
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSnap_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance)
Spatial operator: Snap.
GAIAGEO_DECLARE int gaiaHausdorffDistanceDensify(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double densify_fract, double *dist)
Calculates the Hausdorff distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaIntersectionMatrixPatternMatch_r(const void *p_cache, const char *matrix, const char *pattern)
Spatial relationship evalution: comparing two intersection matrices.
GAIAGEO_DECLARE int gaiaGeomCollCrosses_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Crosses.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryDifference_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Difference.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMaximumInscribedCircle(gaiaGeomCollPtr geom, double tolerance)
Constructs the Maximum Inscribed Circle for a polygonal geometry, up to a specified tolerance.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolatePoint_r(const void *p_cache, gaiaGeomCollPtr ln_geom, double fraction)
Spatial operator: Line Interpolate Point.
GAIAGEO_DECLARE int gaiaGeomCollOverlaps_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Overlaps.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryIntersection(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Intersection.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumRotatedRectangle_r(const void *p_cache, gaiaGeomCollPtr geom)
Calculates the minimum rotated rectangular POLYGON which encloses the input geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineMerge(gaiaGeomCollPtr geom)
Spatial operator: Line Merge.
GAIAGEO_DECLARE int gaiaGeomCollDisjoint_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Disjoint.
GAIAGEO_DECLARE const char * gaiaSetProjDatabasePath(const void *p_cache, const char *path)
Sets the PATH leading to the private PROJ.6 database.
GAIAGEO_DECLARE int gaiaGeomCollTouches(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Touches.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineSubstring(gaiaGeomCollPtr ln_geom, double start_fraction, double end_fraction)
Spatial operator: Line Substring.
GAIAGEO_DECLARE const char * gaiaGetGeosWarningMsg_r(const void *p_cache)
Return the latest GEOS warning message (if any)
GAIAGEO_DECLARE int gaia3DDistance(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the minimum 3D distance intercurring between two Geometry objects.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYZM_r(const void *p_cache, const void *geos)
Converts a GEOS Geometry into a Geometry object [XYZM dims].
GAIAGEO_DECLARE int gaiaGeomCollEquals(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Equals.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransformEx_r(const void *p_cache, gaiaGeomCollPtr org, const char *proj_string_1, const char *proj_string_2, gaiaProjAreaPtr proj_bbox)
Tansforms a Geometry object into a different Reference System [aka Reprojection].
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnionCascaded(gaiaGeomCollPtr geom)
Spatial operator: Union Cascaded.
GAIAGEO_DECLARE const char * gaiaGetProjErrorMsg_r(const void *p_cache)
Return the latest PROJ error message (if any)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetail(gaiaGeomCollPtr geom)
return a Geometry detail causing a Geometry to be invalid
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLinesCutAtNodes(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Line Cut At Nodes.
GAIAGEO_DECLARE int gaiaGuessSridFromWKT(sqlite3 *db_handle, const void *p_cache, const char *wkt, int *srid)
Return the SRID corresponding to a given WKT expression (if any)
GAIAGEO_DECLARE char * gaiaGetProjString(const void *p_cache, const char *auth_name, int auth_srid)
Return the proj-string corresponding to a given CRS defined within the private PROJ....
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConstrainedDelaunayTriangulation(gaiaGeomCollPtr geom)
Constrained Delaunay Triangulation.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromTWKB(const void *p_cache, const unsigned char *twkb, int twkb_size, int srid)
Converts a compressed TWKB Geometry into a native binary Geometry.
GAIAGEO_DECLARE const char * gaiaGetGeosAuxErrorMsg(void)
Return the latest GEOS (auxiliary) error message (if any)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDelaunayTriangulation_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance, int only_edges)
Delaunay Triangulation.
GAIAGEO_DECLARE int gaiaGeomCollDistance_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the maximum distance intercurring between two Geometry objects.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeosDensify(gaiaGeomCollPtr geom, double tolerance)
Densifies a geometry using a given distance tolerance.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYZ_r(const void *p_cache, const void *geos)
Converts a GEOS Geometry into a Geometry object [XYZ dims].
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XY(const void *geos)
Converts a GEOS Geometry into a Geometry object [XY dims].
GAIAGEO_DECLARE int gaia3dLength(const void *p_cache, gaiaGeomCollPtr geom, double *length)
Calculates the 2D or 3D Length for a Linestring or Multilinestring accordingly to the dimensions of G...
GAIAGEO_DECLARE int gaiaFrechetDistance(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Frechet distance intercurring between two Geometry objects.
GAIAGEO_DECLARE void gaiaResetProjErrorMsg_r(const void *p_cache)
Resets the PROJ error messages to an empty state.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaShortestLine(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shortest Line.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplifyPreserveTopology(gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify [preserving topology].
GAIAGEO_DECLARE int gaiaHausdorffDistance(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Hausdorff distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaFrechetDistance_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Frechet distance intercurring between two Geometry objects.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransformXY(gaiaGeomCollPtr org, const char *proj_from, const char *proj_to)
Tansforms a Geometry object into a different Reference System [aka Reprojection] This is a special "f...
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSquareGrid(gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: SquareGrid.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSnapToGrid(gaiaGeomCollPtr geom, double origin_x, double origin_y, double origin_z, double origin_m, double size_x, double size_y, double size_z, double size_m)
Utility function: SnapToGrid.
GAIAGEO_DECLARE void gaiaSetGeosErrorMsg_r(const void *p_cache, const char *msg)
Set the current GEOS error message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConcaveHull(gaiaGeomCollPtr geom, double factor, double tolerance, int allow_holes)
Concave Hull.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeosDensify_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance)
Densifies a geometry using a given distance tolerance.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumWidth_r(const void *p_cache, gaiaGeomCollPtr geom)
Returns a LINESTRING geometry which represents the minimum diameter of the geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaPolygonize_r(const void *p_cache, gaiaGeomCollPtr geom, int force_multi)
Attempts to rearrange a generic Geometry object into a Polygon or MultiPolygon.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConvexHull(gaiaGeomCollPtr geom)
Spatial operator: ConvexHull.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaReducePrecision_r(const void *p_cache, gaiaGeomCollPtr geom, double grid_size)
Change the coordinate precision of a geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram(gaiaGeomCollPtr geom, double extra_frame_size, double tolerance, int only_edges)
Voronoj Diagram.
GAIAGEO_DECLARE int gaiaIsSimple(gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Simple Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram_r(const void *p_cache, gaiaGeomCollPtr geom, double extra_frame_size, double tolerance, int only_edges)
Voronoj Diagram.
GAIAGEO_DECLARE const char * gaiaGetGeosErrorMsg_r(const void *p_cache)
Return the latest GEOS error message (if any)
GAIAGEO_DECLARE int gaiaGeomCollCovers_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Topology check: test if a Geometry covers another one.
GAIAGEO_DECLARE int gaiaGeomCollIntersects_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Intersects.
GAIAGEO_DECLARE const char * gaiaGetGeosWarningMsg(void)
Return the latest GEOS warning message (if any)
GAIAGEO_DECLARE int gaiaGeomCollLengthOrPerimeter(gaiaGeomCollPtr geom, int perimeter, double *length)
Measures the total Length or Perimeter for a Geometry object.
GAIAGEO_DECLARE int gaiaGeomCollCoveredBy_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Topology check: test if a Geometry is covered by another one.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineFromEncodedPolyline(const void *p_cache, const char *encoded, unsigned char precision)
Converts a GoogleMaps encoded PolyLine into a native binary Geometry (Linestring)
GAIAGEO_DECLARE int gaiaGeomCollContains(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Contains.
GAIAGEO_DECLARE int gaiaGeomCollCoveredBy(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Topology check: test if a Geometry is covered by another one.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetail_r(const void *p_cache, gaiaGeomCollPtr geom)
return a Geometry detail causing a Geometry to be invalid
GAIAGEO_DECLARE int gaiaGeomCollPreparedDistance(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2, double *dist)
Spatial relationship evalution: Distance (GEOSPreparedGeometry)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryUnion(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Union.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineMerge_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Line Merge.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplitLeft(const void *p_cache, gaiaGeomCollPtr input, gaiaGeomCollPtr blade)
Utility function: SplitLeft.
GAIAGEO_DECLARE char * gaiaAsX3D(const void *p_cache, gaiaGeomCollPtr geom, const char *srs, int precision, int options, const char *refid)
Utility function: AsX3D.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetailEx_r(const void *p_cache, gaiaGeomCollPtr geom, int esri_flag)
return a Geometry detail causing a Geometry to be invalid
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConvexHull_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: ConvexHull.
GAIAGEO_DECLARE int gaiaHausdorffDistance_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Hausdorff distance intercurring between two Geometry objects.
GAIAGEO_DECLARE char * gaiaIsValidReason_r(const void *p_cache, gaiaGeomCollPtr geom)
return a TEXT string stating if a Geometry is valid and if not valid, a reason why
GAIAGEO_DECLARE int gaiaGeomCollPreparedCoveredBy(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Topology check: test if a Geometry is covered by another one (GEOSPreparedGeometry)
GAIAGEO_DECLARE char * gaiaGeomCollRelateBoundaryNodeRule(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, int mode)
Spatial relationship evalution: Relate Boundary Node Rule.
GAIAGEO_DECLARE int gaiaGeomCollPreparedCrosses(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Spatial relationship evalution: Crosses (GEOSPreparedGeometry)
GAIAGEO_DECLARE int gaiaIntersectionMatrixPatternMatch(const char *matrix, const char *pattern)
Spatial relationship evalution: comparing two intersection matrices.
GAIAGEO_DECLARE void gaiaSetProjErrorMsg_r(const void *p_cache, const char *msg)
Set the current PROJ error message.
GAIAGEO_DECLARE int gaiaIsRing_r(const void *p_cache, gaiaLinestringPtr line)
Checks if a Linestring object represents an OGC Ring Geometry.
GAIAGEO_DECLARE double gaiaLineLocatePoint_r(const void *p_cache, gaiaGeomCollPtr ln_geom, gaiaGeomCollPtr pt_geom)
Determines the location of the closest Point on Linestring to the given Point.
GAIAGEO_DECLARE void gaiaSetGeosAuxErrorMsg_r(const void *p_cache, const char *msg)
Set the current GEOS (auxiliary) error message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSingleSidedBuffer(gaiaGeomCollPtr geom, double radius, int points, int left_right)
Spatial operator: Single Sided Buffer.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYM(const void *geos)
Converts a GEOS Geometry into a Geometry object [XYM dims].
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaOffsetCurve_r(const void *p_cache, gaiaGeomCollPtr geom, double radius, int points, int left_right)
Spatial operator: Offset Curve.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValidDiscarded(const void *p_cache, gaiaGeomCollPtr geom)
Utility function: MakeValidDiscarded.
GAIAGEO_DECLARE int gaiaGeomCollRelate(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, const char *pattern)
Spatial relationship evalution: Relate.
GAIAGEO_DECLARE void * gaiaToGeosSelective(const gaiaGeomCollPtr gaia, int mode)
Converts a Geometry object into a GEOS Geometry.
GAIAGEO_DECLARE int gaiaFrechetDistanceDensify(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double densify_fract, double *dist)
Calculates the Frechet distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaGeomCollArea_r(const void *p_cache, gaiaGeomCollPtr geom, double *area)
Measures the total Area for a Geometry object.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometrySymDifference(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: SymDifference.
GAIAGEO_DECLARE int gaiaGeomCollPreparedIntersects(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Spatial relationship evalution: Intersects (GEOSPreparedGeometry)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaReducePrecision(gaiaGeomCollPtr geom, double grid_size)
Change the coordinate precision of a geometry.
GAIAGEO_DECLARE void gaiaSetGeosWarningMsg_r(const void *p_cache, const char *msg)
Set the current GEOS warning message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryUnion_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Union.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaHexagonalGrid_r(const void *p_cache, gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: HexagonalGrid.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolateEquidistantPoints(gaiaGeomCollPtr ln_geom, double distance)
Spatial operator: Line Interpolate Equidistant Points.
GAIAGEO_DECLARE int gaiaGeomCollPreparedContains(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Spatial relationship evalution: Contains (GEOSPreparedGeometry)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaPolygonize(gaiaGeomCollPtr geom, int force_multi)
Attempts to rearrange a generic Geometry object into a Polygon or MultiPolygon.
GAIAGEO_DECLARE void * gaiaToGeos_r(const void *p_cache, const gaiaGeomCollPtr gaia)
Converts a Geometry object into a GEOS Geometry.
GAIAGEO_DECLARE void * gaiaToGeosSelective_r(const void *p_cache, const gaiaGeomCollPtr gaia, int mode)
Converts a Geometry object into a GEOS Geometry.
GAIAGEO_DECLARE int gaiaHilbertCode_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, int level, unsigned int *code)
Hillbert Code.
GAIAGEO_DECLARE void gaiaSetRtTopoErrorMsg(const void *p_cache, const char *msg)
Set the current RTTOPO error message.
GAIAGEO_DECLARE void * gaiaToGeos(const gaiaGeomCollPtr gaia)
Converts a Geometry object into a GEOS Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSharedPaths_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shared Paths.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConstrainedDelaunayTriangulation_r(const void *p_cache, gaiaGeomCollPtr geom)
Constrained Delaunay Triangulation.
GAIAGEO_DECLARE void gaiaResetGeosMsg_r(const void *p_cache)
Resets the GEOS error and warning messages to an empty state.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSharedPaths(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shared Paths.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumWidth(gaiaGeomCollPtr geom)
Returns a LINESTRING geometry which represents the minimum diameter of the geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaHexagonalGrid(gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: HexagonalGrid.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaBoundary(gaiaGeomCollPtr geom)
Spatial operator: Boundary.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransform(gaiaGeomCollPtr org, const char *proj_from, const char *proj_to)
Tansforms a Geometry object into a different Reference System [aka Reprojection].
GAIAGEO_DECLARE int gaiaAsEncodedPolyLine(const void *p_cache, gaiaGeomCollPtr geom, unsigned char precision, char **encoded, int *len)
Converts a native binary Geometry into a GoogleMaps encoded PolyLine.
GAIAGEO_DECLARE int gaiaHausdorffDistanceDensify_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double densify_fract, double *dist)
Calculates the Hausdorff distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaGeomCollArea(gaiaGeomCollPtr geom, double *area)
Measures the total Area for a Geometry object.
GAIAGEO_DECLARE void gaiaSetGeosWarningMsg(const char *msg)
Set the current GEOS warning message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaOffsetCurve(gaiaGeomCollPtr geom, double radius, int points, int left_right)
Spatial operator: Offset Curve.
GAIAGEO_DECLARE int gaiaGeomCollCentroid_r(const void *p_cache, gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: Centroid.
GAIAGEO_DECLARE int gaiaIsRing(gaiaLinestringPtr line)
Checks if a Linestring object represents an OGC Ring Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify(gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify.
GAIAGEO_DECLARE int gaia3DMaxDistance(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the maximum 3D distance intercurring between two Geometry objects.
GAIAGEO_DECLARE char * gaiaIsValidReason(gaiaGeomCollPtr geom)
return a TEXT string stating if a Geometry is valid and if not valid, a reason why
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplit(const void *p_cache, gaiaGeomCollPtr input, gaiaGeomCollPtr blade)
Utility function: Split.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYZ(const void *geos)
Converts a GEOS Geometry into a Geometry object [XYZ dims].
GAIAGEO_DECLARE int gaiaMinimumClearance(gaiaGeomCollPtr geom, double *clearance)
Computes the minimum clearance of a geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollBuffer(gaiaGeomCollPtr geom, double radius, int points)
Spatial operator: Buffer.
GAIAGEO_DECLARE int gaiaGeomCollOverlaps(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Overlaps.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeosMakeValid_r(const void *p_cache, gaiaGeomCollPtr geom, int keep_discarded)
Utility function: GeosMakeValid.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValid(const void *p_cache, gaiaGeomCollPtr geom)
Utility function: MakeValid.
GAIAGEO_DECLARE int gaiaGeomCollPreparedWithin(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Spatial relationship evalution: Within (GEOSPreparedGeometry)
GAIAGEO_DECLARE int gaiaHilbertCode(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, int level, unsigned int *code)
Hillbert Code.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeosConcaveHull(gaiaGeomCollPtr geom, double ratio, int allow_holes)
Concave Hull (the GEOS way)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaShortestLine_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shortest Line.
GAIAGEO_DECLARE char * gaiaGeoHash(const void *p_cache, gaiaGeomCollPtr geom, int precision)
Utility function: GeoHash.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumBoundingCircle(gaiaGeomCollPtr geom, double *radius, gaiaGeomCollPtr *center)
Constructs the Minimum Bounding Circle for a generic geometry.
GAIAGEO_DECLARE int gaiaGeomCollPreparedDistanceWithin(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2, double dist)
Spatial operator: DistanceWithin (GEOSPreparedGeometry)
GAIAGEO_DECLARE int gaiaGeomCollCovers(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Topology check: test if a Geometry covers another one.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDelaunayTriangulation(gaiaGeomCollPtr geom, double tolerance, int only_edges)
Delaunay Triangulation.
GAIAGEO_DECLARE int gaiaGeomCollCrosses(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Crosses.
GAIAGEO_DECLARE int gaiaGeomCollLength(gaiaGeomCollPtr geom, double *length)
Measures the total Length for a Geometry object.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumClearanceLine(gaiaGeomCollPtr geom)
Returns a LINESTRING geometry which represents the minimum clearance of a geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaCriticalPointFromGEOSmsg_r(const void *p_cache)
Attempts to (possibile) return a Point Geometry extracted from the latest GEOS error / warning messag...
GAIAGEO_DECLARE char * gaiaGeomCollRelateBoundaryNodeRule_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, int mode)
Spatial relationship evalution: Relate Boundary Node Rule.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTriangularGrid(gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: TriangularGrid.
GAIAGEO_DECLARE int gaiaGetPointOnSurface(gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: PointOnSurface.
GAIAGEO_DECLARE void gaiaResetRtTopoMsg(const void *p_cache)
Resets the RTTOPO error and warning messages to an empty state.
GAIAGEO_DECLARE const char * gaiaGetGeosAuxErrorMsg_r(const void *p_cache)
Return the latest GEOS (auxiliary) error message (if any)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnaryUnion(gaiaGeomCollPtr geom)
Spatial operator: Unary Union.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometrySymDifference_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: SymDifference.
GAIAGEO_DECLARE int gaiaGeomCollLength_r(const void *p_cache, gaiaGeomCollPtr geom, double *length)
Measures the total Length for a Geometry object.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSnap(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance)
Spatial operator: Snap.
GAIAGEO_DECLARE int gaiaGeomCollContains_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Contains.
GAIAGEO_DECLARE int gaiaGeomCollRelate_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, const char *pattern)
Spatial relationship evalution: Relate.
GAIAGEO_DECLARE int gaiaGeodesicArea(const void *p_cache, gaiaGeomCollPtr geom, double a, double b, int use_ellipsoid, double *area)
Measures the total Area for a Geometry object (geodesic)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplitRight(const void *p_cache, gaiaGeomCollPtr input, gaiaGeomCollPtr blade)
Utility function: SplitRight.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XY_r(const void *p_cache, const void *geos)
Converts a GEOS Geometry into a Geometry object [XY dims].
GAIAGEO_DECLARE int gaiaGeomCollLengthOrPerimeter_r(const void *p_cache, gaiaGeomCollPtr geom, int perimeter, double *length)
Measures the total Length or Perimeter for a Geometry object.
GAIAGEO_DECLARE const char * gaiaGetProjDatabasePath(const void *p_cache)
Return the currently set PATH leading to the private PROJ.6 database.
GAIAGEO_DECLARE const char * gaiaGetGeosErrorMsg(void)
Return the latest GEOS error message (if any)
GAIAGEO_DECLARE int gaiaIsValid_r(const void *p_cache, gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Valid Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollBuffer_r(const void *p_cache, gaiaGeomCollPtr geom, double radius, int points)
Spatial operator: Buffer.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineSubstring_r(const void *p_cache, gaiaGeomCollPtr ln_geom, double start_fraction, double end_fraction)
Spatial operator: Line Substring.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnaryUnion_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Unary Union.
GAIAGEO_DECLARE int gaiaGetPointOnSurface_r(const void *p_cache, gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: PointOnSurface.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSquareGrid_r(const void *p_cache, gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: SquareGrid.
GAIAGEO_DECLARE void gaiaSetGeosAuxErrorMsg(const char *msg)
Set the current GEOS (auxiliary) error message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransformXYZ_r(const void *p_cache, gaiaGeomCollPtr org, const char *proj_from, const char *proj_to)
Tansforms a Geometry object into a different Reference System [aka Reprojection] This is a special "f...
GAIAGEO_DECLARE int gaiaGeomCollCentroid(gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: Centroid.
GAIAGEO_DECLARE int gaiaGeomCollPreparedTouches(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Spatial relationship evalution: Touches (GEOSPreparedGeometry)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaNodeLines(const void *p_cache, gaiaGeomCollPtr input)
Utility function: re-noding lines.
GAIAGEO_DECLARE int gaiaIsClosed(gaiaLinestringPtr line)
Checks if a Linestring object represents an OGC Closed Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransformXYZ(gaiaGeomCollPtr org, const char *proj_from, const char *proj_to)
Tansforms a Geometry object into a different Reference System [aka Reprojection] This is a special "f...
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSegmentize(const void *p_cache, gaiaGeomCollPtr geom, double dist)
Utility function: Segmentize.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMinimumClearanceLine_r(const void *p_cache, gaiaGeomCollPtr geom)
Returns a LINESTRING geometry which represents the minimum clearance of a geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLargestEmptyCircle(gaiaGeomCollPtr geom, gaiaGeomCollPtr boundary, double tolerance)
Constructs the Largest Empty Circle for a set of obstacle geometries, up to a specified tolerance.
GAIAGEO_DECLARE int gaiaGeomCollPreparedCovers(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Topology check: test if a Geometry covers another one (GEOSPreparedGeometry)
GAIAGEO_DECLARE int gaiaToTWKB(const void *p_cache, gaiaGeomCollPtr geom, unsigned char precision_xy, unsigned char precision_z, unsigned char precision_m, int with_size, int with_bbox, unsigned char **twkb, int *size_twkb)
Converts a native binary Geometry into a compressed TWKB Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDrapeLine(sqlite3 *db_handle, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance)
Utility function: DrapeLine.
GAIAGEO_DECLARE int gaiaIsSimple_r(const void *p_cache, gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Simple Geometry.
GAIAGEO_DECLARE int gaiaEllipsoidAzimuth(const void *p_cache, double xa, double ya, double xb, double yb, double a, double b, double *azimuth)
Utility function: EllipsoidAzimuth.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnionCascaded_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Union Cascaded.
GAIAGEO_DECLARE int gaiaIsClosedGeom_r(const void *p_cache, gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Closed Linestring.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeosMakeValid(gaiaGeomCollPtr geom, int keep_discarded)
Utility function: GeosMakeValid.
GAIAGEO_DECLARE int gaiaMinimumClearance_r(const void *p_cache, gaiaGeomCollPtr geom, double *clearance)
Computes the minimum clearance of a geometry.
GAIAGEO_DECLARE int gaiaIsClosedGeom(gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Closed Linestring.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeosConcaveHull_r(const void *p_cache, gaiaGeomCollPtr geom, double ratio, int allow_holes)
Concave Hull (the GEOS way)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryDifference(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Difference.
GAIAGEO_DECLARE int gaiaGeomCollIntersects(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Intesects.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYZM(const void *geos)
Converts a GEOS Geometry into a Geometry object [XYZM dims].
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaBoundary_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Boundary.
GAIAGEO_DECLARE int gaiaGeomCollPreparedDisjoint(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Spatial relationship evalution: Disjoint (GEOSPreparedGeometry)
GAIAGEO_DECLARE void gaiaSetGeosErrorMsg(const char *msg)
Set the current GEOS error message.
GAIAGEO_DECLARE int gaiaGeomCollPreparedOverlaps(const void *p_cache, gaiaGeomCollPtr geom1, unsigned char *blob1, int size1, gaiaGeomCollPtr geom2, unsigned char *blob2, int size2)
Spatial relationship evalution: Overlaps (GEOSPreparedGeometry)
GAIAGEO_DECLARE void gaiaResetGeosMsg(void)
Resets the GEOS error and warning messages to an empty state.
GAIAGEO_DECLARE char * gaiaGetProjWKT(const void *p_cache, const char *auth_name, int auth_srid, int style, int indented, int indentation)
Return the WKT expression corresponding to a given CRS defined within the private PROJ....
GAIAGEO_DECLARE void gaiaSetRtTopoWarningMsg(const void *p_cache, const char *msg)
Set the current RTTOPO warning message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLargestEmptyCircle_r(const void *p_cache, gaiaGeomCollPtr geom, gaiaGeomCollPtr boundary, double tolerance)
Constructs the Largest Empty Circle for a set of obstacle geometries, up to a specified tolerance.
GAIAGEO_DECLARE int gaiaAzimuth(const void *p_cache, double xa, double ya, double xb, double yb, double *azimuth)
Utility function: Azimuth.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSubdivide(const void *p_cache, gaiaGeomCollPtr input, int max_vertices)
Utility function: subdividing Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTransform_r(const void *p_cache, gaiaGeomCollPtr org, const char *proj_from, const char *proj_to)
Tansforms a Geometry object into a different Reference System [aka Reprojection].
GAIAGEO_DECLARE int gaiaGeomCollDisjoint(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Disjoint.
GAIAGEO_DECLARE int gaiaGeomCollTouches_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Touches.
GAIAGEO_DECLARE int gaiaIsValid(gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Valid Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplifyPreserveTopology_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify [preserving topology].
Container for OGC GEOMETRYCOLLECTION Geometry.
Definition: gg_structs.h:227
Container for OGC LINESTRING Geometry.
Definition: gg_structs.h:129
BBOX corresponding to PROJ.6 AREA.
Definition: gg_structs.h:862