OmniSciDB
a667adc9c8
|
Go to the source code of this file.
Macros | |
#define | DEBUG_STMT(x) |
Enumerations | |
enum | EdgeBehavior { EdgeBehavior::kIncludePointOnEdge, EdgeBehavior::kExcludePointOnEdge } |
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) |
DEVICE ALWAYS_INLINE double | decompress_coord (const int8_t *data, const int32_t index, const int32_t ic, const bool x) |
DEVICE ALWAYS_INLINE int32_t | compression_unit_size (const int32_t ic) |
DEVICE ALWAYS_INLINE double | transform_coord (const double coord, const int32_t isr, const int32_t osr, const bool x) |
DEVICE ALWAYS_INLINE double | transform_coord_x (const double coord, const int32_t isr, const int32_t osr) |
DEVICE ALWAYS_INLINE double | transform_coord_y (const double coord, const int32_t isr, const int32_t osr) |
DEVICE ALWAYS_INLINE double | coord_x (const int8_t *data, const int32_t index, const int32_t ic, const int32_t isr, const int32_t osr) |
DEVICE ALWAYS_INLINE double | coord_y (const int8_t *data, const int32_t 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) |
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_X_LineString (int8_t *l, int64_t lsize, int32_t lindex, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Y_LineString (int8_t *l, int64_t lsize, int32_t lindex, 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, int64_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_Perimeter_Polygon (int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Perimeter_Polygon_Geodesic (int8_t *poly, int64_t polysize, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr) |
DEVICE ALWAYS_INLINE double | perimeter_multipolygon (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 ic, int32_t isr, int32_t osr, bool geodesic) |
EXTENSION_NOINLINE double | ST_Perimeter_MultiPolygon (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 ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Perimeter_MultiPolygon_Geodesic (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 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, int64_t poly_coords_size, int32_t *poly_ring_sizes, int64_t poly_num_rings, int32_t ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Area_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) |
EXTENSION_INLINE double | ST_Area_Polygon_Geodesic (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) |
EXTENSION_NOINLINE double | ST_Area_MultiPolygon (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 ic, int32_t isr, int32_t osr) |
EXTENSION_INLINE double | ST_Area_MultiPolygon_Geodesic (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 ic, int32_t isr, int32_t osr) |
EXTENSION_NOINLINE double | ST_Centroid_Point (int8_t *p, int64_t psize, int32_t ic, int32_t isr, int32_t osr, bool ycoord) |
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 double | ST_Centroid_LineString (int8_t *coords, int64_t coords_sz, int32_t ic, int32_t isr, int32_t osr, bool ycoord) |
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 double | ST_Centroid_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, bool ycoord) |
EXTENSION_NOINLINE double | ST_Centroid_MultiPolygon (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 ic, int32_t isr, int32_t osr, bool ycoord) |
EXTENSION_INLINE int32_t | ST_NPoints (int8_t *coords, int64_t coords_sz, int32_t ic) |
EXTENSION_INLINE int32_t | ST_NRings (int32_t *poly_ring_sizes, int64_t poly_num_rings) |
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 lindex, 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, int32_t lindex, 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_LineString_LineString_Geodesic (int8_t *l1, int64_t l1size, int32_t l1index, int8_t *l2, int64_t l2size, int32_t l2index, int32_t ic1, int32_t isr1, int32_t ic2, int32_t isr2, int32_t osr) |
DEVICE ALWAYS_INLINE double | distance_point_linestring (int8_t *p, int64_t psize, int8_t *l, int64_t lsize, int32_t lindex, 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 lindex, 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 lindex, 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_LineString_Point (int8_t *l, int64_t lsize, int32_t lindex, 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_LineString_LineString (int8_t *l1, int64_t l1size, int32_t l1index, int8_t *l2, int64_t l2size, int32_t l2index, 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, int32_t lindex, 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, int32_t lindex, 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_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 li, 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 lindex, 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_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_LineString (int8_t *p1, int64_t p1size, int8_t *l2, int64_t l2size, double *l2bounds, int64_t l2bounds_size, int32_t l2index, 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, int32_t l1index, int8_t *l2, int64_t l2size, double *l2bounds, int64_t l2bounds_size, int32_t l2index, 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, int32_t l1index, 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, int32_t l1index, 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 lindex, 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 lindex, 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, int32_t lindex, 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 li, 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, int32_t li, 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_LineString (int8_t *l1, int64_t l1size, double *l1bounds, int64_t l1bounds_size, int32_t l1i, int8_t *l2, int64_t l2size, double *l2bounds, int64_t l2bounds_size, int32_t l2i, 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, int32_t li, 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 li, 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 li, 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 li, 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, int32_t li, 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, int32_t l1i, int8_t *l2, int64_t l2size, double *l2bounds, int64_t l2bounds_size, int32_t l2i, 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, int32_t li, 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, int32_t li, 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_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 li, 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_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 li, 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 | OmniSci_Geo_PolyBoundsPtr (double *bounds, int64_t size) |
EXTENSION_INLINE int32_t | OmniSci_Geo_PolyRenderGroup (int32_t render_group) |
EXTENSION_INLINE int64_t | MapD_GeoPolyBoundsPtr (double *bounds, int64_t size) |
EXTENSION_INLINE int32_t | MapD_GeoPolyRenderGroup (int32_t render_group) |
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 11 of file ExtensionFunctionsGeo.hpp.
Referenced by Contains_Polygon_Point_Impl(), and point_in_polygon_winding_number().
|
strong |
Enumerator | |
---|---|
kIncludePointOnEdge | |
kExcludePointOnEdge |
Definition at line 514 of file ExtensionFunctionsGeo.hpp.
DEVICE ALWAYS_INLINE double area_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 | ||
) |
Definition at line 1264 of file ExtensionFunctionsGeo.hpp.
References area_ring(), compression_unit_size(), and test_fsi::r.
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 1237 of file ExtensionFunctionsGeo.hpp.
References area_triangle(), compression_unit_size(), coord_x(), coord_y(), and i.
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 1228 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 826 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 838 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 809 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(), ST_Contains_MultiPolygon_LineString(), ST_Contains_Polygon_LineString(), 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 898 of file ExtensionFunctionsGeo.hpp.
References transform_coord_x(), and transform_coord_y().
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 854 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 1416 of file ExtensionFunctionsGeo.hpp.
References centroid_add_segment(), compression_unit_size(), coord_x(), coord_y(), and i.
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 1548 of file ExtensionFunctionsGeo.hpp.
References centroid_add_ring(), compression_unit_size(), and test_fsi::r.
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 1505 of file ExtensionFunctionsGeo.hpp.
References centroid_add_linestring(), centroid_add_triangle(), compression_unit_size(), coord_x(), coord_y(), and i.
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 1401 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 1487 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 144 of file ExtensionFunctionsGeo.hpp.
Referenced by Geospatial::compress_lattitude_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 71 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(), length_linestring(), max_distance_point_linestring(), perimeter_multipolygon(), ST_Area_MultiPolygon(), 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_LineString_Geodesic(), ST_Distance_LineString_MultiPolygon(), ST_Distance_LineString_Polygon(), ST_Distance_MultiPolygon_MultiPolygon(), ST_Distance_Point_LineString(), ST_Distance_Point_LineString_Geodesic(), ST_Distance_Point_MultiPolygon(), ST_Distance_Point_Polygon(), ST_Distance_Polygon_MultiPolygon(), ST_Distance_Polygon_Polygon(), ST_Intersects_LineString_Linestring(), ST_Intersects_LineString_MultiPolygon(), ST_Intersects_LineString_Polygon(), ST_Intersects_Point_LineString(), ST_NPoints(), ST_Perimeter_Polygon(), ST_Perimeter_Polygon_Geodesic(), ST_X_LineString(), ST_XMax(), ST_XMin(), ST_Y_LineString(), ST_YMax(), and ST_YMin().
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 3672 of file ExtensionFunctionsGeo.hpp.
References box_contains_point(), compression_unit_size(), coord_x(), and coord_y().
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 3437 of file ExtensionFunctionsGeo.hpp.
References box_contains_point(), compressed_coord(), compression_unit_size(), coord_x(), coord_y(), DEBUG_STMT, test_fsi::r, and omnisci.dtypes::T.
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 4615 of file ExtensionFunctionsGeo.hpp.
References decompress_coord(), and transform_coord().
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::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 4584 of file ExtensionFunctionsGeo.hpp.
References decompress_coord(), and transform_coord().
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::addUDF().
DEVICE ALWAYS_INLINE double coord_x | ( | const int8_t * | data, |
const int32_t | index, | ||
const int32_t | ic, | ||
const int32_t | isr, | ||
const int32_t | osr | ||
) |
Definition at line 120 of file ExtensionFunctionsGeo.hpp.
References decompress_coord(), and transform_coord().
Referenced by area_ring(), centroid_add_linestring(), centroid_add_ring(), Contains_MultiPolygon_Point_Impl(), Contains_Polygon_Point_Impl(), distance_point_linestring(), 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_MultiPolygon(), ST_Centroid_Point(), ST_Centroid_Polygon(), ST_Contains_MultiPolygon_LineString(), ST_Contains_Point_LineString(), ST_Contains_Point_Point(), ST_Contains_Polygon_LineString(), ST_Distance_LineString_LineString(), ST_Distance_LineString_LineString_Geodesic(), ST_Distance_Point_LineString(), ST_Distance_Point_LineString_Geodesic(), ST_Distance_Point_Point(), ST_Distance_Point_Point_Geodesic(), ST_Distance_Point_Point_Squared(), ST_Distance_Point_Polygon(), ST_Intersects_Point_LineString(), ST_X_LineString(), ST_X_Point(), ST_XMax(), and ST_XMin().
DEVICE ALWAYS_INLINE double coord_y | ( | const int8_t * | data, |
const int32_t | index, | ||
const int32_t | ic, | ||
const int32_t | isr, | ||
const int32_t | osr | ||
) |
Definition at line 132 of file ExtensionFunctionsGeo.hpp.
References decompress_coord(), and transform_coord().
Referenced by area_ring(), centroid_add_linestring(), centroid_add_ring(), Contains_MultiPolygon_Point_Impl(), Contains_Polygon_Point_Impl(), distance_point_linestring(), 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_MultiPolygon(), ST_Centroid_Point(), ST_Centroid_Polygon(), ST_Contains_MultiPolygon_LineString(), ST_Contains_Point_LineString(), ST_Contains_Point_Point(), ST_Contains_Polygon_LineString(), ST_Distance_LineString_LineString(), ST_Distance_LineString_LineString_Geodesic(), ST_Distance_Point_LineString(), ST_Distance_Point_LineString_Geodesic(), ST_Distance_Point_Point(), ST_Distance_Point_Point_Geodesic(), ST_Distance_Point_Point_Squared(), ST_Distance_Point_Polygon(), ST_Intersects_Point_LineString(), ST_Y_LineString(), ST_Y_Point(), ST_YMax(), and ST_YMin().
DEVICE ALWAYS_INLINE double decompress_coord | ( | const int8_t * | data, |
const int32_t | index, | ||
const int32_t | ic, | ||
const bool | x | ||
) |
Definition at line 54 of file ExtensionFunctionsGeo.hpp.
References compressed_coord(), COMPRESSION_GEOINT32, Geospatial::decompress_lattitude_coord_geoint32(), and Geospatial::decompress_longitude_coord_geoint32().
Referenced by convert_meters_to_pixel_height(), convert_meters_to_pixel_width(), coord_x(), coord_y(), is_point_in_view(), and is_point_size_in_view().
DEVICE double distance_line_line | ( | double | l11x, |
double | l11y, | ||
double | l12x, | ||
double | l12y, | ||
double | l21x, | ||
double | l21y, | ||
double | l22x, | ||
double | l22y | ||
) |
Definition at line 367 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 387 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 176 of file ExtensionFunctionsGeo.hpp.
References distance_point_point(), generate_TableFunctionsFactory_init::k, 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 203 of file ExtensionFunctionsGeo.hpp.
References distance_point_point_squared(), generate_TableFunctionsFactory_init::k, 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 | lindex, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
bool | check_closed, | ||
double | threshold | ||
) |
Definition at line 1851 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), distance_point_line(), distance_point_point(), and i.
Referenced by ST_Distance_Point_ClosedLineString(), and ST_Distance_Point_LineString().
DEVICE ALWAYS_INLINE double distance_point_point | ( | double | p1x, |
double | p1y, | ||
double | p2x, | ||
double | p2y | ||
) |
Definition at line 166 of file ExtensionFunctionsGeo.hpp.
References distance_point_point_squared().
Referenced by centroid_add_segment(), distance_point_line(), distance_point_linestring(), length_linestring(), max_distance_point_line(), max_distance_point_linestring(), ST_Distance_Point_LineString(), and ST_Distance_Point_Point().
DEVICE ALWAYS_INLINE double distance_point_point_squared | ( | double | p1x, |
double | p1y, | ||
double | p2x, | ||
double | p2y | ||
) |
Definition at line 150 of file ExtensionFunctionsGeo.hpp.
References tol_zero(), and TOLERANCE_DEFAULT_SQUARED.
Referenced by distance_point_line_squared(), distance_point_point(), and ST_Distance_Point_Point_Squared().
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 406 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), distance_line_line(), i, generate_TableFunctionsFactory_init::j, 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 451 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), distance_line_line(), i, generate_TableFunctionsFactory_init::j, and tol_zero().
Referenced by ST_Distance_Polygon_Polygon().
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 501 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 4644 of file ExtensionFunctionsGeo.hpp.
References decompress_coord().
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::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 4656 of file ExtensionFunctionsGeo.hpp.
References decompress_coord().
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::addUDF().
DEVICE ALWAYS_INLINE double length_linestring | ( | int8_t * | l, |
int64_t | lsize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | geodesic, | ||
bool | check_closed | ||
) |
Definition at line 1048 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), distance_in_meters(), distance_point_point(), and i.
Referenced by perimeter_multipolygon(), ST_Length_LineString(), ST_Length_LineString_Geodesic(), 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 254 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 297 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), i, 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 342 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), i, and line_intersects_line().
EXTENSION_INLINE int64_t MapD_GeoPolyBoundsPtr | ( | double * | bounds, |
int64_t | size | ||
) |
Definition at line 4574 of file ExtensionFunctionsGeo.hpp.
References OmniSci_Geo_PolyBoundsPtr().
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::addUDF().
EXTENSION_INLINE int32_t MapD_GeoPolyRenderGroup | ( | int32_t | render_group | ) |
Definition at line 4579 of file ExtensionFunctionsGeo.hpp.
References OmniSci_Geo_PolyRenderGroup().
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::addUDF().
DEVICE double max_distance_point_line | ( | double | px, |
double | py, | ||
double | l1x, | ||
double | l1y, | ||
double | l2x, | ||
double | l2y | ||
) |
Definition at line 3177 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 | lindex, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
bool | check_closed | ||
) |
Definition at line 3192 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), distance_point_point(), i, and max_distance_point_line().
Referenced by ST_MaxDistance_LineString_Point(), and ST_MaxDistance_Point_LineString().
EXTENSION_INLINE int64_t OmniSci_Geo_PolyBoundsPtr | ( | double * | bounds, |
int64_t | size | ||
) |
Definition at line 4564 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::addUDF(), and MapD_GeoPolyBoundsPtr().
EXTENSION_INLINE int32_t OmniSci_Geo_PolyRenderGroup | ( | int32_t | render_group | ) |
Definition at line 4569 of file ExtensionFunctionsGeo.hpp.
Referenced by com.mapd.calcite.parser.MapDSqlOperatorTable::addUDF(), and MapD_GeoPolyRenderGroup().
DEVICE ALWAYS_INLINE bool on_segment | ( | double | px, |
double | py, | ||
double | qx, | ||
double | qy, | ||
double | rx, | ||
double | ry | ||
) |
Definition at line 230 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 241 of file ExtensionFunctionsGeo.hpp.
References tol_zero().
Referenced by line_intersects_line().
DEVICE ALWAYS_INLINE double perimeter_multipolygon | ( | 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 | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | geodesic | ||
) |
Definition at line 1138 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 869 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), transform_coord_x(), and transform_coord_y().
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 530 of file ExtensionFunctionsGeo.hpp.
References compressed_coord(), coord_x(), coord_y(), DEBUG_STMT, is_left(), kIncludePointOnEdge, omnisci.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 818 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 779 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), i, 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 664 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), distance_point_line(), i, line_intersects_line(), run_benchmark_import::result, tol_eq(), and tol_zero().
Referenced by polygon_contains_linestring(), and ST_Distance_Point_Polygon().
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 321 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), line_intersects_line(), and linestring_intersects_line().
Referenced by polygon_contains_linestring().
EXTENSION_NOINLINE double ST_Area_MultiPolygon | ( | 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 | ic, | ||
int32_t | isr, | ||
int32_t | osr | ||
) |
Definition at line 1315 of file ExtensionFunctionsGeo.hpp.
References area_polygon(), and compression_unit_size().
Referenced by ST_Area_MultiPolygon_Geodesic().
EXTENSION_INLINE double ST_Area_MultiPolygon_Geodesic | ( | 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 | ic, | ||
int32_t | isr, | ||
int32_t | osr | ||
) |
Definition at line 1353 of file ExtensionFunctionsGeo.hpp.
References ST_Area_MultiPolygon().
EXTENSION_NOINLINE double ST_Area_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 | ||
) |
Definition at line 1291 of file ExtensionFunctionsGeo.hpp.
References area_polygon().
Referenced by ST_Area_Polygon_Geodesic().
EXTENSION_INLINE double ST_Area_Polygon_Geodesic | ( | 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 | ||
) |
Definition at line 1303 of file ExtensionFunctionsGeo.hpp.
References ST_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 3774 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 3535 of file ExtensionFunctionsGeo.hpp.
EXTENSION_NOINLINE double ST_Centroid_LineString | ( | int8_t * | coords, |
int64_t | coords_sz, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | ycoord | ||
) |
Definition at line 1453 of file ExtensionFunctionsGeo.hpp.
References centroid_add_linestring().
EXTENSION_NOINLINE double ST_Centroid_MultiPolygon | ( | 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 | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | ycoord | ||
) |
Definition at line 1644 of file ExtensionFunctionsGeo.hpp.
References centroid_add_polygon(), compression_unit_size(), coord_x(), and coord_y().
EXTENSION_NOINLINE double ST_Centroid_Point | ( | int8_t * | p, |
int64_t | psize, | ||
int32_t | ic, | ||
int32_t | isr, | ||
int32_t | osr, | ||
bool | ycoord | ||
) |
Definition at line 1389 of file ExtensionFunctionsGeo.hpp.
References coord_x(), and coord_y().
EXTENSION_NOINLINE double ST_Centroid_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, | ||
bool | ycoord | ||
) |
Definition at line 1590 of file ExtensionFunctionsGeo.hpp.
References centroid_add_polygon(), coord_x(), and coord_y().
EXTENSION_NOINLINE bool ST_Contains_LineString_LineString | ( | int8_t * | l1, |
int64_t | l1size, | ||
double * | l1bounds, | ||
int64_t | l1bounds_size, | ||
int32_t | l1i, | ||
int8_t * | l2, | ||
int64_t | l2size, | ||
double * | l2bounds, | ||
int64_t | l2bounds_size, | ||
int32_t | l2i, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3387 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_LineString_LineString(), and tol_zero().
EXTENSION_INLINE bool ST_Contains_LineString_Point | ( | int8_t * | l, |
int64_t | lsize, | ||
double * | lbounds, | ||
int64_t | lbounds_size, | ||
int32_t | li, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3370 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, | ||
int32_t | li, | ||
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 3416 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 | li, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3808 of file ExtensionFunctionsGeo.hpp.
References box_contains_box(), box_contains_point(), compression_unit_size(), coord_x(), coord_y(), ST_Contains_MultiPolygon_Point(), 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 3741 of file ExtensionFunctionsGeo.hpp.
Referenced by ST_Contains_MultiPolygon_LineString(), ST_Intersects_LineString_MultiPolygon(), and ST_Intersects_Point_MultiPolygon().
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 | li, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3301 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), i, 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 3283 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), 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 3336 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 | li, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 3565 of file ExtensionFunctionsGeo.hpp.
References box_contains_box(), box_contains_point(), compression_unit_size(), coord_x(), coord_y(), 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 3506 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 3618 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, | ||
int32_t | l1index, | ||
int8_t * | l2, | ||
int64_t | l2size, | ||
int32_t | l2index, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2094 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), distance_line_line(), ST_Distance_Point_LineString(), tol_zero(), and TOLERANCE_DEFAULT_SQUARED.
Referenced by ST_Contains_LineString_LineString(), ST_DWithin_LineString_LineString(), and ST_Intersects_LineString_Linestring().
EXTENSION_NOINLINE double ST_Distance_LineString_LineString_Geodesic | ( | int8_t * | l1, |
int64_t | l1size, | ||
int32_t | l1index, | ||
int8_t * | l2, | ||
int64_t | l2size, | ||
int32_t | l2index, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 1824 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), and distance_in_meters().
EXTENSION_NOINLINE double ST_Distance_LineString_MultiPolygon | ( | int8_t * | l, |
int64_t | lsize, | ||
int32_t | lindex, | ||
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 2256 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), ST_Distance_LineString_Polygon(), ST_Distance_Point_MultiPolygon(), 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, | ||
int32_t | lindex, | ||
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 2078 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_LineString().
EXTENSION_INLINE double ST_Distance_LineString_Point_Geodesic | ( | int8_t * | l, |
int64_t | lsize, | ||
int32_t | lindex, | ||
int8_t * | p, | ||
int64_t | psize, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 1808 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_LineString_Geodesic().
EXTENSION_NOINLINE double ST_Distance_LineString_Polygon | ( | int8_t * | l, |
int64_t | lsize, | ||
int32_t | lindex, | ||
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 2178 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_ring_linestring(), test_fsi::r, 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_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 | lindex, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2579 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_LineString_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 2647 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 2548 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 2612 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 | lindex, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 1909 of file ExtensionFunctionsGeo.hpp.
References distance_point_linestring().
Referenced by ST_Distance_Point_Polygon().
EXTENSION_NOINLINE double ST_Distance_Point_LineString | ( | int8_t * | p, |
int64_t | psize, | ||
int8_t * | l, | ||
int64_t | lsize, | ||
int32_t | lindex, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 1925 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), distance_point_linestring(), and distance_point_point().
Referenced by ST_Contains_LineString_Point(), ST_Distance_LineString_LineString(), 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 | lindex, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr | ||
) |
Definition at line 1785 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), and distance_in_meters().
Referenced by ST_Distance_LineString_Point_Geodesic().
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 2016 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), ST_Distance_Point_Polygon(), and tol_zero().
Referenced by ST_Distance_LineString_MultiPolygon(), 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 1734 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), and distance_point_point().
Referenced by ST_Intersects_Point_LineString(), and 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 1768 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), and distance_in_meters().
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 1751 of file ExtensionFunctionsGeo.hpp.
References coord_x(), coord_y(), and distance_point_point_squared().
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 1954 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), coord_x(), coord_y(), polygon_contains_point(), test_fsi::r, and ST_Distance_Point_ClosedLineString().
Referenced by ST_Distance_LineString_Polygon(), ST_Distance_Point_MultiPolygon(), 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 | li, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | threshold | ||
) |
Definition at line 2371 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_LineString_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, | ||
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 2485 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), ST_Distance_Polygon_Polygon(), and tol_zero().
Referenced by ST_Distance_MultiPolygon_MultiPolygon(), ST_Distance_MultiPolygon_Polygon(), ST_DWithin_Polygon_MultiPolygon(), and ST_Intersects_Polygon_MultiPolygon().
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 | ||
) |
Definition at line 2344 of file ExtensionFunctionsGeo.hpp.
References ST_Distance_Point_Polygon().
Referenced by ST_Distance_Polygon_Polygon().
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 | ||
) |
Definition at line 2400 of file ExtensionFunctionsGeo.hpp.
References compression_unit_size(), distance_ring_ring(), ST_Distance_Polygon_Point(), and tol_zero().
Referenced by ST_Distance_Polygon_MultiPolygon(), ST_DWithin_Polygon_Polygon(), and ST_Intersects_Polygon_Polygon().
EXTENSION_INLINE bool ST_DWithin_LineString_LineString | ( | int8_t * | l1, |
int64_t | l1size, | ||
double * | l1bounds, | ||
int64_t | l1bounds_size, | ||
int32_t | l1index, | ||
int8_t * | l2, | ||
int64_t | l2size, | ||
double * | l2bounds, | ||
int64_t | l2bounds_size, | ||
int32_t | l2index, | ||
int32_t | ic1, | ||
int32_t | isr1, | ||
int32_t | ic2, | ||
int32_t | isr2, | ||
int32_t | osr, | ||
double | distance_within | ||
) |
Definition at line 2858 of file ExtensionFunctionsGeo.hpp.
References box_dwithin_box(), and ST_Distance_LineString_LineString().
EXTENSION_INLINE bool ST_DWithin_LineString_MultiPolygon | ( | int8_t * | l1, |
int64_t | l1size, | ||
double * | l1bounds, | ||
int64_t | l1bounds_size, | ||
int32_t | l1index, | ||
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, | ||