加载中...
搜索中...
无匹配项
nearest_points.cuh 文件参考
#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。
 

函数文档

◆ pairwise_point_linestring_nearest_points()

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。

从测试点到线串的最近点是线串上与测试点距离最短的点,该距离比线串上任何其他点到测试点的距离都要短。

从测试多点到多线串的最近点是在所有点和线串对中具有最短距离的最近点。

此外,此API将最近点所在的几何体和部分ID写入输出迭代器

  • 点ID指示多点中哪个点是最近点。
  • 线串ID是多线串中包含最近点的偏移量。
  • 段ID是线串中包含最近点的段的偏移量。它与该段起始点的ID相同。
模板参数
Cart2dItA每对点元素的点数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。
Cart2dItB每对线串元素的点数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。
OffsetIteratorApoint_geometry_offset 数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。
OffsetIteratorBlinestring_geometry_offset 数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求并且设备可访问。
OffsetIteratorClinestring_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 兼容,存储多点中最近点的几何体ID。第二个元素应与 iterator_value_type 兼容,存储最近线串的几何体ID。第三个元素应与 iterator_value_type 兼容,存储到最近段的部分ID。第四个元素应与 vec_2d 兼容,存储(多)线串上最近点的坐标。
stream用于设备内存操作和内核启动的CUDA流。
返回值
指向计算出的最后一个元组之后元素的输出迭代器。
前置条件
所有用于坐标的输入迭代器必须是 cuspatial::vec_2d 类型,并且必须具有相同的基本浮点类型。