当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cuspatial.point_in_polygon用法及代码示例


用法:

cuspatial.point_in_polygon(test_points_x, test_points_y, poly_offsets, poly_ring_offsets, poly_points_x, poly_points_y)

根据一组点和一组多边形计算哪些点属于哪些多边形。请注意,polygons_(x,y) 必须指定为封闭多边形:每个多边形的第一个和最后一个坐标必须相同。

参数

test_points_x

测试点的 x 坐标

test_points_y

测试点的 y 坐标

poly_offsets

每个多边形中第一个环的起始索引

poly_ring_offsets

每个环中第一个点的开始索引

poly_points_x

x closed-coordinate 个多边形点

poly_points_y

y closed-coordinate 个多边形点

返回

resultcudf.DataFrame

布尔值的 DataFrame,指示每个点是否落在每个多边形内。

例子

测试 3 个点是否落在两个多边形中

>>> result = cuspatial.point_in_polygon(
    [0, -8, 6.0],                             # test_points_x
    [0, -8, 6.0],                             # test_points_y
    cudf.Series([0, 1], index=['nyc', 'hudson river']), # poly_offsets
    [0, 3],                                   # ring_offsets
    [-10, 5, 5, -10, 0, 10, 10, 0],           # poly_points_x
    [-10, -10, 5, 5, 0, 0, 10, 10],           # poly_points_y
)
# The result of point_in_polygon is a DataFrame of Boolean
# values indicating whether each point (rows) falls within
# each polygon (columns).
>>> print(result)
            nyc            hudson river
0          True          True
1          True         False
2         False          True
# Point 0: (0, 0) falls in both polygons
# Point 1: (-8, -8) falls in the first polygon
# Point 2: (6.0, 6.0) falls in the second polygon

注意输入系列 x 和 y 不会索引对齐,而是作为顺序数组计算。

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuspatial.point_in_polygon。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。