OmniSciDB
c1a53651b2
|
#include "Geospatial/CompressionRuntime.h"
#include "Geospatial/Utm.h"
#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_INLINE int32_t | HeavyDB_Geo_PolyRenderGroup (int32_t render_group) |
EXTENSION_INLINE Array< double > | HeavyDB_Geo_PolyCoordsArray (int8_t *mpoly_coords, int64_t mpoly_coords_size, const int32_t ic) |
EXTENSION_INLINE Array< int32_t > | HeavyDB_Geo_PolyRingSizesArray (int32_t *mpoly_ring_sizes, int64_t mpoly_num_rings) |
EXTENSION_INLINE Array< int32_t > | HeavyDB_Geo_PolyPolyRingsArray (int32_t *mpoly_poly_sizes, int64_t mpoly_num_polys) |
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) |
#define DEBUG_STMT | ( | x | ) |
Definition at line 13 of file ExtensionFunctionsGeo.hpp.
Referenced by Contains_Polygon_Point_Impl(), and point_in_polygon_winding_number().
|
strong |
Enumerator | |
---|---|
kIncludePointOnEdge | |
kExcludePointOnEdge |
Definition at line 563 of file ExtensionFunctionsGeo.hpp.
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 1373 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 1350 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 1341 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 870 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 882 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 853 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 938 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 898 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 1519 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 1638 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 1599 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 1504 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 1581 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 218 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 97 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(), HeavyDB_Geo_PolyCoordsArray(), 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 4179 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 3966 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 105 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 117 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 130 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 5066 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 5034 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 197 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 79 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 433 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 453 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 250 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 277 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 1939 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 2010 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 2140 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 240 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 224 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 2088 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 472 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 509 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 184 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 4991 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
EXTENSION_INLINE Array<double> HeavyDB_Geo_PolyCoordsArray | ( | int8_t * | mpoly_coords, |
int64_t | mpoly_coords_size, | ||
const int32_t | ic | ||
) |
Definition at line 5001 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), and Array< T >::ptr.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
EXTENSION_INLINE Array<int32_t> HeavyDB_Geo_PolyPolyRingsArray | ( | int32_t * | mpoly_poly_sizes, |
int64_t | mpoly_num_polys | ||
) |
Definition at line 5025 of file ExtensionFunctionsGeo.hpp.
References Array< T >::ptr.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
EXTENSION_INLINE int32_t HeavyDB_Geo_PolyRenderGroup | ( | int32_t | render_group | ) |
Definition at line 4996 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.HeavyDBSqlOperatorTable::addUDF().
EXTENSION_INLINE Array<int32_t> HeavyDB_Geo_PolyRingSizesArray | ( | int32_t * | mpoly_ring_sizes, |
int64_t | mpoly_num_rings | ||
) |
Definition at line 5017 of file ExtensionFunctionsGeo.hpp.
References Array< T >::ptr.
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 550 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 5095 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 5107 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 1132 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 328 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 371 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 411 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 3761 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 3776 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 304 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 315 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 1249 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 913 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 579 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 862 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 825 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 713 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 392 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 1413 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 1401 of file ExtensionFunctionsGeo.hpp.
References area_polygon().
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 4279 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 4062 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 1552 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 1485 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 1731 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 1473 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 1680 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 4826 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 4643 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 3930 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 3946 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 4313 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 4246 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 3865 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 3849 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 3897 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 4092 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 4033 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 4126 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 2661 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 2619 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 2783 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 2604 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 1869 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 2714 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 3237 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 2634 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 2843 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 2520 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 2551 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 2460 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 2490 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 2313 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 2430 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 2445 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 2260 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 3103 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 2399 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 3169 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().
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 | ||
) |
Definition at line 3072 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_MultiPolygon().
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 | ||
) |
Definition at line 3134 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Polygon_MultiPolygon().
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 | ||
) |
Definition at line 1981 of file ExtensionFunctionsGeo.hpp.
References distance_point_linestring().
Referenced by distance_point_polygon().
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 | ||
) |
Definition at line 1996 of file ExtensionFunctionsGeo.hpp.
References distance_point_linestring().
Referenced by ST_Contains_LineString_Point(), ST_Distance_LineString_Point(), ST_DWithin_Point_LineString(), and ST_Intersects_Point_LineString().
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 | ||
) |
Definition at line 1852 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_in_meters(), and get_point().
Referenced by ST_Distance_LineString_Point_Geodesic().
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 | ||
) |
Definition at line 2062 of file ExtensionFunctionsGeo.hpp.
References distance_point_multilinestring().
Referenced by ST_Distance_MultiLineString_Point().
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 | ||
) |
Definition at line 1884 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_point_point(), and get_point().
Referenced by ST_Distance_MultiPoint_Point().
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 | ||
) |
Definition at line 1912 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_point_point_squared(), and get_point().
Referenced by ST_Distance_MultiPoint_Point_Squared().
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 | ||
) |
Definition at line 2229 of file ExtensionFunctionsGeo.hpp.
References distance_point_multipolygon().
Referenced by ST_Distance_MultiPolygon_Point(), and ST_DWithin_Point_MultiPolygon().
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 | ||
) |
Definition at line 1807 of file ExtensionFunctionsGeo.hpp.
References distance_point_point(), and get_point().
Referenced by ST_Intersects_Point_Point().
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 | ||
) |
Definition at line 1837 of file ExtensionFunctionsGeo.hpp.
References distance_in_meters(), and get_point().
Referenced by ST_DWithin_Point_Point_Geodesic().
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 | ||
) |
Definition at line 1822 of file ExtensionFunctionsGeo.hpp.
References distance_point_point_squared(), and get_point().
Referenced by ST_DWithin_Point_Point().
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 | ||
) |
Definition at line 2202 of file ExtensionFunctionsGeo.hpp.
References distance_point_polygon().
Referenced by ST_Distance_LineString_Polygon(), ST_Distance_Polygon_Point(), and ST_DWithin_Point_Polygon().
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 | ||
) |
Definition at line 2897 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_LineString_Polygon().
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 | ||
) |
Definition at line 2372 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_MultiPoint_Polygon().
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, | ||