#include <rmm/cuda_stream_view.hpp>
#include <cuspatial/detail/point_linestring_nearest_points.cuh>
函数 | |
template<class Vec2dItA, class Vec2dItB, class OffsetIteratorA, class OffsetIteratorB, class OffsetIteratorC, class OutputIt> | |
OutputIt | cuspatial::pairwise_point_linestring_nearest_points (OffsetIteratorA points_geometry_offsets_first, OffsetIteratorA points_geometry_offsets_last, Vec2dItA points_first, Vec2dItA points_last, OffsetIteratorB linestring_geometry_offsets_first, OffsetIteratorC linestring_part_offsets_first, OffsetIteratorC linestring_part_offsets_last, Vec2dItB linestring_points_first, Vec2dItB linestring_points_last, OutputIt output_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default) |
计算多点对和多线串对之间的最近点和几何ID。 | |
OutputIt cuspatial::pairwise_point_linestring_nearest_points | ( | OffsetIteratorA | points_geometry_offsets_first, |
OffsetIteratorA | points_geometry_offsets_last, | ||
Vec2dItA | points_first, | ||
Vec2dItA | points_last, | ||
OffsetIteratorB | linestring_geometry_offsets_first, | ||
OffsetIteratorC | linestring_part_offsets_first, | ||
OffsetIteratorC | linestring_part_offsets_last, | ||
Vec2dItB | linestring_points_first, | ||
Vec2dItB | linestring_points_last, | ||
OutputIt | output_first, | ||
rmm::cuda_stream_view | stream = rmm::cuda_stream_default ) |
计算多点对和多线串对之间的最近点和几何ID。
从测试点到线串的最近点是线串上与测试点距离最短的点,该距离比线串上任何其他点到测试点的距离都要短。
从测试多点到多线串的最近点是在所有点和线串对中具有最短距离的最近点。
此外,此API将最近点所在的几何体和部分ID写入输出迭代器
Cart2dItA | 每对点元素的点数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。 |
Cart2dItB | 每对线串元素的点数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。 |
OffsetIteratorA | point_geometry_offset 数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。 |
OffsetIteratorB | linestring_geometry_offset 数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。 |
OffsetIteratorC | linestring_part_offset 数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。 |
OutputIt | 输出数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。 |
point_geometry_offset_first | 每对多点几何体的范围起始 |
point_geometry_offset_last | 每对多点几何体的范围结束 |
points_first | 点值范围起始 |
points_last | 点值范围结束 |
linestring_geometry_offset_first | 每对多线串几何体偏移量的范围起始,范围结束由 linestring_geometry_offset_first + std::distance(point_geometry_offset_first , point_geometry_offset_last ) 暗示 |
linestring_offsets_first | 每个线串起始点偏移量的范围起始 |
linestring_offsets_last | 每个线串起始点偏移量的范围结束 |
linestring_points_first | 线串点范围起始 |
linestring_points_last | 线串点范围结束 |
output_first | 一个包含4个输出的zip迭代器。第一个元素应与 iterator_value_type |
stream | 用于设备内存操作和内核启动的CUDA流。 |
cuspatial::vec_2d
类型,并且必须具有相同的基本浮点类型。