20#include <cuspatial/traits.hpp>
22#include <rmm/cuda_stream_view.hpp>
69template <
class LonLatItA,
72 class T =
typename cuspatial::iterator_vec_base_type<LonLatItA>>
74 LonLatItA a_lonlat_last,
75 LonLatItB b_lonlat_first,
76 OutputIt distance_first,
77 T
const radius = EARTH_RADIUS_KM,
78 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
149template <
class Po
intIt,
class OffsetIt,
class OutputIt>
152 OffsetIt space_offsets_first,
153 OffsetIt space_offsets_last,
154 OutputIt distance_first,
155 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
169template <
class MultiPo
intArrayViewA,
class MultiPo
intArrayViewB,
class OutputIt>
171 MultiPointArrayViewB multipoints2,
172 OutputIt distances_first,
173 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
190template <
class MultiPo
intRange,
class MultiLine
stringRange,
class OutputIt>
192 MultiPointRange multipoints,
193 MultiLinestringRange multilinestrings,
194 OutputIt distances_first,
195 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
213template <
class MultiPo
intRange,
class MultiPolygonRange,
class OutputIt>
215 MultiPolygonRange multipoiygons,
216 OutputIt distances_first,
217 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
238template <
class MultiLine
stringRange1,
class MultiLine
stringRange2,
class OutputIt>
240 MultiLinestringRange2 multilinestrings2,
241 OutputIt distances_first,
242 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
260template <
class MultiLine
stringRange,
class MultiPolygonRange,
class OutputIt>
262 MultiLinestringRange multilinestrings,
263 MultiPolygonRange multipoiygons,
264 OutputIt distances_first,
265 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
283template <
class MultipolygonRangeA,
class MultipolygonRangeB,
class OutputIt>
285 MultipolygonRangeB rhs,
286 OutputIt distances_first,
287 rmm::cuda_stream_view stream = rmm::cuda_stream_default);
295#include <cuspatial/detail/distance/hausdorff.cuh>
296#include <cuspatial/detail/distance/haversine.cuh>
297#include <cuspatial/detail/distance/linestring_distance.cuh>
298#include <cuspatial/detail/distance/linestring_polygon_distance.cuh>
299#include <cuspatial/detail/distance/point_distance.cuh>
300#include <cuspatial/detail/distance/point_linestring_distance.cuh>
301#include <cuspatial/detail/distance/point_polygon_distance.cuh>
302#include <cuspatial/detail/distance/polygon_distance.cuh>
OutputIt directed_hausdorff_distance(PointIt points_first, PointIt points_last, OffsetIt space_offsets_first, OffsetIt space_offsets_last, OutputIt distance_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Computes Hausdorff distances for all pairs in a collection of spaces.
OutputIt pairwise_point_distance(MultiPointArrayViewA multipoints1, MultiPointArrayViewB multipoints2, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Compute pairwise (multi)point-to-(multi)point Cartesian distance.
OutputIt pairwise_polygon_distance(MultipolygonRangeA lhs, MultipolygonRangeB rhs, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Computes pairwise multipolygon to multipolygon distance.
OutputIt haversine_distance(LonLatItA a_lonlat_first, LonLatItA a_lonlat_last, LonLatItB b_lonlat_first, OutputIt distance_first, T const radius=EARTH_RADIUS_KM, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Compute haversine distances between points in set A to the corresponding points in set B.
OutputIt pairwise_linestring_distance(MultiLinestringRange1 multilinestrings1, MultiLinestringRange2 multilinestrings2, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
OutputIt pairwise_linestring_polygon_distance(MultiLinestringRange multilinestrings, MultiPolygonRange multipoiygons, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Computes pairwise multilinestring to multipolygon distance.
OutputIt pairwise_point_linestring_distance(MultiPointRange multipoints, MultiLinestringRange multilinestrings, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Compute pairwise multipoint to multilinestring distance.
OutputIt pairwise_point_polygon_distance(MultiPointRange multipoints, MultiPolygonRange multipoiygons, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
Computes pairwise multipoint to multipolygon distance.