正在加载...
正在搜索...
无匹配项
distance.hpp
转到此文件的文档。
1/*
2 * 版权所有 (c) 2020-2024, NVIDIA CORPORATION.
3 *
4 * 根据 Apache 许可证 2.0 版本(“许可证”)获得许可;
5 * 除非符合许可证,否则不得使用此文件。
6 * 您可在以下网址获取许可证副本:
7 *
8 * https://apache.ac.cn/licenses/LICENSE-2.0
9 *
10 * 除非适用法律要求或书面同意,否则根据许可证分发的软件
11 * 均按“原样”提供,
12 * 不附带任何明示或暗示的担保或条件。
13 * 请参阅许可证以了解特定的语言管理权限和
14 * 限制。
15 */
16
17#pragma once
18
21
22#include <cudf/column/column.hpp>
23#include <cudf/column/column_view.hpp>
24#include <cudf/table/table_view.hpp>
25#include <cudf/utilities/span.hpp>
26
27#include <rmm/mr/device/per_device_resource.hpp>
28#include <rmm/resource_ref.hpp>
29
30#include <optional>
31
32namespace cuspatial {
33
37
52std::unique_ptr<cudf::column> haversine_distance(
53 cudf::column_view const& a_lon,
54 cudf::column_view const& a_lat,
55 cudf::column_view const& b_lon,
56 cudf::column_view const& b_lat,
57 double const radius = EARTH_RADIUS_KM,
58 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
59
124std::pair<std::unique_ptr<cudf::column>, cudf::table_view> directed_hausdorff_distance(
125 cudf::column_view const& xs,
126 cudf::column_view const& ys,
127 cudf::column_view const& space_offsets,
128 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
129
145std::unique_ptr<cudf::column> pairwise_point_distance(
146 geometry_column_view const& multipoints1,
147 geometry_column_view const& multipoints2,
148 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
149
167std::unique_ptr<cudf::column> pairwise_point_linestring_distance(
168 geometry_column_view const& multipoints,
169 geometry_column_view const& multilinestrings,
170 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
171
190
191std::unique_ptr<cudf::column> pairwise_point_polygon_distance(
192 geometry_column_view const& multipoints,
193 geometry_column_view const& multipolygons,
194 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
195
213std::unique_ptr<cudf::column> pairwise_linestring_distance(
214 geometry_column_view const& multilinestrings1,
215 geometry_column_view const& multilinestrings2,
216 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
217
238std::unique_ptr<cudf::column> pairwise_linestring_polygon_distance(
239 geometry_column_view const& multilinestrings,
240 geometry_column_view const& multipolygons,
241 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
242
257std::unique_ptr<cudf::column> pairwise_polygon_distance(
258 geometry_column_view const& multipolygons1,
259 geometry_column_view const& multipolygons2,
260 rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource());
261
265
266} // namespace cuspatial
几何列的非拥有、不可变视图。
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)
计算一组空间中所有对的豪斯多夫距离。
OutputIt pairwise_point_distance(MultiPointArrayViewA multipoints1, MultiPointArrayViewB multipoints2, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
计算点对(多点对多点)笛卡尔距离。
OutputIt pairwise_polygon_distance(MultipolygonRangeA lhs, MultipolygonRangeB rhs, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
计算多边形对(多边形对多边形)距离。
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)
计算集合 A 中的点与集合 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)
计算多段线对多边形距离。
OutputIt pairwise_point_linestring_distance(MultiPointRange multipoints, MultiLinestringRange multilinestrings, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
计算多点对多段线距离。
OutputIt pairwise_point_polygon_distance(MultiPointRange multipoints, MultiPolygonRange multipoiygons, OutputIt distances_first, rmm::cuda_stream_view stream=rmm::cuda_stream_default)
计算多点对多边形距离。