加载中...
搜索中...
无匹配项
cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator > 类模板参考

多重线串数据的非拥有基于范围的接口。 更多...

公共类型

using geometry_it_t = GeometryIterator
 
using part_it_t = PartIterator
 
using point_it_t = VecIterator
 
using point_t = iterator_value_type<VecIterator>
 
using element_t = iterator_vec_base_type<VecIterator>
 

公共成员函数

CUSPATIAL_HOST_DEVICE multilinestring_range (GeometryIterator geometry_begin, GeometryIterator geometry_end, PartIterator part_begin, PartIterator part_end, VecIterator points_begin, VecIterator points_end)
 
CUSPATIAL_HOST_DEVICE auto size ()
 返回数组中多重线串的数量。
 
CUSPATIAL_HOST_DEVICE auto num_multilinestrings ()
 返回数组中多重线串的数量。
 
CUSPATIAL_HOST_DEVICE auto num_linestrings ()
 返回数组中线串的总数量。
 
CUSPATIAL_HOST_DEVICE auto num_points ()
 返回数组中点的总数量。
 
CUSPATIAL_HOST_DEVICE auto multilinestring_begin ()
 返回范围内第一个多重线串的迭代器。
 
CUSPATIAL_HOST_DEVICE auto multilinestring_end ()
 返回范围内最后一个多重线串之后位置的迭代器。
 
CUSPATIAL_HOST_DEVICE auto begin ()
 返回范围内第一个多重线串的迭代器。
 
CUSPATIAL_HOST_DEVICE auto end ()
 返回范围内最后一个多重线串之后位置的迭代器。
 
CUSPATIAL_HOST_DEVICE auto point_begin ()
 返回范围内第一个点的迭代器。
 
CUSPATIAL_HOST_DEVICE auto point_end ()
 返回范围内最后一个点之后位置的迭代器。
 
CUSPATIAL_HOST_DEVICE auto geometry_offset_begin ()
 返回范围内第一个几何偏移量的迭代器。
 
CUSPATIAL_HOST_DEVICE auto geometry_offset_end ()
 返回范围内最后一个几何偏移量之后位置的迭代器。
 
CUSPATIAL_HOST_DEVICE auto part_offset_begin ()
 返回范围内第一个部分偏移量的迭代器。
 
CUSPATIAL_HOST_DEVICE auto part_offset_end ()
 返回范围内最后一个部分偏移量之后位置的迭代器。
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto part_idx_from_point_idx (IndexType point_idx)
 给定点的索引,返回该点所在的部分(线串)索引。
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE cuda::std::optional< typename thrust::iterator_traits< PartIterator >::difference_type > part_idx_from_segment_idx (IndexType point_idx)
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto geometry_idx_from_part_idx (IndexType part_idx)
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto geometry_idx_from_point_idx (IndexType point_idx)
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto intra_part_idx (IndexType global_part_idx)
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto intra_point_idx (IndexType global_point_idx)
 
template<typename IndexType1, typename IndexType2>
CUSPATIAL_HOST_DEVICE bool is_valid_segment_id (IndexType1 segment_idx, IndexType2 part_idx)
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto segment (IndexType segment_idx)
 给定线段索引,返回对应的线段。
 
CUSPATIAL_HOST_DEVICE auto multilinestring_point_count_begin ()
 返回一个迭代器,指向每个多重线串中的点数量。
 
CUSPATIAL_HOST_DEVICE auto multilinestring_point_count_end ()
 返回一个迭代器,指向每个多重线串中的线段数量。
 
CUSPATIAL_HOST_DEVICE auto multilinestring_linestring_count_begin ()
 返回一个迭代器,指向每个多重线串中的点数量。
 
CUSPATIAL_HOST_DEVICE auto multilinestring_linestring_count_end ()
 返回一个迭代器,指向每个多重线串中的点数量。
 
auto _segments (rmm::cuda_stream_view)
 
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto operator[] (IndexType multilinestring_idx)
 返回范围内的第 multilinestring_idx 个多重线串。
 
CUSPATIAL_HOST_DEVICE auto as_multipoint_range ()
 范围转换。
 

保护成员

GeometryIterator _geometry_begin
 
GeometryIterator _geometry_end
 
PartIterator _part_begin
 
PartIterator _part_end
 
VecIterator _point_begin
 
VecIterator _point_end
 

详细描述

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
class cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >

多重线串数据的非拥有基于范围的接口。

提供一个基于范围的接口,用于连续存储的多重线串数据,以便更轻松地访问和迭代多重线串、线串和点。

符合 GeoArrow 关于多重线串的规范:https://github.com/geopandas/geo-arrow-spec/blob/main/format.md

模板参数
GeometryIterator几何偏移量数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求。
PartIterator部分偏移量数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求。
VecIterator点数组的迭代器类型。必须满足 LegacyRandomAccessIterator 的要求。
注意
虽然此对象兼容 host/device,但在 device kernel 中使用时,底层迭代器必须可以在 device 上访问。

