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 #ifndef DOXYGEN_SHOULD_SKIP_THIS 100 GAIAGEO_DECLARE
void gaiaResetProjErrorMsg_r (
const void *p_cache);
114 GAIAGEO_DECLARE
void gaiaSetProjErrorMsg_r (
const void *p_cache,
131 GAIAGEO_DECLARE
const char *gaiaGetProjErrorMsg_r (
const void *p_cache);
148 GAIAGEO_DECLARE
const char *gaiaSetProjDatabasePath (
const void *p_cache,
165 GAIAGEO_DECLARE
const char *gaiaGetProjDatabasePath (
const void *p_cache);
184 GAIAGEO_DECLARE
char *gaiaGetProjString (
const void *p_cache,
185 const char *auth_name,
213 GAIAGEO_DECLARE
char *gaiaGetProjWKT (
const void *p_cache,
214 const char *auth_name,
215 int auth_srid,
int style,
216 int indented,
int indentation);
231 GAIAGEO_DECLARE
int gaiaGuessSridFromWKT (sqlite3 * db_handle,
233 const char *wkt,
int *srid);
245 GAIAGEO_DECLARE
double gaiaRadsToDegs (
double rads);
257 GAIAGEO_DECLARE
double gaiaDegsToRads (
double degs);
281 const char *proj_from,
282 const char *proj_to);
308 const char *proj_from,
309 const char *proj_to);
338 const char *proj_string_1,
339 const char *proj_string_2,
369 GAIAGEO_DECLARE
gaiaGeomCollPtr gaiaTransformEx_r (
const void *p_cache,
402 const char *proj_from,
403 const char *proj_to);
429 GAIAGEO_DECLARE
gaiaGeomCollPtr gaiaTransformXY_r (
const void *p_cache,
431 const char *proj_from,
432 const char *proj_to);
459 const char *proj_from,
460 const char *proj_to);
487 GAIAGEO_DECLARE
gaiaGeomCollPtr gaiaTransformXYZ_r (
const void *p_cache,
489 const char *proj_from,
490 const char *proj_to);
797 GAIAGEO_DECLARE
void *
gaiaToGeos_r (
const void *p_cache,
1242 geom,
int esri_flag);
1525 unsigned char *blob1,
1528 unsigned char *blob2,
1594 unsigned char *blob1,
1597 unsigned char *blob2,
1663 unsigned char *blob1,
1666 unsigned char *blob2,
1732 unsigned char *blob1,
1735 unsigned char *blob2,
1801 unsigned char *blob1,
1804 unsigned char *blob2,
1870 unsigned char *blob1,
1873 unsigned char *blob2,
1939 unsigned char *blob1,
1942 unsigned char *blob2,
1966 const char *pattern);
1990 const char *pattern);
2445 double *x,
double *y);
2463 double *x,
double *y);
2483 double *x,
double *y);
2661 geom,
double radius,
2664 #ifndef DOXYGEN_SHOULD_IGNORE_THIS 2665 #ifdef GEOS_ADVANCED 2732 double densify_fract,
2759 double densify_fract,
2826 double densify_fract,
2853 double densify_fract,
3134 double start_fraction,
3135 double end_fraction);
3164 double end_fraction);
3460 unsigned char *blob1,
3463 unsigned char *blob2,
3526 unsigned char *blob1,
3529 unsigned char *blob2,
3557 double size,
int mode);
3586 double size,
int mode);
3613 double size,
int mode);
3671 double size,
int mode);
3700 double size,
int mode);
3704 #ifndef DOXYGEN_SHOULD_IGNORE_THIS 3889 #ifndef DOXYGEN_SHOULD_IGNORE_THIS 3890 #ifdef ENABLE_RTTOPO 4054 GAIAGEO_DECLARE
int gaiaAzimuth (
const void *p_cache,
double xa,
4055 double ya,
double xb,
double yb,
4079 double ya,
double xb,
double yb,
4104 double y1,
double a,
double b,
4105 double distance,
double azimuth,
4106 double *x2,
double *y2);
4122 GAIAGEO_DECLARE
char *
gaiaGeoHash (
const void *p_cache,
4142 GAIAGEO_DECLARE
char *
gaiaAsX3D (
const void *p_cache,
4144 int precision,
int options,
4314 double b,
int use_ellipsoid,
4382 GAIAGEO_DECLARE
int gaiaToTWKB (
const void *p_cache,
4384 unsigned char precision_xy,
4385 unsigned char precision_z,
4386 unsigned char precision_m,
int with_size,
4387 int with_bbox,
unsigned char **twkb,
4408 const unsigned char *twkb,
4409 int twkb_size,
int srid);
4433 unsigned char precision,
4434 char **encoded,
int *len);
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 int gaiaGeomCollRelate_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, const char *pattern)
Spatial relationship evalution: Relate.
GAIAGEO_DECLARE void gaiaSetGeosAuxErrorMsg(const char *msg)
Set the current GEOS (auxiliary) error message.
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 int gaiaGeomCollLengthOrPerimeter(gaiaGeomCollPtr geom, int perimeter, double *length)
Measures the total Length or Perimeter for a Geometry object.
GAIAGEO_DECLARE int gaiaGetPointOnSurface_r(const void *p_cache, gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: PointOnSurface.
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 gaiaGeomCollPtr gaiaFromGeos_XY_r(const void *p_cache, const void *geos)
Converts a GEOS Geometry into a Geometry object [XY dims].
GAIAGEO_DECLARE void gaiaSetGeosErrorMsg(const char *msg)
Set the current GEOS error message.
GAIAGEO_DECLARE void gaiaSetGeosWarningMsg_r(const void *p_cache, const char *msg)
Set the current GEOS warning message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineMerge(gaiaGeomCollPtr geom)
Spatial operator: Line Merge.
GAIAGEO_DECLARE const char * gaiaGetGeosWarningMsg(void)
Return the latest GEOS warning message (if any)
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 gaiaGeomCollPtr gaiaGeometryDifference(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Difference.
GAIAGEO_DECLARE int gaiaHausdorffDistance(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Hausdorff distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaGeomCollLength(gaiaGeomCollPtr geom, double *length)
Measures the total Length for a Geometry object.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplifyPreserveTopology_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify [preserving topology].
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConcaveHull_r(const void *p_cache, gaiaGeomCollPtr geom, double factor, double tolerance, int allow_holes)
Concave Hull.
GAIAGEO_DECLARE int gaiaGeomCollArea_r(const void *p_cache, gaiaGeomCollPtr geom, double *area)
Measures the total Area for a Geometry object.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValid(const void *p_cache, gaiaGeomCollPtr geom)
Utility function: MakeValid.
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 gaiaShortestLine_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shortest Line.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSharedPaths_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shared Paths.
GAIAGEO_DECLARE const char * gaiaGetGeosWarningMsg_r(const void *p_cache)
Return the latest GEOS warning message (if any)
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 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 gaiaGeomCollPtr gaiaSingleSidedBuffer(gaiaGeomCollPtr geom, double radius, int points, int left_right)
Spatial operator: Single Sided Buffer.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaBoundary(gaiaGeomCollPtr geom)
Spatial operator: Boundary.
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 gaiaGeomCollPtr gaiaSnap(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance)
Spatial operator: Snap.
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 const char * gaiaGetRtTopoWarningMsg(const void *p_cache)
Return the latest RTTOPO warning message (if any)
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 gaiaLineInterpolateEquidistantPoints_r(const void *p_cache, gaiaGeomCollPtr ln_geom, double distance)
Spatial operator: Line Interpolate Equidistant Points.
GAIAGEO_DECLARE int gaiaGeomCollDistance(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the maximum distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaGeomCollContains_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Contains.
GAIAGEO_DECLARE int gaiaGeomCollEquals(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Equals.
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 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 int gaiaGeomCollCentroid_r(const void *p_cache, gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: Centroid.
GAIAGEO_DECLARE char * gaiaGeoHash(const void *p_cache, gaiaGeomCollPtr geom, int precision)
Utility function: GeoHash.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConvexHull(gaiaGeomCollPtr geom)
Spatial operator: ConvexHull.
GAIAGEO_DECLARE int gaiaGeomCollTouches(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Touches.
GAIAGEO_DECLARE void * gaiaToGeosSelective(const gaiaGeomCollPtr gaia, int mode)
Converts a Geometry object into a GEOS Geometry.
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 gaiaGeometryDifference_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Difference.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplitRight(const void *p_cache, gaiaGeomCollPtr input, gaiaGeomCollPtr blade)
Utility function: SplitRight.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSharedPaths(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shared Paths.
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 gaiaGeomCollEquals_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Equals.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryUnion_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Union.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDrapeLine(sqlite3 *db_handle, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance)
Utility function: DrapeLine.
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 gaiaDelaunayTriangulation(gaiaGeomCollPtr geom, double tolerance, int only_edges)
Delaunay Triangulation.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaPolygonize(gaiaGeomCollPtr geom, int force_multi)
Attempts to rearrange a generic Geometry object into a Polygon or MultiPolygon.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometrySymDifference(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: SymDifference.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnaryUnion(gaiaGeomCollPtr geom)
Spatial operator: Unary Union.
GAIAGEO_DECLARE int gaiaIsRing(gaiaLinestringPtr line)
Checks if a Linestring object represents an OGC Ring Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineSubstring_r(const void *p_cache, gaiaGeomCollPtr ln_geom, double start_fraction, double end_fraction)
Spatial operator: Line Substring.
GAIAGEO_DECLARE int gaiaGeomCollWithin_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Within.
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 gaiaGeomCollPtr gaiaBoundary_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Boundary.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolatePoint_r(const void *p_cache, gaiaGeomCollPtr ln_geom, double fraction)
Spatial operator: Line Interpolate Point.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetail(gaiaGeomCollPtr geom)
return a Geometry detail causing a Geometry to be invalid
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetailEx(gaiaGeomCollPtr geom, int esri_flag)
return a Geometry detail causing a Geometry to be invalid
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYM(const void *geos)
Converts a GEOS Geometry into a Geometry object [XYM dims].
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 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 gaiaGeomCollPtr gaiaLinesCutAtNodes(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Line Cut At Nodes.
GAIAGEO_DECLARE int gaiaIsRing_r(const void *p_cache, gaiaLinestringPtr line)
Checks if a Linestring object represents an OGC Ring Geometry.
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 void * gaiaToGeosSelective_r(const void *p_cache, const gaiaGeomCollPtr gaia, int mode)
Converts a Geometry object into a GEOS Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XY(const void *geos)
Converts a GEOS Geometry into a Geometry object [XY dims].
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromGeos_XYZ(const void *geos)
Converts a GEOS Geometry into a Geometry object [XYZ dims].
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaNodeLines(const void *p_cache, gaiaGeomCollPtr input)
Utility function: re-noding lines.
GAIAGEO_DECLARE int gaiaGeomCollOverlaps_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Overlaps.
GAIAGEO_DECLARE int gaiaGeomCollContains(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Contains.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineMerge_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Line Merge.
GAIAGEO_DECLARE int gaiaGeomCollIntersects_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Intersects.
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 int gaiaGeomCollCoveredBy(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Topology check: test if a Geometry is covered by another one.
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 int gaiaGeomCollOverlaps(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Overlaps.
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 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 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 void gaiaSetGeosErrorMsg_r(const void *p_cache, const char *msg)
Set the current GEOS error message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnaryUnion_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Unary Union.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryUnion(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Union.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDelaunayTriangulation_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance, int only_edges)
Delaunay Triangulation.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolatePoint(gaiaGeomCollPtr ln_geom, double fraction)
Spatial operator: Line Interpolate Point.
GAIAGEO_DECLARE int gaiaGeomCollDisjoint_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Disjoint.
GAIAGEO_DECLARE int gaiaGeomCollArea(gaiaGeomCollPtr geom, double *area)
Measures the total Area for a Geometry object.
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 int gaiaGeomCollDisjoint(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Disjoint.
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 gaiaGeomCollPtr gaiaSnap_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance)
Spatial operator: Snap.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnionCascaded(gaiaGeomCollPtr geom)
Spatial operator: Union Cascaded.
GAIAGEO_DECLARE int gaiaGeomCollCrosses(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Crosses.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometrySymDifference_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: SymDifference.
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 gaiaHexagonalGrid(gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: HexagonalGrid.
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 gaiaGeomCollPtr gaiaGeomCollBuffer(gaiaGeomCollPtr geom, double radius, int points)
Spatial operator: Buffer.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaOffsetCurve_r(const void *p_cache, gaiaGeomCollPtr geom, double radius, int points, int left_right)
Spatial operator: Offset Curve.
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 gaiaGeomCollSimplify_r(const void *p_cache, gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify.
GAIAGEO_DECLARE int gaiaIsClosed(gaiaLinestringPtr line)
Checks if a Linestring object represents an OGC Closed Geometry.
Container for OGC LINESTRING Geometry.
Definition: gg_structs.h:128
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 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 int gaiaIsValid_r(const void *p_cache, gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Valid Geometry.
GAIAGEO_DECLARE int gaiaFrechetDistance(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Frechet distance intercurring between two Geometry objects.
GAIAGEO_DECLARE int gaiaGeomCollCentroid(gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: Centroid.
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 const char * gaiaGetGeosAuxErrorMsg_r(const void *p_cache)
Return the latest GEOS (auxiliary) error message (if any)
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 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 gaiaGeomCollPtr gaiaOffsetCurve(gaiaGeomCollPtr geom, double radius, int points, int left_right)
Spatial operator: Offset Curve.
GAIAGEO_DECLARE int gaiaGeomCollCrosses_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Crosses.
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 gaiaIsSimple(gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Simple Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram(gaiaGeomCollPtr geom, double extra_frame_size, double tolerance, int only_edges)
Voronoj Diagram.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaCriticalPointFromGEOSmsg(void)
Attempts to (possibile) return a Point Geometry extracted from the latest GEOS error / warning messag...
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDrapeLineExceptions(sqlite3 *db_handle, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance, int interpolated)
Utility function: DrapeLineExceptions.
GAIAGEO_DECLARE int gaiaGeomCollIntersects(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Intesects.
GAIAGEO_DECLARE int gaiaGetPointOnSurface(gaiaGeomCollPtr geom, double *x, double *y)
Spatial operator: PointOnSurface.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetail_r(const void *p_cache, gaiaGeomCollPtr geom)
return a Geometry detail causing a Geometry to be invalid
GAIAGEO_DECLARE int gaiaAzimuth(const void *p_cache, double xa, double ya, double xb, double yb, double *azimuth)
Utility function: Azimuth.
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 gaiaGeomCollWithin(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Within.
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 gaiaHausdorffDistance_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Hausdorff distance intercurring between two Geometry objects.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify(gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSquareGrid(gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, int mode)
Utility function: SquareGrid.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram_r(const void *p_cache, gaiaGeomCollPtr geom, double extra_frame_size, double tolerance, int only_edges)
Voronoj Diagram.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConcaveHull(gaiaGeomCollPtr geom, double factor, double tolerance, int allow_holes)
Concave Hull.
GAIAGEO_DECLARE void * gaiaToGeos(const gaiaGeomCollPtr gaia)
Converts a Geometry object into a GEOS Geometry.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineSubstring(gaiaGeomCollPtr ln_geom, double start_fraction, double end_fraction)
Spatial operator: Line Substring.
GAIAGEO_DECLARE void gaiaSetGeosAuxErrorMsg_r(const void *p_cache, const char *msg)
Set the current GEOS (auxiliary) error message.
GAIAGEO_DECLARE void gaiaResetRtTopoMsg(const void *p_cache)
Resets the RTTOPO error and warning messages to an empty state.
GAIAGEO_DECLARE void * gaiaToGeos_r(const void *p_cache, const gaiaGeomCollPtr gaia)
Converts a Geometry object into a GEOS Geometry.
GAIAGEO_DECLARE const char * gaiaGetRtTopoErrorMsg(const void *p_cache)
Return the latest RTTOPO error message (if any)
GAIAGEO_DECLARE int gaiaIsSimple_r(const void *p_cache, gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Simple Geometry.
GAIAGEO_DECLARE int gaiaFrechetDistance_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist)
Calculates the Frechet distance intercurring between two Geometry objects.
BBOX corresponding to PROJ.6 AREA.
Definition: gg_structs.h:861
GAIAGEO_DECLARE int gaiaIsClosedGeom(gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Closed Linestring.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValidDiscarded(const void *p_cache, gaiaGeomCollPtr geom)
Utility function: MakeValidDiscarded.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplit(const void *p_cache, gaiaGeomCollPtr input, gaiaGeomCollPtr blade)
Utility function: Split.
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 int gaiaIsValid(gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Valid Geometry.
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 gaiaGeomCollCovers_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Topology check: test if a Geometry covers another one.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSegmentize(const void *p_cache, gaiaGeomCollPtr geom, double dist)
Utility function: Segmentize.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolateEquidistantPoints(gaiaGeomCollPtr ln_geom, double distance)
Spatial operator: Line Interpolate Equidistant Points.
GAIAGEO_DECLARE void gaiaSetRtTopoErrorMsg(const void *p_cache, const char *msg)
Set the current RTTOPO error message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnionCascaded_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: Union Cascaded.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollBuffer_r(const void *p_cache, gaiaGeomCollPtr geom, double radius, int points)
Spatial operator: Buffer.
GAIAGEO_DECLARE const char * gaiaGetGeosErrorMsg_r(const void *p_cache)
Return the latest GEOS error message (if any)
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplifyPreserveTopology(gaiaGeomCollPtr geom, double tolerance)
Spatial operator: Simplify [preserving topology].
GAIAGEO_DECLARE const char * gaiaGetGeosAuxErrorMsg(void)
Return the latest GEOS (auxiliary) error message (if any)
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 gaiaGeomCollPtr gaiaSplitLeft(const void *p_cache, gaiaGeomCollPtr input, gaiaGeomCollPtr blade)
Utility function: SplitLeft.
GAIAGEO_DECLARE void gaiaSetGeosWarningMsg(const char *msg)
Set the current GEOS warning message.
GAIAGEO_DECLARE int gaiaGeomCollLength_r(const void *p_cache, gaiaGeomCollPtr geom, double *length)
Measures the total Length for a Geometry object.
Container for OGC GEOMETRYCOLLECTION Geometry.
Definition: gg_structs.h:226
GAIAGEO_DECLARE int gaiaIsClosedGeom_r(const void *p_cache, gaiaGeomCollPtr geom)
Checks if a Geometry object represents an OGC Closed Linestring.
GAIAGEO_DECLARE int gaiaGeomCollRelate(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, const char *pattern)
Spatial relationship evalution: Relate.
GAIAGEO_DECLARE void gaiaResetGeosMsg(void)
Resets the GEOS error and warning messages to an empty state.
GAIAGEO_DECLARE int gaiaIntersectionMatrixPatternMatch_r(const void *p_cache, const char *matrix, const char *pattern)
Spatial relationship evalution: comparing two intersection matrices.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSubdivide(const void *p_cache, gaiaGeomCollPtr input, int max_vertices)
Utility function: subdividing Geometry.
GAIAGEO_DECLARE const char * gaiaGetGeosErrorMsg(void)
Return the latest GEOS error message (if any)
GAIAGEO_DECLARE int gaiaGeomCollCovers(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Topology check: test if a Geometry covers another one.
GAIAGEO_DECLARE int gaiaGeomCollTouches_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial relationship evalution: Touches.
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 gaiaGeomCollPtr gaiaFromGeos_XYZM(const void *geos)
Converts a GEOS Geometry into a Geometry object [XYZM dims].
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 char * gaiaGeomCollRelateBoundaryNodeRule(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, int mode)
Spatial relationship evalution: Relate Boundary Node Rule.
GAIAGEO_DECLARE void gaiaSetRtTopoWarningMsg(const void *p_cache, const char *msg)
Set the current RTTOPO warning message.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConvexHull_r(const void *p_cache, gaiaGeomCollPtr geom)
Spatial operator: ConvexHull.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryIntersection(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Intersection.
GAIAGEO_DECLARE int gaiaIntersectionMatrixPatternMatch(const char *matrix, const char *pattern)
Spatial relationship evalution: comparing two intersection matrices.
GAIAGEO_DECLARE void gaiaResetGeosMsg_r(const void *p_cache)
Resets the GEOS error and warning messages to an empty state.
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 gaiaGeometryIntersection_r(const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Intersection.
GAIAGEO_DECLARE int gaiaFrechetDistanceDensify(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double densify_fract, double *dist)
Calculates the Frechet distance intercurring between two Geometry objects.
GAIAGEO_DECLARE gaiaGeomCollPtr gaiaShortestLine(gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2)
Spatial operator: Shortest Line.