OmniSciDB
a5dc49c757
|
#include "Geospatial/Compression.h"
#include "Geospatial/CompressionRuntime.h"
#include "Geospatial/Types.h"
#include "Geospatial/Utm.h"
#include <iomanip>
#include <string>
#include "Shared/likely.h"
Go to the source code of this file.
Classes | |
struct | anonymous_namespace{ExtensionFunctionsGeo.hpp}::CoordData |
struct | anonymous_namespace{ExtensionFunctionsGeo.hpp}::Point2D |
Namespaces | |
anonymous_namespace{ExtensionFunctionsGeo.hpp} | |
Macros | |
#define | DEBUG_STMT(x) |
Functions | |
DEVICE ALWAYS_INLINE double | tol (int32_t ic) |
DEVICE ALWAYS_INLINE double | tol (const int32_t ic1, const int32_t ic2) |
DEVICE ALWAYS_INLINE bool | tol_zero (const double x, const double tolerance=TOLERANCE_DEFAULT) |
DEVICE ALWAYS_INLINE bool | tol_eq (const double x, const double y, const double tolerance=TOLERANCE_DEFAULT) |
DEVICE ALWAYS_INLINE bool | tol_le (const double x, const double y, const double tolerance=TOLERANCE_DEFAULT) |
DEVICE ALWAYS_INLINE bool | tol_ge (const double x, const double y, const double tolerance=TOLERANCE_DEFAULT) |
template<Coords C> | |
DEVICE ALWAYS_INLINE double | decompress_coord (const int8_t *data, const int32_t x_index, const int32_t ic) |
DEVICE ALWAYS_INLINE int32_t | compression_unit_size (const int32_t ic) |
template<Coords C> | |
DEVICE ALWAYS_INLINE Point2D | conv_4326_900913 (const Point2D point) |
template<Coords C> | |
DEVICE ALWAYS_INLINE Point2D | conv_4326_utm (const Point2D point, const int32_t utm_srid) |
template<Coords C> | |
DEVICE ALWAYS_INLINE Point2D | conv_utm_4326 (const Point2D point, const int32_t utm_srid) |
template<Coords C> | |
DEVICE ALWAYS_INLINE Point2D | transform_point (const Point2D point, const int32_t isr, const int32_t osr) |
DEVICE ALWAYS_INLINE bool | x_and_y_are_dependent (const int32_t isr, const int32_t osr) |
DEVICE ALWAYS_INLINE Point2D | get_point (const int8_t *data, const int32_t x_index, const int32_t ic, const int32_t isr, const int32_t osr) |
template<Coords C> | |
DEVICE ALWAYS_INLINE Point2D | coord (const int8_t *data, const int32_t x_index, const int32_t ic, const int32_t isr, const int32_t osr) |
DEVICE ALWAYS_INLINE int32_t | compressed_coord (const int8_t *data, const int32_t index) |
DEVICE ALWAYS_INLINE double | distance_point_point_squared (double p1x, double p1y, double p2x, double p2y) |
DEVICE ALWAYS_INLINE double | distance_point_point (double p1x, double p1y, double p2x, double p2y) |
DEVICE double | distance_point_line (double px, double py, double l1x, double l1y, double l2x, double l2y) |
DEVICE double | distance_point_line_squared (double px, double py, double l1x, double l1y, double l2x, double l2y) |
DEVICE ALWAYS_INLINE bool | on_segment (double px, double py, double qx, double qy, double rx, double ry) |
DEVICE ALWAYS_INLINE int16_t | orientation (double px, double py, double qx, double qy, double rx, double ry) |
DEVICE bool | line_intersects_line (double l11x, double l11y, double l12x, double l12y, double l21x, double l21y, double l22x, double l22y) |
DEVICE bool | linestring_intersects_line (int8_t *l, int32_t lnum_coords, double l1x, double l1y, double l2x, double l2y, int32_t ic1, int32_t isr1, int32_t osr) |
DEVICE bool | ring_intersects_line (int8_t *ring, int32_t ring_num_coords, double l1x, double l1y, double l2x, double l2y, int32_t ic1, int32_t isr1, int32_t osr) |
DEVICE bool | linestring_intersects_linestring (int8_t *l, int32_t lnum_coords, double l1x, double l1y, double l2x, double l2y, int32_t ic1, int32_t isr1, int32_t osr) |
DEVICE double | distance_line_line (double l11x, double l11y, double l12x, double l12y, double l21x, double l21y, double l22x, double l22y) |
DEVICE double | distance_line_line_squared (double l11x, double l11y, double l12x, double l12y, double l21x, double l21y, double l22x, double l22y) |
DEVICE double | distance_ring_linestring (int8_t *ring, int32_t ring_num_coords, int8_t *l, int32_t lnum_coords, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
DEVICE double | distance_ring_ring (int8_t *ring1, int32_t ring1_num_coords, int8_t *ring2, int32_t ring2_num_coords, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
template<typename T > | |
DEVICE ALWAYS_INLINE T | is_left (const T lx0, const T ly0, const T lx1, const T ly1, const T px, const T py) |
template<typename T > | |
DEVICE ALWAYS_INLINE bool | tol_zero_template (const T x, const T tolerance=TOLERANCE_DEFAULT) |
template<typename T , EdgeBehavior TEdgeBehavior> | |
DEVICE ALWAYS_INLINE bool | point_in_polygon_winding_number (const int8_t *poly, const int32_t poly_num_coords, const T px, const T py, const int32_t ic1, const int32_t isr1, const int32_t osr) |
DEVICE ALWAYS_INLINE bool | polygon_contains_point (const int8_t *poly, const int32_t poly_num_coords, const double px, const double py, const int32_t ic1, const int32_t isr1, const int32_t osr) |
DEVICE bool | polygon_contains_linestring (int8_t *poly, int32_t poly_num_coords, int8_t *l, int64_t lnum_coords, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
DEVICE ALWAYS_INLINE bool | box_contains_point (const double *bounds, const int64_t bounds_size, const double px, const double py) |
EXTENSION_NOINLINE bool | Point_Overlaps_Box (double *bounds, int64_t bounds_size, double px, double py) |
DEVICE ALWAYS_INLINE bool | box_contains_box (double *bounds1, int64_t bounds1_size, double *bounds2, int64_t bounds2_size) |
DEVICE ALWAYS_INLINE bool | box_contains_box_vertex (double *bounds1, int64_t bounds1_size, double *bounds2, int64_t bounds2_size) |
DEVICE ALWAYS_INLINE bool | box_overlaps_box (double *bounds1, int64_t bounds1_size, double *bounds2, int64_t bounds2_size) |
DEVICE ALWAYS_INLINE bool | point_dwithin_box (int8_t *p1, int64_t p1size, int32_t ic1, int32_t isr1, double *bounds2, int64_t bounds2_size, int32_t isr2, int32_t osr, double distance) |
DEVICE ALWAYS_INLINE bool | box_dwithin_box (double *bounds1, int64_t bounds1_size, int32_t isr1, double *bounds2, int64_t bounds2_size, int32_t isr2, int32_t osr, double distance) |
DEVICE ALWAYS_INLINE CoordData | trim_linestring_to_buffered_box (int8_t *l1, int64_t l1size, int32_t ic1, int32_t isr1, double *bounds2, int64_t bounds2_size, int32_t isr2, int32_t osr, double distance) |
EXTENSION_NOINLINE double | ST_X_Point (int8_t *p, int64_t psize, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Y_Point (int8_t *p, int64_t psize, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_XMin (int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_YMin (int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_XMax (int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_YMax (int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_INLINE double | ST_XMin_Bounds (double *bounds, int64_t size, int32_t isr, int32_t osr) |
EXTENSION_INLINE double | ST_YMin_Bounds (double *bounds, int64_t size, int32_t isr, int32_t osr) |
EXTENSION_INLINE double | ST_XMax_Bounds (double *bounds, int64_t size, int32_t isr, int32_t osr) |
EXTENSION_INLINE double | ST_YMax_Bounds (double *bounds, int64_t size, int32_t isr, int32_t osr) |
DEVICE ALWAYS_INLINE double | length_linestring (int8_t *l, int32_t lsize, int32_t ic, int32_t isr, int32_t osr, bool geodesic, bool check_closed) |
EXTENSION_NOINLINE double | ST_Length_LineString (int8_t *coords, int64_t coords_sz, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Length_LineString_Geodesic (int8_t *coords, int64_t coords_sz, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Length_MultiLineString (int8_t *coords, int64_t coords_sz, int8_t *linestring_sizes_in, int64_t linestring_sizes_sz, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Perimeter_Polygon (int8_t *poly, int32_t polysize, int8_t *poly_ring_sizes, int32_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Perimeter_Polygon_Geodesic (int8_t *poly, int32_t polysize, int8_t *poly_ring_sizes_in, int32_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr) |
DEVICE ALWAYS_INLINE double | perimeter_multipolygon (int8_t *mpoly_coords, int32_t mpoly_coords_size, int8_t *mpoly_ring_sizes_in, int32_t mpoly_num_rings, int8_t *mpoly_poly_sizes, int32_t mpoly_num_polys, int32_t ic, int32_t isr, int32_t osr, bool geodesic) |
EXTENSION_NOINLINE double | ST_Perimeter_MultiPolygon (int8_t *mpoly_coords, int32_t mpoly_coords_size, int8_t *mpoly_ring_sizes, int32_t mpoly_num_rings, int8_t *mpoly_poly_sizes, int32_t mpoly_num_polys, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Perimeter_MultiPolygon_Geodesic (int8_t *mpoly_coords, int32_t mpoly_coords_size, int8_t *mpoly_ring_sizes, int32_t mpoly_num_rings, int8_t *mpoly_poly_sizes, int32_t mpoly_num_polys, int32_t ic, int32_t isr, int32_t osr) |
DEVICE ALWAYS_INLINE double | area_triangle (double x1, double y1, double x2, double y2, double x3, double y3) |
DEVICE ALWAYS_INLINE double | area_ring (int8_t *ring, int64_t ringsize, int32_t ic, int32_t isr, int32_t osr) |
DEVICE ALWAYS_INLINE double | area_polygon (int8_t *poly_coords, int32_t poly_coords_size, int8_t *poly_ring_sizes_in, int32_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Area_Polygon (int8_t *poly_coords, int32_t poly_coords_size, int8_t *poly_ring_sizes, int32_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Area_MultiPolygon (int8_t *mpoly_coords, int32_t mpoly_coords_size, int8_t *mpoly_ring_sizes, int32_t mpoly_num_rings, int8_t *mpoly_poly_sizes_in, int32_t mpoly_num_polys, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE void | ST_Centroid_Point (int8_t *p, int32_t psize, int32_t ic, int32_t isr, int32_t osr, double *point_centroid) |
EXTENSION_NOINLINE void | ST_Centroid_MultiPoint (int8_t *mp, int32_t mpsize, int32_t ic, int32_t isr, int32_t osr, double *multipoint_centroid) |
DEVICE ALWAYS_INLINE bool | centroid_add_segment (double x1, double y1, double x2, double y2, double *length, double *linestring_centroid_sum) |
DEVICE ALWAYS_INLINE bool | centroid_add_linestring (int8_t *l, int64_t lsize, int32_t ic, int32_t isr, int32_t osr, bool closed, double *total_length, double *linestring_centroid_sum, int64_t *num_points, double *point_centroid_sum) |
EXTENSION_NOINLINE void | ST_Centroid_LineString (int8_t *coords, int32_t coords_sz, int32_t ic, int32_t isr, int32_t osr, double *linestring_centroid) |
DEVICE ALWAYS_INLINE bool | centroid_add_triangle (double x1, double y1, double x2, double y2, double x3, double y3, double sign, double *total_area2, double *cg3) |
DEVICE ALWAYS_INLINE bool | centroid_add_ring (int8_t *ring, int64_t ringsize, int32_t ic, int32_t isr, int32_t osr, double sign, double *total_area2, double *cg3, double *total_length, double *linestring_centroid_sum, int64_t *num_points, double *point_centroid_sum) |
DEVICE ALWAYS_INLINE bool | centroid_add_polygon (int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr, double *total_area2, double *cg3, double *total_length, double *linestring_centroid_sum, int64_t *num_points, double *point_centroid_sum) |
EXTENSION_NOINLINE void | ST_Centroid_Polygon (int8_t *poly_coords, int32_t poly_coords_size, int32_t *poly_ring_sizes, int32_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr, double *poly_centroid) |
EXTENSION_NOINLINE void | ST_Centroid_MultiPolygon (int8_t *mpoly_coords, int32_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int32_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int32_t mpoly_num_polys, int32_t ic, int32_t isr, int32_t osr, double *mpoly_centroid) |
EXTENSION_NOINLINE double | ST_Distance_Point_Point (int8_t *p1, int64_t p1size, int8_t *p2, int64_t p2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE double | ST_Distance_Point_Point_Squared (int8_t *p1, int64_t p1size, int8_t *p2, int64_t p2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE double | ST_Distance_Point_Point_Geodesic (int8_t *p1, int64_t p1size, int8_t *p2, int64_t p2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE double | ST_Distance_Point_LineString_Geodesic (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE double | ST_Distance_LineString_Point_Geodesic (int8_t *l, int64_t lsize, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE double | ST_Distance_Point_MultiPoint (int8_t *p, int64_t psize, int8_t *mp, int64_t mpsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Point_MultiPoint_Squared (int8_t *p, int64_t psize, int8_t *mp, int64_t mpsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
DEVICE ALWAYS_INLINE double | distance_point_linestring (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, bool check_closed, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Point_ClosedLineString (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Point_LineString (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
DEVICE ALWAYS_INLINE double | distance_point_multilinestring (int8_t *p, int64_t psize, int8_t *mls, int64_t mls_size, int32_t *mls_ls_sizes, int64_t mls_ls_num, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Point_MultiLineString (int8_t *p, int64_t psize, int8_t *mls, int64_t mls_size, int32_t *mls_ls_sizes, int64_t mls_ls_num, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
DEVICE ALWAYS_INLINE double | distance_point_polygon (int8_t *p, int64_t psize, int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
DEVICE ALWAYS_INLINE double | distance_point_multipolygon (int8_t *p, int64_t psize, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Point_Polygon (int8_t *p, int64_t psize, int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Point_MultiPolygon (int8_t *p, int64_t psize, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPoint_Polygon (int8_t *mp, int64_t mpsize, int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPoint_MultiPolygon (int8_t *mp, int64_t mpsize, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_Polygon_MultiPoint (int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, int8_t *mp, int64_t mpsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPolygon_MultiPoint (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int8_t *mp, int64_t mpsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPoint_Point (int8_t *mp, int64_t mpsize, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPoint_Point_Squared (int8_t *mp, int64_t mpsize, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_MultiPoint_MultiPoint (int8_t *mp1, int64_t mp1size, int8_t *mp2, int64_t mp2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_MultiPoint_MultiPoint_Squared (int8_t *mp1, int64_t mp1size, int8_t *mp2, int64_t mp2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPoint_LineString (int8_t *mp, int64_t mpsize, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPoint_MultiLineString (int8_t *mp, int64_t mpsize, int8_t *mls, int64_t mls_size, int32_t *mls_ls_sizes, int64_t mls_ls_num, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_LineString_Point (int8_t *l, int64_t lsize, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_LineString_MultiPoint (int8_t *l, int64_t lsize, int8_t *mp, int64_t mpsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiLineString_MultiPoint (int8_t *mls, int64_t mls_size, int32_t *mls_ls_sizes, int64_t mls_ls_num, int8_t *mp, int64_t mpsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_LineString_LineString (int8_t *l1, int64_t l1size, int8_t *l2, int64_t l2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_LineString_Polygon (int8_t *l, int64_t lsize, int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_LineString_MultiPolygon (int8_t *l, int64_t lsize, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiLineString_Point (int8_t *mls, int64_t mls_size, int32_t *mls_ls_sizes, int64_t mls_ls_num, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_Polygon_Point (int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_Polygon_LineString (int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Polygon_Polygon (int8_t *poly1_coords, int64_t poly1_coords_size, int32_t *poly1_ring_sizes, int64_t poly1_num_rings, int8_t *poly2_coords, int64_t poly2_coords_size, int32_t *poly2_ring_sizes, int64_t poly2_num_rings, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_Polygon_MultiPolygon (int8_t *poly1_coords, int64_t poly1_coords_size, int32_t *poly1_ring_sizes, int64_t poly1_num_rings, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPolygon_Point (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPolygon_LineString (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE double | ST_Distance_MultiPolygon_Polygon (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, int8_t *poly1_coords, int64_t poly1_coords_size, int32_t *poly1_ring_sizes, int64_t poly1_num_rings, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_MultiPolygon_MultiPolygon (int8_t *mpoly1_coords, int64_t mpoly1_coords_size, int32_t *mpoly1_ring_sizes, int64_t mpoly1_num_rings, int32_t *mpoly1_poly_sizes, int64_t mpoly1_num_polys, int8_t *mpoly2_coords, int64_t mpoly2_coords_size, int32_t *mpoly2_ring_sizes, int64_t mpoly2_num_rings, int32_t *mpoly2_poly_sizes, int64_t mpoly2_num_polys, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_NOINLINE double | ST_Distance_MultiLineString_MultiLineString (int8_t *mls1, int64_t mls1size, int32_t *mls1_ls_sizes, int64_t mls1_ls_num, int8_t *mls2, int64_t mls2size, int32_t *mls2_ls_sizes, int64_t mls2_ls_num, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double threshold) |
EXTENSION_INLINE bool | ST_DWithin_Point_Point (int8_t *p1, int64_t p1size, int8_t *p2, int64_t p2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_Point_Point_Geodesic (int8_t *p1, int64_t p1size, int8_t *p2, int64_t p2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_Point_LineString (int8_t *p1, int64_t p1size, int8_t *l2, int64_t l2size, double *l2bounds, int64_t l2bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_Point_Polygon (int8_t *p, int64_t psize, int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_Point_MultiPolygon (int8_t *p, int64_t psize, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_LineString_LineString (int8_t *l1, int64_t l1size, double *l1bounds, int64_t l1bounds_size, int8_t *l2, int64_t l2size, double *l2bounds, int64_t l2bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_LineString_Polygon (int8_t *l1, int64_t l1size, double *l1bounds, int64_t l1bounds_size, int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_LineString_MultiPolygon (int8_t *l1, int64_t l1size, double *l1bounds, int64_t l1bounds_size, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_Polygon_Polygon (int8_t *poly1_coords, int64_t poly1_coords_size, int32_t *poly1_ring_sizes, int64_t poly1_num_rings, double *poly1_bounds, int64_t poly1_bounds_size, int8_t *poly2_coords, int64_t poly2_coords_size, int32_t *poly2_ring_sizes, int64_t poly2_num_rings, double *poly2_bounds, int64_t poly2_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_Polygon_MultiPolygon (int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
EXTENSION_INLINE bool | ST_DWithin_MultiPolygon_MultiPolygon (int8_t *mpoly1_coords, int64_t mpoly1_coords_size, int32_t *mpoly1_ring_sizes, int64_t mpoly1_num_rings, int32_t *mpoly1_poly_sizes, int64_t mpoly1_num_polys, double *mpoly1_bounds, int64_t mpoly1_bounds_size, int8_t *mpoly2_coords, int64_t mpoly2_coords_size, int32_t *mpoly2_ring_sizes, int64_t mpoly2_num_rings, int32_t *mpoly2_poly_sizes, int64_t mpoly2_num_polys, double *mpoly2_bounds, int64_t mpoly2_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, double distance_within) |
DEVICE double | max_distance_point_line (double px, double py, double l1x, double l1y, double l2x, double l2y) |
DEVICE ALWAYS_INLINE double | max_distance_point_linestring (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr, bool check_closed) |
EXTENSION_NOINLINE double | ST_MaxDistance_Point_LineString (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE double | ST_MaxDistance_LineString_Point (int8_t *l, int64_t lsize, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_Point_Point (int8_t *p1, int64_t p1size, int8_t *p2, int64_t p2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_Point_LineString (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_Point_Polygon (int8_t *p, int64_t psize, int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Contains_LineString_Point (int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_LineString_Polygon (int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
template<typename T , EdgeBehavior TEdgeBehavior> | |
DEVICE ALWAYS_INLINE bool | Contains_Polygon_Point_Impl (const int8_t *poly_coords, const int64_t poly_coords_size, const int32_t *poly_ring_sizes, const int64_t poly_num_rings, const double *poly_bounds, const int64_t poly_bounds_size, const int8_t *p, const int64_t psize, const int32_t ic1, const int32_t isr1, const int32_t ic2, const int32_t isr2, const int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_Polygon_Point (const int8_t *poly_coords, const int64_t poly_coords_size, const int32_t *poly_ring_sizes, const int64_t poly_num_rings, const double *poly_bounds, const int64_t poly_bounds_size, const int8_t *p, const int64_t psize, const int32_t ic1, const int32_t isr1, const int32_t ic2, const int32_t isr2, const int32_t osr) |
EXTENSION_NOINLINE bool | ST_cContains_Polygon_Point (const int8_t *poly_coords, const int64_t poly_coords_size, const int32_t *poly_ring_sizes, const int64_t poly_num_rings, const double *poly_bounds, const int64_t poly_bounds_size, const int8_t *p, const int64_t psize, const int32_t ic1, const int32_t isr1, const int32_t ic2, const int32_t isr2, const int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_Polygon_LineString (int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_Polygon_Polygon (int8_t *poly1_coords, int64_t poly1_coords_size, int32_t *poly1_ring_sizes, int64_t poly1_num_rings, double *poly1_bounds, int64_t poly1_bounds_size, int8_t *poly2_coords, int64_t poly2_coords_size, int32_t *poly2_ring_sizes, int64_t poly2_num_rings, double *poly2_bounds, int64_t poly2_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
template<typename T , EdgeBehavior TEdgeBehavior> | |
DEVICE ALWAYS_INLINE bool | Contains_MultiPolygon_Point_Impl (const int8_t *mpoly_coords, const int64_t mpoly_coords_size, const int32_t *mpoly_ring_sizes, const int64_t mpoly_num_rings, const int32_t *mpoly_poly_sizes, const int64_t mpoly_num_polys, const double *mpoly_bounds, const int64_t mpoly_bounds_size, const int8_t *p, const int64_t psize, const int32_t ic1, const int32_t isr1, const int32_t ic2, const int32_t isr2, const int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_MultiPolygon_Point (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_cContains_MultiPolygon_Point (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Contains_MultiPolygon_LineString (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_Point_Point (int8_t *p1, int64_t p1size, int8_t *p2, int64_t p2size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Intersects_Point_LineString (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_Point_Polygon (int8_t *p, int64_t psize, int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_Point_MultiPolygon (int8_t *p, int64_t psize, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_LineString_Point (int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Intersects_LineString_Linestring (int8_t *l1, int64_t l1size, double *l1bounds, int64_t l1bounds_size, int8_t *l2, int64_t l2size, double *l2bounds, int64_t l2bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Intersects_LineString_Polygon (int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Intersects_LineString_MultiPolygon (int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_Polygon_Point (int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_cIntersects_Polygon_Point (int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_Polygon_LineString (int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Intersects_Polygon_Polygon (int8_t *poly1_coords, int64_t poly1_coords_size, int32_t *poly1_ring_sizes, int64_t poly1_num_rings, double *poly1_bounds, int64_t poly1_bounds_size, int8_t *poly2_coords, int64_t poly2_coords_size, int32_t *poly2_ring_sizes, int64_t poly2_num_rings, double *poly2_bounds, int64_t poly2_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_NOINLINE bool | ST_Intersects_Polygon_MultiPolygon (int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_MultiPolygon_Point (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_cIntersects_MultiPolygon_Point (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int8_t *p, int64_t psize, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_MultiPolygon_LineString (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int8_t *l, int64_t lsize, double *lbounds, int64_t lbounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_MultiPolygon_Polygon (int8_t *mpoly_coords, int64_t mpoly_coords_size, int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings, int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys, double *mpoly_bounds, int64_t mpoly_bounds_size, int8_t *poly_coords, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, double *poly_bounds, int64_t poly_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE bool | ST_Intersects_MultiPolygon_MultiPolygon (int8_t *mpoly1_coords, int64_t mpoly1_coords_size, int32_t *mpoly1_ring_sizes, int64_t mpoly1_num_rings, int32_t *mpoly1_poly_sizes, int64_t mpoly1_num_polys, double *mpoly1_bounds, int64_t mpoly1_bounds_size, int8_t *mpoly2_coords, int64_t mpoly2_coords_size, int32_t *mpoly2_ring_sizes, int64_t mpoly2_num_rings, int32_t *mpoly2_poly_sizes, int64_t mpoly2_num_polys, double *mpoly2_bounds, int64_t mpoly2_bounds_size, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
EXTENSION_INLINE int64_t | HeavyDB_Geo_PolyBoundsPtr (double *bounds, int64_t size) |
EXTENSION_NOINLINE double | convert_meters_to_pixel_width (const double meters, int8_t *p, const int64_t psize, const int32_t ic, const int32_t isr, const int32_t osr, const double min_lon, const double max_lon, const int32_t img_width, const double min_width) |
EXTENSION_NOINLINE double | convert_meters_to_pixel_height (const double meters, int8_t *p, const int64_t psize, const int32_t ic, const int32_t isr, const int32_t osr, const double min_lat, const double max_lat, const int32_t img_height, const double min_height) |
EXTENSION_NOINLINE bool | is_point_in_view (int8_t *p, const int64_t psize, const int32_t ic, const double min_lon, const double max_lon, const double min_lat, const double max_lat) |
EXTENSION_NOINLINE bool | is_point_size_in_view (int8_t *p, const int64_t psize, const int32_t ic, const double meters, const double min_lon, const double max_lon, const double min_lat, const double max_lat) |
Geospatial::GeoPoint | to_Geospatial_GeoPoint (GeoPoint &p) |
Geospatial::GeoMultiPoint | to_Geospatial_GeoMultiPoint (GeoMultiPoint &mp) |
Geospatial::GeoLineString | to_Geospatial_GeoLineString (GeoLineString &l) |
Geospatial::GeoMultiLineString | to_Geospatial_GeoMultiLineString (GeoMultiLineString &ml) |
Geospatial::GeoPolygon | to_Geospatial_GeoPolygon (GeoPolygon &p) |
Geospatial::GeoMultiPolygon | to_Geospatial_GeoMultiPolygon (GeoMultiPolygon &mp) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsText__GeoPoint__cpu_ (RowFunctionManager &mgr, GeoPoint &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsText__GeoMultiPoint__cpu_ (RowFunctionManager &mgr, GeoMultiPoint &mp) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsText__GeoLineString__cpu_ (RowFunctionManager &mgr, GeoLineString &l) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsText__GeoMultiLineString__cpu_ (RowFunctionManager &mgr, GeoMultiLineString &ml) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsText__GeoPolygon__cpu_ (RowFunctionManager &mgr, GeoPolygon &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsText__GeoMultiPolygon__cpu_ (RowFunctionManager &mgr, GeoMultiPolygon &mp) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkt__GeoPoint__cpu_ (RowFunctionManager &mgr, GeoPoint &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkt__GeoMultiPoint__cpu_ (RowFunctionManager &mgr, GeoMultiPoint &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkt__GeoLineString__cpu_ (RowFunctionManager &mgr, GeoLineString &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkt__GeoMultiLineString__cpu_ (RowFunctionManager &mgr, GeoMultiLineString &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkt__GeoPolygon__cpu_ (RowFunctionManager &mgr, GeoPolygon &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkt__GeoMultiPolygon__cpu_ (RowFunctionManager &mgr, GeoMultiPolygon &p) |
template<typename T > | |
ALWAYS_INLINE std::string | __wkb_to_str (T &geometry) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsBinary__GeoPoint__cpu_ (RowFunctionManager &mgr, GeoPoint &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsBinary__GeoMultiPoint__cpu_ (RowFunctionManager &mgr, GeoMultiPoint &mp) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsBinary__GeoLineString__cpu_ (RowFunctionManager &mgr, GeoLineString &l) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsBinary__GeoMultiLineString__cpu_ (RowFunctionManager &mgr, GeoMultiLineString &ml) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsBinary__GeoPolygon__cpu_ (RowFunctionManager &mgr, GeoPolygon &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsBinary__GeoMultiPolygon__cpu_ (RowFunctionManager &mgr, GeoMultiPolygon &mp) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkb__GeoPoint__cpu_ (RowFunctionManager &mgr, GeoPoint &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkb__GeoMultiPoint__cpu_ (RowFunctionManager &mgr, GeoMultiPoint &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkb__GeoLineString__cpu_ (RowFunctionManager &mgr, GeoLineString &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkb__GeoMultiLineString__cpu_ (RowFunctionManager &mgr, GeoMultiLineString &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkb__GeoPolygon__cpu_ (RowFunctionManager &mgr, GeoPolygon &p) |
EXTENSION_NOINLINE TextEncodingNone | ST_AsWkb__GeoMultiPolygon__cpu_ (RowFunctionManager &mgr, GeoMultiPolygon &p) |
#define DEBUG_STMT | ( | x | ) |
Definition at line 21 of file ExtensionFunctionsGeo.hpp.
Referenced by Contains_Polygon_Point_Impl(), and point_in_polygon_winding_number().
|
strong |
Enumerator | |
---|---|
kIncludePointOnEdge | |
kExcludePointOnEdge |
Definition at line 571 of file ExtensionFunctionsGeo.hpp.
ALWAYS_INLINE std::string __wkb_to_str | ( | T & | geometry | ) |
Definition at line 5296 of file ExtensionFunctionsGeo.hpp.
Referenced by ST_AsBinary__GeoLineString__cpu_(), ST_AsBinary__GeoMultiLineString__cpu_(), ST_AsBinary__GeoMultiPoint__cpu_(), ST_AsBinary__GeoMultiPolygon__cpu_(), ST_AsBinary__GeoPoint__cpu_(), and ST_AsBinary__GeoPolygon__cpu_().
DEVICE ALWAYS_INLINE double area_polygon | ( | int8_t * | poly_coords, |
int32_t | poly_coords_size, | ||
int8_t * | poly_ring_sizes_in, | ||
int32_t | poly_num_rings, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr | ||
) |
Definition at line 1381 of file ExtensionFunctionsGeo.hpp.
References area_ring(), and compression_unit_size().
Referenced by ST_Area_MultiPolygon(), and ST_Area_Polygon().
DEVICE ALWAYS_INLINE double area_ring | ( | int8_t * | ring, |
int64_t | ringsize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr | ||
) |
Definition at line 1358 of file ExtensionFunctionsGeo.hpp.
References area_triangle(), compression_unit_size(), and get_point().
Referenced by area_polygon().
DEVICE ALWAYS_INLINE double area_triangle | ( | double | x1, |
double | y1, | ||
double | x2, | ||
double | y2, | ||
double | x3, | ||
double | y3 | ||
) |
Definition at line 1349 of file ExtensionFunctionsGeo.hpp.
Referenced by area_ring().
DEVICE ALWAYS_INLINE bool box_contains_box | ( | double * | bounds1, |
int64_t | bounds1_size, | ||
double * | bounds2, | ||
int64_t | bounds2_size | ||
) |
Definition at line 878 of file ExtensionFunctionsGeo.hpp.
References box_contains_point().
Referenced by ST_Contains_MultiPolygon_LineString(), ST_Contains_Polygon_LineString(), and ST_Contains_Polygon_Polygon().
DEVICE ALWAYS_INLINE bool box_contains_box_vertex | ( | double * | bounds1, |
int64_t | bounds1_size, | ||
double * | bounds2, | ||
int64_t | bounds2_size | ||
) |
Definition at line 890 of file ExtensionFunctionsGeo.hpp.
References box_contains_point().
DEVICE ALWAYS_INLINE bool box_contains_point | ( | const double * | bounds, |
const int64_t | bounds_size, | ||
const double | px, | ||
const double | py | ||
) |
Definition at line 861 of file ExtensionFunctionsGeo.hpp.
References tol_ge(), and tol_le().
Referenced by box_contains_box(), box_contains_box_vertex(), Contains_MultiPolygon_Point_Impl(), Contains_Polygon_Point_Impl(), Point_Overlaps_Box(), and ST_Intersects_Point_LineString().
DEVICE ALWAYS_INLINE bool box_dwithin_box | ( | double * | bounds1, |
int64_t | bounds1_size, | ||
int32_t | isr1, | ||
double * | bounds2, | ||
int64_t | bounds2_size, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | distance | ||
) |
Definition at line 946 of file ExtensionFunctionsGeo.hpp.
Referenced by ST_DWithin_LineString_LineString(), ST_DWithin_LineString_MultiPolygon(), ST_DWithin_LineString_Polygon(), ST_DWithin_MultiPolygon_MultiPolygon(), ST_DWithin_Polygon_MultiPolygon(), and ST_DWithin_Polygon_Polygon().
DEVICE ALWAYS_INLINE bool box_overlaps_box | ( | double * | bounds1, |
int64_t | bounds1_size, | ||
double * | bounds2, | ||
int64_t | bounds2_size | ||
) |
Definition at line 906 of file ExtensionFunctionsGeo.hpp.
Referenced by ST_Intersects_LineString_Linestring(), ST_Intersects_LineString_MultiPolygon(), ST_Intersects_LineString_Polygon(), ST_Intersects_MultiPolygon_MultiPolygon(), ST_Intersects_Polygon_MultiPolygon(), and ST_Intersects_Polygon_Polygon().
DEVICE ALWAYS_INLINE bool centroid_add_linestring | ( | int8_t * | l, |
int64_t | lsize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | closed, | ||
double * | total_length, | ||
double * | linestring_centroid_sum, | ||
int64_t * | num_points, | ||
double * | point_centroid_sum | ||
) |
Definition at line 1527 of file ExtensionFunctionsGeo.hpp.
References centroid_add_segment(), compression_unit_size(), and get_point().
Referenced by centroid_add_ring(), and ST_Centroid_LineString().
DEVICE ALWAYS_INLINE bool centroid_add_polygon | ( | int8_t * | poly_coords, |
int64_t | poly_coords_size, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
double * | total_area2, | ||
double * | cg3, | ||
double * | total_length, | ||
double * | linestring_centroid_sum, | ||
int64_t * | num_points, | ||
double * | point_centroid_sum | ||
) |
Definition at line 1646 of file ExtensionFunctionsGeo.hpp.
References centroid_add_ring(), and compression_unit_size().
Referenced by ST_Centroid_MultiPolygon(), and ST_Centroid_Polygon().
DEVICE ALWAYS_INLINE bool centroid_add_ring | ( | int8_t * | ring, |
int64_t | ringsize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
double | sign, | ||
double * | total_area2, | ||
double * | cg3, | ||
double * | total_length, | ||
double * | linestring_centroid_sum, | ||
int64_t * | num_points, | ||
double * | point_centroid_sum | ||
) |
Definition at line 1607 of file ExtensionFunctionsGeo.hpp.
References centroid_add_linestring(), centroid_add_triangle(), compression_unit_size(), and get_point().
Referenced by centroid_add_polygon().
DEVICE ALWAYS_INLINE bool centroid_add_segment | ( | double | x1, |
double | y1, | ||
double | x2, | ||
double | y2, | ||
double * | length, | ||
double * | linestring_centroid_sum | ||
) |
Definition at line 1512 of file ExtensionFunctionsGeo.hpp.
References distance_point_point().
Referenced by centroid_add_linestring().
DEVICE ALWAYS_INLINE bool centroid_add_triangle | ( | double | x1, |
double | y1, | ||
double | x2, | ||
double | y2, | ||
double | x3, | ||
double | y3, | ||
double | sign, | ||
double * | total_area2, | ||
double * | cg3 | ||
) |
Definition at line 1589 of file ExtensionFunctionsGeo.hpp.
Referenced by centroid_add_ring().
DEVICE ALWAYS_INLINE int32_t compressed_coord | ( | const int8_t * | data, |
const int32_t | index | ||
) |
Definition at line 226 of file ExtensionFunctionsGeo.hpp.
Referenced by Geospatial::compress_latitude_coord_geoint32(), Geospatial::compress_longitude_coord_geoint32(), Contains_Polygon_Point_Impl(), decompress_coord(), and point_in_polygon_winding_number().
DEVICE ALWAYS_INLINE int32_t compression_unit_size | ( | const int32_t | ic | ) |
Definition at line 105 of file ExtensionFunctionsGeo.hpp.
References COMPRESSION_GEOINT32.
Referenced by area_polygon(), area_ring(), centroid_add_linestring(), centroid_add_polygon(), centroid_add_ring(), Contains_MultiPolygon_Point_Impl(), Contains_Polygon_Point_Impl(), distance_point_linestring(), distance_point_multilinestring(), distance_point_multipolygon(), distance_point_polygon(), length_linestring(), max_distance_point_linestring(), perimeter_multipolygon(), ST_Area_MultiPolygon(), ST_Centroid_MultiPoint(), ST_Centroid_MultiPolygon(), ST_Contains_MultiPolygon_LineString(), ST_Contains_Point_LineString(), ST_Contains_Point_Polygon(), ST_Contains_Polygon_LineString(), ST_Contains_Polygon_Polygon(), ST_Distance_LineString_LineString(), ST_Distance_LineString_MultiPolygon(), ST_Distance_LineString_Polygon(), ST_Distance_MultiPoint_LineString(), ST_Distance_MultiPoint_MultiLineString(), ST_Distance_MultiPoint_MultiPoint(), ST_Distance_MultiPoint_MultiPoint_Squared(), ST_Distance_MultiPoint_MultiPolygon(), ST_Distance_MultiPoint_Polygon(), ST_Distance_MultiPolygon_MultiPolygon(), ST_Distance_Point_LineString_Geodesic(), ST_Distance_Point_MultiPoint(), ST_Distance_Point_MultiPoint_Squared(), ST_Distance_Polygon_MultiPolygon(), ST_Distance_Polygon_Polygon(), ST_DWithin_LineString_MultiPolygon(), ST_DWithin_LineString_Polygon(), ST_Length_MultiLineString(), ST_Perimeter_Polygon(), ST_Perimeter_Polygon_Geodesic(), ST_XMax(), ST_XMin(), ST_YMax(), ST_YMin(), and trim_linestring_to_buffered_box().
DEVICE ALWAYS_INLINE bool Contains_MultiPolygon_Point_Impl | ( | const int8_t * | mpoly_coords, |
const int64_t | mpoly_coords_size, | ||
const int32_t * | mpoly_ring_sizes, | ||
const int64_t | mpoly_num_rings, | ||
const int32_t * | mpoly_poly_sizes, | ||
const int64_t | mpoly_num_polys, | ||
const double * | mpoly_bounds, | ||
const int64_t | mpoly_bounds_size, | ||
const int8_t * | p, | ||
const int64_t | psize, | ||
const int32_t | ic1, | ||
const int32_t | isr1, | ||
const int32_t | ic2, | ||
const int32_t | isr2, | ||
const int32_t | osr | ||
) |
Definition at line 4187 of file ExtensionFunctionsGeo.hpp.
References box_contains_point(), compression_unit_size(), and get_point().
DEVICE ALWAYS_INLINE bool Contains_Polygon_Point_Impl | ( | const int8_t * | poly_coords, |
const int64_t | poly_coords_size, | ||
const int32_t * | poly_ring_sizes, | ||
const int64_t | poly_num_rings, | ||
const double * | poly_bounds, | ||
const int64_t | poly_bounds_size, | ||
const int8_t * | p, | ||
const int64_t | psize, | ||
const int32_t | ic1, | ||
const int32_t | isr1, | ||
const int32_t | ic2, | ||
const int32_t | isr2, | ||
const int32_t | osr | ||
) |
Definition at line 3974 of file ExtensionFunctionsGeo.hpp.
References box_contains_point(), compressed_coord(), compression_unit_size(), DEBUG_STMT, get_point(), and heavydb.dtypes::T.
DEVICE ALWAYS_INLINE Point2D conv_4326_900913 | ( | const Point2D | point | ) |
Definition at line 113 of file ExtensionFunctionsGeo.hpp.
References conv_4326_900913_x(), conv_4326_900913_y(), anonymous_namespace{ExtensionFunctionsGeo.hpp}::X, and anonymous_namespace{ExtensionFunctionsGeo.hpp}::Y.
DEVICE ALWAYS_INLINE Point2D conv_4326_utm | ( | const Point2D | point, |
const int32_t | utm_srid | ||
) |
Definition at line 125 of file ExtensionFunctionsGeo.hpp.
References Transform4326ToUTM::calculateX(), Transform4326ToUTM::calculateY(), anonymous_namespace{ExtensionFunctionsGeo.hpp}::X, and anonymous_namespace{ExtensionFunctionsGeo.hpp}::Y.
DEVICE ALWAYS_INLINE Point2D conv_utm_4326 | ( | const Point2D | point, |
const int32_t | utm_srid | ||
) |
Definition at line 138 of file ExtensionFunctionsGeo.hpp.
References TransformUTMTo4326::calculateX(), TransformUTMTo4326::calculateY(), anonymous_namespace{ExtensionFunctionsGeo.hpp}::X, and anonymous_namespace{ExtensionFunctionsGeo.hpp}::Y.
EXTENSION_NOINLINE double convert_meters_to_pixel_height | ( | const double | meters, |
int8_t * | p, | ||
const int64_t | psize, | ||
const int32_t | ic, | ||
const int32_t | isr, | ||
const int32_t | osr, | ||
const double | min_lat, | ||
const double | max_lat, | ||
const int32_t | img_height, | ||
const double | min_height | ||
) |
Definition at line 5033 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
EXTENSION_NOINLINE double convert_meters_to_pixel_width | ( | const double | meters, |
int8_t * | p, | ||
const int64_t | psize, | ||
const int32_t | ic, | ||
const int32_t | isr, | ||
const int32_t | osr, | ||
const double | min_lon, | ||
const double | max_lon, | ||
const int32_t | img_width, | ||
const double | min_width | ||
) |
Definition at line 5001 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
DEVICE ALWAYS_INLINE Point2D coord | ( | const int8_t * | data, |
const int32_t | x_index, | ||
const int32_t | ic, | ||
const int32_t | isr, | ||
const int32_t | osr | ||
) |
Definition at line 205 of file ExtensionFunctionsGeo.hpp.
References anonymous_namespace{ExtensionFunctionsGeo.hpp}::X, x_and_y_are_dependent(), and anonymous_namespace{ExtensionFunctionsGeo.hpp}::Y.
Referenced by Geospatial::compress_coords().
DEVICE ALWAYS_INLINE double decompress_coord | ( | const int8_t * | data, |
const int32_t | x_index, | ||
const int32_t | ic | ||
) |
Definition at line 87 of file ExtensionFunctionsGeo.hpp.
References compressed_coord(), COMPRESSION_GEOINT32, Geospatial::decompress_latitude_coord_geoint32(), Geospatial::decompress_longitude_coord_geoint32(), anonymous_namespace{ExtensionFunctionsGeo.hpp}::X, and anonymous_namespace{ExtensionFunctionsGeo.hpp}::Y.
DEVICE double distance_line_line | ( | double | l11x, |
double | l11y, | ||
double | l12x, | ||
double | l12y, | ||
double | l21x, | ||
double | l21y, | ||
double | l22x, | ||
double | l22y | ||
) |
Definition at line 441 of file ExtensionFunctionsGeo.hpp.
References distance_point_line(), and line_intersects_line().
Referenced by distance_ring_linestring(), distance_ring_ring(), and ST_Distance_LineString_LineString().
DEVICE double distance_line_line_squared | ( | double | l11x, |
double | l11y, | ||
double | l12x, | ||
double | l12y, | ||
double | l21x, | ||
double | l21y, | ||
double | l22x, | ||
double | l22y | ||
) |
Definition at line 461 of file ExtensionFunctionsGeo.hpp.
References distance_point_line_squared(), and line_intersects_line().
DEVICE double distance_point_line | ( | double | px, |
double | py, | ||
double | l1x, | ||
double | l1y, | ||
double | l2x, | ||
double | l2y | ||
) |
Definition at line 258 of file ExtensionFunctionsGeo.hpp.
References distance_point_point(), and tol_zero().
Referenced by distance_line_line(), distance_point_linestring(), and polygon_contains_point().
DEVICE double distance_point_line_squared | ( | double | px, |
double | py, | ||
double | l1x, | ||
double | l1y, | ||
double | l2x, | ||
double | l2y | ||
) |
Definition at line 285 of file ExtensionFunctionsGeo.hpp.
References distance_point_point_squared(), tol_zero(), and TOLERANCE_DEFAULT_SQUARED.
Referenced by distance_line_line_squared().
DEVICE ALWAYS_INLINE double distance_point_linestring | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
bool | check_closed, | ||
double | threshold | ||
) |
Definition at line 1947 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_point_line(), and get_point().
Referenced by distance_point_multilinestring(), ST_Distance_MultiPoint_LineString(), ST_Distance_Point_ClosedLineString(), and ST_Distance_Point_LineString().
DEVICE ALWAYS_INLINE double distance_point_multilinestring | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | mls, | ||
int64_t | mls_size, | ||
int32_t * | mls_ls_sizes, | ||
int64_t | mls_ls_num, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2018 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_point_linestring(), and tol_zero().
Referenced by ST_Distance_MultiPoint_MultiLineString(), and ST_Distance_Point_MultiLineString().
DEVICE ALWAYS_INLINE double distance_point_multipolygon | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | mpoly_coords, | ||
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2148 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_point_polygon(), and tol_zero().
Referenced by ST_Distance_MultiPoint_MultiPolygon(), and ST_Distance_Point_MultiPolygon().
DEVICE ALWAYS_INLINE double distance_point_point | ( | double | p1x, |
double | p1y, | ||
double | p2x, | ||
double | p2y | ||
) |
Definition at line 248 of file ExtensionFunctionsGeo.hpp.
References distance_point_point_squared().
Referenced by centroid_add_segment(), distance_point_line(), length_linestring(), max_distance_point_line(), ST_Distance_MultiPoint_MultiPoint(), ST_Distance_Point_MultiPoint(), and ST_Distance_Point_Point().
DEVICE ALWAYS_INLINE double distance_point_point_squared | ( | double | p1x, |
double | p1y, | ||
double | p2x, | ||
double | p2y | ||
) |
Definition at line 232 of file ExtensionFunctionsGeo.hpp.
References tol_zero(), and TOLERANCE_DEFAULT_SQUARED.
Referenced by distance_point_line_squared(), distance_point_point(), ST_Distance_MultiPoint_MultiPoint_Squared(), ST_Distance_Point_MultiPoint_Squared(), and ST_Distance_Point_Point_Squared().
DEVICE ALWAYS_INLINE double distance_point_polygon | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | poly, | ||
int64_t | polysize, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2096 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), get_point(), polygon_contains_point(), and ST_Distance_Point_ClosedLineString().
Referenced by distance_point_multipolygon(), ST_Distance_MultiPoint_Polygon(), and ST_Distance_Point_Polygon().
DEVICE double distance_ring_linestring | ( | int8_t * | ring, |
int32_t | ring_num_coords, | ||
int8_t * | l, | ||
int32_t | lnum_coords, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 480 of file ExtensionFunctionsGeo.hpp.
References distance_line_line(), get_point(), and tol_zero().
Referenced by ST_Distance_LineString_Polygon().
DEVICE double distance_ring_ring | ( | int8_t * | ring1, |
int32_t | ring1_num_coords, | ||
int8_t * | ring2, | ||
int32_t | ring2_num_coords, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 517 of file ExtensionFunctionsGeo.hpp.
References distance_line_line(), get_point(), and tol_zero().
Referenced by ST_Distance_Polygon_Polygon().
DEVICE ALWAYS_INLINE Point2D get_point | ( | const int8_t * | data, |
const int32_t | x_index, | ||
const int32_t | ic, | ||
const int32_t | isr, | ||
const int32_t | osr | ||
) |
Definition at line 192 of file ExtensionFunctionsGeo.hpp.
Referenced by area_ring(), centroid_add_linestring(), centroid_add_ring(), Contains_MultiPolygon_Point_Impl(), Contains_Polygon_Point_Impl(), distance_point_linestring(), distance_point_polygon(), distance_ring_linestring(), distance_ring_ring(), length_linestring(), linestring_intersects_line(), linestring_intersects_linestring(), max_distance_point_linestring(), point_dwithin_box(), point_in_polygon_winding_number(), polygon_contains_linestring(), polygon_contains_point(), ring_intersects_line(), ST_Centroid_MultiPoint(), ST_Centroid_MultiPolygon(), ST_Centroid_Point(), ST_Centroid_Polygon(), ST_Contains_Point_LineString(), ST_Contains_Point_Point(), ST_Distance_LineString_LineString(), ST_Distance_MultiPoint_MultiPoint(), ST_Distance_MultiPoint_MultiPoint_Squared(), ST_Distance_Point_LineString_Geodesic(), ST_Distance_Point_MultiPoint(), ST_Distance_Point_MultiPoint_Squared(), ST_Distance_Point_Point(), ST_Distance_Point_Point_Geodesic(), ST_Distance_Point_Point_Squared(), ST_Intersects_Point_LineString(), and trim_linestring_to_buffered_box().
EXTENSION_INLINE int64_t HeavyDB_Geo_PolyBoundsPtr | ( | double * | bounds, |
int64_t | size | ||
) |
Definition at line 4995 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
DEVICE ALWAYS_INLINE T is_left | ( | const T | lx0, |
const T | ly0, | ||
const T | lx1, | ||
const T | ly1, | ||
const T | px, | ||
const T | py | ||
) |
Tests if a point is left, on, or to the right of a 2D line
Definition at line 558 of file ExtensionFunctionsGeo.hpp.
Referenced by point_in_polygon_winding_number().
EXTENSION_NOINLINE bool is_point_in_view | ( | int8_t * | p, |
const int64_t | psize, | ||
const int32_t | ic, | ||
const double | min_lon, | ||
const double | max_lon, | ||
const double | min_lat, | ||
const double | max_lat | ||
) |
Definition at line 5062 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
EXTENSION_NOINLINE bool is_point_size_in_view | ( | int8_t * | p, |
const int64_t | psize, | ||
const int32_t | ic, | ||
const double | meters, | ||
const double | min_lon, | ||
const double | max_lon, | ||
const double | min_lat, | ||
const double | max_lat | ||
) |
Definition at line 5074 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
DEVICE ALWAYS_INLINE double length_linestring | ( | int8_t * | l, |
int32_t | lsize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | geodesic, | ||
bool | check_closed | ||
) |
Definition at line 1140 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_in_meters(), distance_point_point(), and get_point().
Referenced by perimeter_multipolygon(), ST_Length_LineString(), ST_Length_LineString_Geodesic(), ST_Length_MultiLineString(), ST_Perimeter_Polygon(), and ST_Perimeter_Polygon_Geodesic().
DEVICE bool line_intersects_line | ( | double | l11x, |
double | l11y, | ||
double | l12x, | ||
double | l12y, | ||
double | l21x, | ||
double | l21y, | ||
double | l22x, | ||
double | l22y | ||
) |
Definition at line 336 of file ExtensionFunctionsGeo.hpp.
References on_segment(), and orientation().
Referenced by distance_line_line(), distance_line_line_squared(), linestring_intersects_line(), linestring_intersects_linestring(), polygon_contains_point(), and ring_intersects_line().
DEVICE bool linestring_intersects_line | ( | int8_t * | l, |
int32_t | lnum_coords, | ||
double | l1x, | ||
double | l1y, | ||
double | l2x, | ||
double | l2y, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | osr | ||
) |
Definition at line 379 of file ExtensionFunctionsGeo.hpp.
References get_point(), and line_intersects_line().
Referenced by ring_intersects_line().
DEVICE bool linestring_intersects_linestring | ( | int8_t * | l, |
int32_t | lnum_coords, | ||
double | l1x, | ||
double | l1y, | ||
double | l2x, | ||
double | l2y, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | osr | ||
) |
Definition at line 419 of file ExtensionFunctionsGeo.hpp.
References get_point(), and line_intersects_line().
DEVICE double max_distance_point_line | ( | double | px, |
double | py, | ||
double | l1x, | ||
double | l1y, | ||
double | l2x, | ||
double | l2y | ||
) |
Definition at line 3769 of file ExtensionFunctionsGeo.hpp.
References distance_point_point().
Referenced by max_distance_point_linestring().
DEVICE ALWAYS_INLINE double max_distance_point_linestring | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
bool | check_closed | ||
) |
Definition at line 3784 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), get_point(), and max_distance_point_line().
Referenced by ST_MaxDistance_LineString_Point(), and ST_MaxDistance_Point_LineString().
DEVICE ALWAYS_INLINE bool on_segment | ( | double | px, |
double | py, | ||
double | qx, | ||
double | qy, | ||
double | rx, | ||
double | ry | ||
) |
Definition at line 312 of file ExtensionFunctionsGeo.hpp.
References tol_ge(), and tol_le().
Referenced by line_intersects_line().
DEVICE ALWAYS_INLINE int16_t orientation | ( | double | px, |
double | py, | ||
double | qx, | ||
double | qy, | ||
double | rx, | ||
double | ry | ||
) |
Definition at line 323 of file ExtensionFunctionsGeo.hpp.
References tol_zero().
Referenced by line_intersects_line().
DEVICE ALWAYS_INLINE double perimeter_multipolygon | ( | int8_t * | mpoly_coords, |
int32_t | mpoly_coords_size, | ||
int8_t * | mpoly_ring_sizes_in, | ||
int32_t | mpoly_num_rings, | ||
int8_t * | mpoly_poly_sizes, | ||
int32_t | mpoly_num_polys, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | geodesic | ||
) |
Definition at line 1257 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and length_linestring().
Referenced by ST_Perimeter_MultiPolygon(), and ST_Perimeter_MultiPolygon_Geodesic().
DEVICE ALWAYS_INLINE bool point_dwithin_box | ( | int8_t * | p1, |
int64_t | p1size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
double * | bounds2, | ||
int64_t | bounds2_size, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | distance | ||
) |
Definition at line 921 of file ExtensionFunctionsGeo.hpp.
References get_point().
Referenced by ST_DWithin_Point_LineString(), ST_DWithin_Point_MultiPolygon(), and ST_DWithin_Point_Polygon().
DEVICE ALWAYS_INLINE bool point_in_polygon_winding_number | ( | const int8_t * | poly, |
const int32_t | poly_num_coords, | ||
const T | px, | ||
const T | py, | ||
const int32_t | ic1, | ||
const int32_t | isr1, | ||
const int32_t | osr | ||
) |
Computes whether the point p is inside the polygon poly using the winding number algorithm. The winding number algorithm efficiently computes the winding number, which is the number of revolutions made around a point P while traveling around the polygon. If the winding number is non-zero, then P must be inside the polygon. The actual algorithm loops over all edges in the polygon, and determines the location of the crossing between a ray from the point P and each edge E of the polygon. In the implementation below, this crossing calculation is performed by assigning a fixed orientation to each edge, then computing the location of the point with respect to that edge. The parameter include_point_on_edge
allows the algorithm to work for both point-inside-polygon, or point-on-polygon calculations. The original source and additional detail for this implementation is here: http://geomalgorithms.com/a03-_inclusion.html
Definition at line 587 of file ExtensionFunctionsGeo.hpp.
References compressed_coord(), DEBUG_STMT, get_point(), is_left(), kIncludePointOnEdge, heavydb.dtypes::T, tol_zero_template(), and UNLIKELY.
EXTENSION_NOINLINE bool Point_Overlaps_Box | ( | double * | bounds, |
int64_t | bounds_size, | ||
double | px, | ||
double | py | ||
) |
Definition at line 870 of file ExtensionFunctionsGeo.hpp.
References box_contains_point().
DEVICE bool polygon_contains_linestring | ( | int8_t * | poly, |
int32_t | poly_num_coords, | ||
int8_t * | l, | ||
int64_t | lnum_coords, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 833 of file ExtensionFunctionsGeo.hpp.
References get_point(), polygon_contains_point(), and ring_intersects_line().
Referenced by ST_Contains_Polygon_LineString().
DEVICE ALWAYS_INLINE bool polygon_contains_point | ( | const int8_t * | poly, |
const int32_t | poly_num_coords, | ||
const double | px, | ||
const double | py, | ||
const int32_t | ic1, | ||
const int32_t | isr1, | ||
const int32_t | osr | ||
) |
Definition at line 721 of file ExtensionFunctionsGeo.hpp.
References distance_point_line(), get_point(), line_intersects_line(), run_benchmark_import::result, tol_eq(), and tol_zero().
Referenced by distance_point_polygon(), and polygon_contains_linestring().
DEVICE bool ring_intersects_line | ( | int8_t * | ring, |
int32_t | ring_num_coords, | ||
double | l1x, | ||
double | l1y, | ||
double | l2x, | ||
double | l2y, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | osr | ||
) |
Definition at line 400 of file ExtensionFunctionsGeo.hpp.
References get_point(), line_intersects_line(), and linestring_intersects_line().
Referenced by polygon_contains_linestring().
EXTENSION_NOINLINE double ST_Area_MultiPolygon | ( | int8_t * | mpoly_coords, |
int32_t | mpoly_coords_size, | ||
int8_t * | mpoly_ring_sizes, | ||
int32_t | mpoly_num_rings, | ||
int8_t * | mpoly_poly_sizes_in, | ||
int32_t | mpoly_num_polys, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr | ||
) |
Definition at line 1421 of file ExtensionFunctionsGeo.hpp.
References area_polygon(), and compression_unit_size().
EXTENSION_NOINLINE double ST_Area_Polygon | ( | int8_t * | poly_coords, |
int32_t | poly_coords_size, | ||
int8_t * | poly_ring_sizes, | ||
int32_t | poly_num_rings, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr | ||
) |
Definition at line 1409 of file ExtensionFunctionsGeo.hpp.
References area_polygon().
EXTENSION_NOINLINE TextEncodingNone ST_AsBinary__GeoLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoLineString & | l | ||
) |
Definition at line 5326 of file ExtensionFunctionsGeo.hpp.
References __wkb_to_str(), and to_Geospatial_GeoLineString().
Referenced by ST_AsWkb__GeoLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsBinary__GeoMultiLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiLineString & | ml | ||
) |
Definition at line 5333 of file ExtensionFunctionsGeo.hpp.
References __wkb_to_str(), and to_Geospatial_GeoMultiLineString().
Referenced by ST_AsWkb__GeoMultiLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsBinary__GeoMultiPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPoint & | mp | ||
) |
Definition at line 5319 of file ExtensionFunctionsGeo.hpp.
References __wkb_to_str(), and to_Geospatial_GeoMultiPoint().
Referenced by ST_AsWkb__GeoMultiPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsBinary__GeoMultiPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPolygon & | mp | ||
) |
Definition at line 5347 of file ExtensionFunctionsGeo.hpp.
References __wkb_to_str(), and to_Geospatial_GeoMultiPolygon().
Referenced by ST_AsWkb__GeoMultiPolygon__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsBinary__GeoPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPoint & | p | ||
) |
Definition at line 5311 of file ExtensionFunctionsGeo.hpp.
References __wkb_to_str(), and to_Geospatial_GeoPoint().
Referenced by ST_AsWkb__GeoPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsBinary__GeoPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPolygon & | p | ||
) |
Definition at line 5339 of file ExtensionFunctionsGeo.hpp.
References __wkb_to_str(), and to_Geospatial_GeoPolygon().
Referenced by ST_AsWkb__GeoPolygon__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsText__GeoLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoLineString & | l | ||
) |
Definition at line 5220 of file ExtensionFunctionsGeo.hpp.
References Geospatial::GeoBase::getWktString(), and to_Geospatial_GeoLineString().
Referenced by ST_AsWkt__GeoLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsText__GeoMultiLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiLineString & | ml | ||
) |
Definition at line 5227 of file ExtensionFunctionsGeo.hpp.
References Geospatial::GeoBase::getWktString(), and to_Geospatial_GeoMultiLineString().
Referenced by ST_AsWkt__GeoMultiLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsText__GeoMultiPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPoint & | mp | ||
) |
Definition at line 5213 of file ExtensionFunctionsGeo.hpp.
References Geospatial::GeoBase::getWktString(), and to_Geospatial_GeoMultiPoint().
Referenced by ST_AsWkt__GeoMultiPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsText__GeoMultiPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPolygon & | mp | ||
) |
Definition at line 5241 of file ExtensionFunctionsGeo.hpp.
References Geospatial::GeoBase::getWktString(), and to_Geospatial_GeoMultiPolygon().
Referenced by ST_AsWkt__GeoMultiPolygon__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsText__GeoPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPoint & | p | ||
) |
Definition at line 5205 of file ExtensionFunctionsGeo.hpp.
References Geospatial::GeoBase::getWktString(), and to_Geospatial_GeoPoint().
Referenced by ST_AsWkt__GeoPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsText__GeoPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPolygon & | p | ||
) |
Definition at line 5233 of file ExtensionFunctionsGeo.hpp.
References Geospatial::GeoBase::getWktString(), and to_Geospatial_GeoPolygon().
Referenced by ST_AsWkt__GeoPolygon__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkb__GeoLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoLineString & | p | ||
) |
Definition at line 5371 of file ExtensionFunctionsGeo.hpp.
References ST_AsBinary__GeoLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkb__GeoMultiLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiLineString & | p | ||
) |
Definition at line 5377 of file ExtensionFunctionsGeo.hpp.
References ST_AsBinary__GeoMultiLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkb__GeoMultiPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPoint & | p | ||
) |
Definition at line 5366 of file ExtensionFunctionsGeo.hpp.
References ST_AsBinary__GeoMultiPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkb__GeoMultiPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPolygon & | p | ||
) |
Definition at line 5387 of file ExtensionFunctionsGeo.hpp.
References ST_AsBinary__GeoMultiPolygon__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkb__GeoPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPoint & | p | ||
) |
Definition at line 5361 of file ExtensionFunctionsGeo.hpp.
References ST_AsBinary__GeoPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkb__GeoPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPolygon & | p | ||
) |
Definition at line 5381 of file ExtensionFunctionsGeo.hpp.
References ST_AsBinary__GeoPolygon__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkt__GeoLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoLineString & | p | ||
) |
Definition at line 5265 of file ExtensionFunctionsGeo.hpp.
References ST_AsText__GeoLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkt__GeoMultiLineString__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiLineString & | p | ||
) |
Definition at line 5271 of file ExtensionFunctionsGeo.hpp.
References ST_AsText__GeoMultiLineString__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkt__GeoMultiPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPoint & | p | ||
) |
Definition at line 5260 of file ExtensionFunctionsGeo.hpp.
References ST_AsText__GeoMultiPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkt__GeoMultiPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoMultiPolygon & | p | ||
) |
Definition at line 5281 of file ExtensionFunctionsGeo.hpp.
References ST_AsText__GeoMultiPolygon__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkt__GeoPoint__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPoint & | p | ||
) |
Definition at line 5255 of file ExtensionFunctionsGeo.hpp.
References ST_AsText__GeoPoint__cpu_().
EXTENSION_NOINLINE TextEncodingNone ST_AsWkt__GeoPolygon__cpu_ | ( | RowFunctionManager & | mgr, |
GeoPolygon & | p | ||
) |
Definition at line 5275 of file ExtensionFunctionsGeo.hpp.
References ST_AsText__GeoPolygon__cpu_().
EXTENSION_NOINLINE bool ST_cContains_MultiPolygon_Point | ( | int8_t * | mpoly_coords, |
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
double * | mpoly_bounds, | ||
int64_t | mpoly_bounds_size, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 4287 of file ExtensionFunctionsGeo.hpp.
EXTENSION_NOINLINE bool ST_cContains_Polygon_Point | ( | const int8_t * | poly_coords, |
const int64_t | poly_coords_size, | ||
const int32_t * | poly_ring_sizes, | ||
const int64_t | poly_num_rings, | ||
const double * | poly_bounds, | ||
const int64_t | poly_bounds_size, | ||
const int8_t * | p, | ||
const int64_t | psize, | ||
const int32_t | ic1, | ||
const int32_t | isr1, | ||
const int32_t | ic2, | ||
const int32_t | isr2, | ||
const int32_t | osr | ||
) |
Definition at line 4070 of file ExtensionFunctionsGeo.hpp.
EXTENSION_NOINLINE void ST_Centroid_LineString | ( | int8_t * | coords, |
int32_t | coords_sz, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
double * | linestring_centroid | ||
) |
Definition at line 1560 of file ExtensionFunctionsGeo.hpp.
References centroid_add_linestring().
EXTENSION_NOINLINE void ST_Centroid_MultiPoint | ( | int8_t * | mp, |
int32_t | mpsize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
double * | multipoint_centroid | ||
) |
Definition at line 1493 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and get_point().
EXTENSION_NOINLINE void ST_Centroid_MultiPolygon | ( | int8_t * | mpoly_coords, |
int32_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int32_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int32_t | mpoly_num_polys, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
double * | mpoly_centroid | ||
) |
Definition at line 1739 of file ExtensionFunctionsGeo.hpp.
References centroid_add_polygon(), compression_unit_size(), and get_point().
EXTENSION_NOINLINE void ST_Centroid_Point | ( | int8_t * | p, |
int32_t | psize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
double * | point_centroid | ||
) |
Definition at line 1481 of file ExtensionFunctionsGeo.hpp.
References get_point().
EXTENSION_NOINLINE void ST_Centroid_Polygon | ( | int8_t * | poly_coords, |
int32_t | poly_coords_size, | ||
int32_t * | poly_ring_sizes, | ||
int32_t | poly_num_rings, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
double * | poly_centroid | ||
) |
Definition at line 1688 of file ExtensionFunctionsGeo.hpp.
References centroid_add_polygon(), and get_point().
EXTENSION_INLINE bool ST_cIntersects_MultiPolygon_Point | ( | int8_t * | mpoly_coords, |
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
double * | mpoly_bounds, | ||
int64_t | mpoly_bounds_size, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 4834 of file ExtensionFunctionsGeo.hpp.
EXTENSION_INLINE bool ST_cIntersects_Polygon_Point | ( | int8_t * | poly, |
int64_t | polysize, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
double * | poly_bounds, | ||
int64_t | poly_bounds_size, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 4651 of file ExtensionFunctionsGeo.hpp.
EXTENSION_INLINE bool ST_Contains_LineString_Point | ( | int8_t * | l, |
int64_t | lsize, | ||
double * | lbounds, | ||
int64_t | lbounds_size, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3938 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_LineString(), and tol_zero().
EXTENSION_NOINLINE bool ST_Contains_LineString_Polygon | ( | int8_t * | l, |
int64_t | lsize, | ||
double * | lbounds, | ||
int64_t | lbounds_size, | ||
int8_t * | poly_coords, | ||
int64_t | poly_coords_size, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
double * | poly_bounds, | ||
int64_t | poly_bounds_size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3954 of file ExtensionFunctionsGeo.hpp.
EXTENSION_NOINLINE bool ST_Contains_MultiPolygon_LineString | ( | int8_t * | mpoly_coords, |
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
double * | mpoly_bounds, | ||
int64_t | mpoly_bounds_size, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
double * | lbounds, | ||
int64_t | lbounds_size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 4321 of file ExtensionFunctionsGeo.hpp.
References box_contains_box(), compression_unit_size(), and ST_Contains_Polygon_LineString().
EXTENSION_NOINLINE bool ST_Contains_MultiPolygon_Point | ( | int8_t * | mpoly_coords, |
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
double * | mpoly_bounds, | ||
int64_t | mpoly_bounds_size, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 4254 of file ExtensionFunctionsGeo.hpp.
EXTENSION_NOINLINE bool ST_Contains_Point_LineString | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
double * | lbounds, | ||
int64_t | lbounds_size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3873 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), get_point(), and tol_eq().
Referenced by ST_Contains_Point_Polygon().
EXTENSION_NOINLINE bool ST_Contains_Point_Point | ( | int8_t * | p1, |
int64_t | p1size, | ||
int8_t * | p2, | ||
int64_t | p2size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3857 of file ExtensionFunctionsGeo.hpp.
References get_point(), tol(), and tol_eq().
EXTENSION_NOINLINE bool ST_Contains_Point_Polygon | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | poly_coords, | ||
int64_t | poly_coords_size, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
double * | poly_bounds, | ||
int64_t | poly_bounds_size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3905 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and ST_Contains_Point_LineString().
EXTENSION_NOINLINE bool ST_Contains_Polygon_LineString | ( | int8_t * | poly_coords, |
int64_t | poly_coords_size, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
double * | poly_bounds, | ||
int64_t | poly_bounds_size, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
double * | lbounds, | ||
int64_t | lbounds_size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 4100 of file ExtensionFunctionsGeo.hpp.
References box_contains_box(), compression_unit_size(), and polygon_contains_linestring().
Referenced by ST_Contains_MultiPolygon_LineString(), and ST_Contains_Polygon_Polygon().
EXTENSION_NOINLINE bool ST_Contains_Polygon_Point | ( | const int8_t * | poly_coords, |
const int64_t | poly_coords_size, | ||
const int32_t * | poly_ring_sizes, | ||
const int64_t | poly_num_rings, | ||
const double * | poly_bounds, | ||
const int64_t | poly_bounds_size, | ||
const int8_t * | p, | ||
const int64_t | psize, | ||
const int32_t | ic1, | ||
const int32_t | isr1, | ||
const int32_t | ic2, | ||
const int32_t | isr2, | ||
const int32_t | osr | ||
) |
Definition at line 4041 of file ExtensionFunctionsGeo.hpp.
EXTENSION_NOINLINE bool ST_Contains_Polygon_Polygon | ( | int8_t * | poly1_coords, |
int64_t | poly1_coords_size, | ||
int32_t * | poly1_ring_sizes, | ||
int64_t | poly1_num_rings, | ||
double * | poly1_bounds, | ||
int64_t | poly1_bounds_size, | ||
int8_t * | poly2_coords, | ||
int64_t | poly2_coords_size, | ||
int32_t * | poly2_ring_sizes, | ||
int64_t | poly2_num_rings, | ||
double * | poly2_bounds, | ||
int64_t | poly2_bounds_size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 4134 of file ExtensionFunctionsGeo.hpp.
References box_contains_box(), compression_unit_size(), and ST_Contains_Polygon_LineString().
EXTENSION_NOINLINE double ST_Distance_LineString_LineString | ( | int8_t * | l1, |
int64_t | l1size, | ||
int8_t * | l2, | ||
int64_t | l2size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2669 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_line_line(), get_point(), tol_zero(), and TOLERANCE_DEFAULT_SQUARED.
Referenced by ST_DWithin_LineString_LineString(), and ST_Intersects_LineString_Linestring().
EXTENSION_INLINE double ST_Distance_LineString_MultiPoint | ( | int8_t * | l, |
int64_t | lsize, | ||
int8_t * | mp, | ||
int64_t | mpsize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2627 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_MultiPoint_LineString().
EXTENSION_NOINLINE double ST_Distance_LineString_MultiPolygon | ( | int8_t * | l, |
int64_t | lsize, | ||
int8_t * | mpoly_coords, | ||
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2791 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), ST_Distance_LineString_Polygon(), and tol_zero().
Referenced by ST_Distance_MultiPolygon_LineString(), ST_DWithin_LineString_MultiPolygon(), and ST_Intersects_LineString_MultiPolygon().
EXTENSION_INLINE double ST_Distance_LineString_Point | ( | int8_t * | l, |
int64_t | lsize, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2612 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_LineString().
EXTENSION_INLINE double ST_Distance_LineString_Point_Geodesic | ( | int8_t * | l, |
int64_t | lsize, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 1877 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_LineString_Geodesic().
EXTENSION_NOINLINE double ST_Distance_LineString_Polygon | ( | int8_t * | l, |
int64_t | lsize, | ||
int8_t * | poly_coords, | ||
int64_t | poly_coords_size, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2722 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_ring_linestring(), ST_Distance_Point_Polygon(), and tol_zero().
Referenced by ST_Distance_LineString_MultiPolygon(), ST_Distance_Polygon_LineString(), ST_DWithin_LineString_Polygon(), and ST_Intersects_LineString_Polygon().
EXTENSION_NOINLINE double ST_Distance_MultiLineString_MultiLineString | ( | int8_t * | mls1, |
int64_t | mls1size, | ||
int32_t * | mls1_ls_sizes, | ||
int64_t | mls1_ls_num, | ||
int8_t * | mls2, | ||
int64_t | mls2size, | ||
int32_t * | mls2_ls_sizes, | ||
int64_t | mls2_ls_num, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 3245 of file ExtensionFunctionsGeo.hpp.
EXTENSION_INLINE double ST_Distance_MultiLineString_MultiPoint | ( | int8_t * | mls, |
int64_t | mls_size, | ||
int32_t * | mls_ls_sizes, | ||
int64_t | mls_ls_num, | ||
int8_t * | mp, | ||
int64_t | mpsize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2642 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_MultiPoint_MultiLineString().
EXTENSION_INLINE double ST_Distance_MultiLineString_Point | ( | int8_t * | mls, |
int64_t | mls_size, | ||
int32_t * | mls_ls_sizes, | ||
int64_t | mls_ls_num, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2851 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_MultiLineString().
EXTENSION_INLINE double ST_Distance_MultiPoint_LineString | ( | int8_t * | mp, |
int64_t | mpsize, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2528 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and distance_point_linestring().
Referenced by ST_Distance_LineString_MultiPoint().
EXTENSION_INLINE double ST_Distance_MultiPoint_MultiLineString | ( | int8_t * | mp, |
int64_t | mpsize, | ||
int8_t * | mls, | ||
int64_t | mls_size, | ||
int32_t * | mls_ls_sizes, | ||
int64_t | mls_ls_num, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2559 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and distance_point_multilinestring().
Referenced by ST_Distance_MultiLineString_MultiPoint().
EXTENSION_NOINLINE double ST_Distance_MultiPoint_MultiPoint | ( | int8_t * | mp1, |
int64_t | mp1size, | ||
int8_t * | mp2, | ||
int64_t | mp2size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2468 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_point_point(), and get_point().
EXTENSION_NOINLINE double ST_Distance_MultiPoint_MultiPoint_Squared | ( | int8_t * | mp1, |
int64_t | mp1size, | ||
int8_t * | mp2, | ||
int64_t | mp2size, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2498 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_point_point_squared(), and get_point().
EXTENSION_INLINE double ST_Distance_MultiPoint_MultiPolygon | ( | int8_t * | mp, |
int64_t | mpsize, | ||
int8_t * | mpoly_coords, | ||
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2321 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and distance_point_multipolygon().
Referenced by ST_Distance_MultiPolygon_MultiPoint().
EXTENSION_INLINE double ST_Distance_MultiPoint_Point | ( | int8_t * | mp, |
int64_t | mpsize, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2438 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_MultiPoint().
EXTENSION_INLINE double ST_Distance_MultiPoint_Point_Squared | ( | int8_t * | mp, |
int64_t | mpsize, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2453 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_MultiPoint_Squared().
EXTENSION_INLINE double ST_Distance_MultiPoint_Polygon | ( | int8_t * | mp, |
int64_t | mpsize, | ||
int8_t * | poly, | ||
int64_t | polysize, | ||
int32_t * | poly_ring_sizes, | ||
int64_t | poly_num_rings, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2268 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and distance_point_polygon().
Referenced by ST_Distance_Polygon_MultiPoint().
EXTENSION_INLINE double ST_Distance_MultiPolygon_LineString | ( | int8_t * | mpoly_coords, |
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 3111 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_LineString_MultiPolygon().
EXTENSION_INLINE double ST_Distance_MultiPolygon_MultiPoint | ( | int8_t * | mpoly_coords, |
int64_t | mpoly_coords_size, | ||
int32_t * | mpoly_ring_sizes, | ||
int64_t | mpoly_num_rings, | ||
int32_t * | mpoly_poly_sizes, | ||
int64_t | mpoly_num_polys, | ||
int8_t * | mp, | ||
int64_t | mpsize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2407 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_MultiPoint_MultiPolygon().
EXTENSION_NOINLINE double ST_Distance_MultiPolygon_MultiPolygon | ( | int8_t * | mpoly1_coords, |
int64_t | mpoly1_coords_size, | ||
int32_t * | mpoly1_ring_sizes, | ||
int64_t | mpoly1_num_rings, | ||
int32_t * | mpoly1_poly_sizes, | ||
int64_t | mpoly1_num_polys, | ||
int8_t * | mpoly2_coords, | ||
int64_t | mpoly2_coords_size, | ||
int32_t * | mpoly2_ring_sizes, | ||
int64_t | mpoly2_num_rings, | ||
int32_t * | mpoly2_poly_sizes, | ||
int64_t | mpoly2_num_polys, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 3177 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), ST_Distance_Polygon_MultiPolygon(), and tol_zero().
Referenced by ST_DWithin_MultiPolygon_MultiPolygon(), and ST_Intersects_MultiPolygon_MultiPolygon().