定义位于文件 60multilinestring_range.cuh 行。

成员类型定义文档

◆ element_t

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
using cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::element_t = iterator_vec_base_type<VecIterator>

定义位于文件 66multilinestring_range.cuh 行。

◆ geometry_it_t

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
using cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::geometry_it_t = GeometryIterator

定义位于文件 62multilinestring_range.cuh 行。

◆ part_it_t

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
using cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::part_it_t = PartIterator

定义位于文件 63multilinestring_range.cuh 行。

◆ point_it_t

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
using cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::point_it_t = VecIterator

定义位于文件 64multilinestring_range.cuh 行。

◆ point_t

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
using cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::point_t = iterator_value_type<VecIterator>

定义位于文件 65multilinestring_range.cuh 行。

成员函数文档

◆ as_multipoint_range()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::as_multipoint_range ( )

范围转换。

将多重线串范围转换为多点范围。这会将每个多重线串简单地视为点的集合,忽略多重线串中的所有边。

◆ begin()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::begin ( )
inline

返回范围内第一个多重线串的迭代器。

定义位于文件 94multilinestring_range.cuh 行。

◆ end()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::end ( )
inline

返回范围内最后一个多重线串之后位置的迭代器。

定义位于文件 97multilinestring_range.cuh 行。

◆ geometry_idx_from_part_idx()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::geometry_idx_from_part_idx ( IndexType part_idx)

给定部分(线串)的索引,返回该线串所在的几何体(多重线串)索引。

◆ geometry_idx_from_point_idx()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
template<typename IndexType>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::geometry_idx_from_point_idx ( IndexType point_idx)

给定点的索引,返回该点所在的几何体(多重线串)索引。

◆ geometry_offset_begin()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::geometry_offset_begin ( )
inline

返回范围内第一个几何偏移量的迭代器。

定义位于文件 106multilinestring_range.cuh 行。

◆ geometry_offset_end()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::geometry_offset_end ( )
inline

返回范围内最后一个几何偏移量之后位置的迭代器。

定义位于文件 109multilinestring_range.cuh 行。

◆ is_valid_segment_id()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
template<typename IndexType1, typename IndexType2>
CUSPATIAL_HOST_DEVICE bool cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::is_valid_segment_id ( IndexType1 segment_idx,
IndexType2 part_idx )

给定线段的索引,如果索引有效则返回 true。线段的索引与线段起始点的索引相同。因此,线串中最后一个点的索引是无效的线段索引。

◆ part_idx_from_segment_idx()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
template<typename IndexType>
CUSPATIAL_HOST_DEVICE cuda::std::optional< typename thrust::iterator_traits< PartIterator >::difference_type > cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::part_idx_from_segment_idx ( IndexType point_idx)

给定线段的索引,返回该线段所在的部分(线串)索引。如果线段ID无效,则返回nullopt。

◆ part_offset_begin()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::part_offset_begin ( )
inline

返回范围内第一个部分偏移量的迭代器。

定义位于文件 112multilinestring_range.cuh 行。

◆ part_offset_end()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::part_offset_end ( )
inline

返回范围内最后一个部分偏移量之后位置的迭代器。

定义位于文件 115multilinestring_range.cuh 行。

◆ point_begin()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::point_begin ( )
inline

返回范围内第一个点的迭代器。

定义位于文件 100multilinestring_range.cuh 行。

◆ point_end()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::point_end ( )
inline

返回范围内最后一个点之后位置的迭代器。

定义位于文件 103multilinestring_range.cuh 行。

◆ size()

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
CUSPATIAL_HOST_DEVICE auto cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::size ( )
inline

返回数组中多重线串的数量。

定义位于文件 76multilinestring_range.cuh 行。

成员数据文档

◆ _geometry_begin

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
GeometryIterator cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::_geometry_begin
protected

定义位于文件 185multilinestring_range.cuh 行。

◆ _geometry_end

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
GeometryIterator cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::_geometry_end
protected

定义位于文件 186multilinestring_range.cuh 行。

◆ _part_begin

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
PartIterator cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::_part_begin
protected

定义位于文件 187multilinestring_range.cuh 行。

◆ _part_end

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
PartIterator cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::_part_end
protected

定义位于文件 188multilinestring_range.cuh 行。

◆ _point_begin

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
VecIterator cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::_point_begin
protected

定义位于文件 189multilinestring_range.cuh 行。

◆ _point_end

template<typename GeometryIterator, typename PartIterator, typename VecIterator>
VecIterator cuspatial::multilinestring_range< GeometryIterator, PartIterator, VecIterator >::_point_end
protected

定义位于文件 190multilinestring_range.cuh 行。


此类的文档是从以下文件生成的