用法:
cuspatial.quadtree_on_points(xs, ys, x_min, x_max, y_min, y_max, scale, max_depth, min_size)
- 从给定area-of-interest的一组点构造一个四叉树
边界框。
- xs:
每个点的 x 坐标列
- ys:
每个点的 y 坐标列
- x_min:
感兴趣区域边界框的lower-left x 坐标
- x_max:
感兴趣区域边界框的upper-right x 坐标
- y_min:
lower-left 感兴趣区域边界框的 y 坐标
- y_max:
upper-right 感兴趣区域边界框的 y 坐标
- scale:
缩放以应用于每个点与
(x_min, y_min)
的距离- max_depth:
最大四叉树深度
- min_size:
非叶四叉树节点的最小点数
- result:元组(cudf.Series,cudf.DataFrame)
- keys_to_points:cudf.Series(dtype=np.int32)
原始点索引的一列排序键
- 四叉树:cudf.DataFrame
输入点集的完整四叉树
- 钥匙cudf.Series(dtype=np.int32)
一个 int32 列的象限键
- 等级cudf.Series(dtype=np.int8)
四叉树级别的 int8 列
- is_quadcudf.Series(dtype=np.bool_)
一个布尔列,指示节点是四边形还是叶子
- 长度cudf.Series(dtype=np.int32)
如果这是非叶象限(即
is_quad
是True
),则此列的值是非叶象限中的子项数。否则,此列的值是叶象限中包含的点数。
- 抵消cudf.Series(dtype=np.int32)
如果这是一个非叶象限(即
is_quad
是True
),则该列的值是非叶象限的第一个子象限的位置。否则,此列的值是叶子象限的第一个点的位置。
参数:
返回:
注意:
- 交换
min_x
和max_x
如果min_x > max_x
- 交换
min_y
和max_y
如果min_y > max_y
例子:
根据输入选择
min_size
和scale
的示例:>>> np.random.seed(0) >>> points = cudf.DataFrame({ "x": cudf.Series(np.random.normal(size=120)) * 500, "y": cudf.Series(np.random.normal(size=120)) * 500, }) >>> max_depth = 3 >>> min_size = 50 >>> min_x, min_y, max_x, max_y = (points["x"].min(), points["y"].min(), points["x"].max(), points["y"].max()) >>> scale = max(max_x - min_x, max_y - min_y) // (1 << max_depth) >>> print( "min_size: " + str(min_size) + "\n" "num_points: " + str(len(points)) + "\n" "min_x: " + str(min_x) + "\n" "max_x: " + str(max_x) + "\n" "min_y: " + str(min_y) + "\n" "max_y: " + str(max_y) + "\n" "scale: " + str(scale) + "\n" ) min_size: 50 num_points: 120 min_x: -1577.4949079170394 max_x: 1435.877311993804 min_y: -1412.7015761122134 max_y: 1492.572387431971 scale: 301.0 >>> key_to_point, quadtree = cuspatial.quadtree_on_points( points["x"], points["y"], min_x, max_x, min_y, max_y, scale, max_depth, min_size ) >>> print(quadtree) key level is_quad length offset 0 0 0 False 15 0 1 1 0 False 27 15 2 2 0 False 12 42 3 3 0 True 4 8 4 4 0 False 5 106 5 6 0 False 6 111 6 9 0 False 2 117 7 12 0 False 1 119 8 12 1 False 22 54 9 13 1 False 18 76 10 14 1 False 9 94 11 15 1 False 3 103 >>> print(key_to_point) 0 63 1 20 2 33 3 66 4 19 ... 115 113 116 3 117 78 118 98 119 24 Length: 120, dtype: int32
相关用法
- Python cuspatial.GeoSeries用法及代码示例
- Python cuspatial.GeoDataFrame.groupby用法及代码示例
- Python cuspatial.CubicSpline用法及代码示例
- Python cuspatial.GeoArrowBuffers用法及代码示例
- Python cuspatial.trajectory_bounding_boxes用法及代码示例
- Python cuspatial.derive_trajectories用法及代码示例
- Python cuspatial.directed_hausdorff_distance用法及代码示例
- Python cuspatial.trajectory_distances_and_speeds用法及代码示例
- Python cuspatial.point_in_polygon用法及代码示例
- Python cusignal.windows.windows.hann用法及代码示例
- Python cusignal.windows.windows.general_gaussian用法及代码示例
- Python cusignal.waveforms.waveforms.chirp用法及代码示例
- Python cusignal.windows.windows.gaussian用法及代码示例
- Python cusignal.windows.windows.hamming用法及代码示例
- Python cusignal.windows.windows.get_window用法及代码示例
- Python cusignal.waveforms.waveforms.gausspulse用法及代码示例
- Python cusignal.peak_finding.peak_finding.argrelmin用法及代码示例
- Python cusignal.windows.windows.bartlett用法及代码示例
- Python cusignal.spectral_analysis.spectral.welch用法及代码示例
- Python cusignal.windows.windows.chebwin用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuspatial.quadtree_on_points。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。