geopandas.GeoSeries.sample_points#

GeoSeries.sample_points(size, method='uniform', seed=None, rng=None, **kwargs)[来源]#

每个几何体的样本点。

为每个包含从几何体中采样的点的几何体生成一个 MultiPoint。您可以选择从均匀分布中随机采样或使用来自 pointpats 包的高级采样算法。

对于多边形,这在多边形的区域内进行采样。对于线条,沿着线段的长度进行采样。对于多部分几何图形,每部分的权重根据其相关属性(多边形的面积,线段的长度)进行选择,然后从每个部分中进行采样。

任何其他几何类型(例如,点、几何集合)将被忽略,并返回一个空的多点几何。

Parameters:
sizeint | array-like

请求的样本大小。表示从每个几何体中抽取的样本数量。如果传递了一个与GeoSeries长度相同的数组,它表示每个几何体的样本大小。

methodstr, default “uniform”

采样方法。 uniform 从几何体中以均匀的方式随机采样,使用 numpy.random.uniform。其他允许的字符串(例如 "cluster_poisson")表示来自 pointpats.random 模块的采样函数名称(参见 http://pysal.org/pointpats/api.html#random-distributions)。Pointpats 方法仅为 (Multi)Polygon 实现,对于其他几何类型将返回一个空的 MultiPoint。

rng{None, int, array_like[ints], SeedSequence, BitGenerator, Generator}, optional

一个随机生成器或种子,用于初始化numpy的BitGenerator。如果为None,则将从操作系统中获取新的、不可预测的熵。

**kwargsdict

点模式采样算法的选项。

Returns:
GeoSeries

在每个几何图形内(或沿着)采样的点。

示例

>>> from shapely.geometry import Polygon
>>> s = geopandas.GeoSeries(
...     [
...         Polygon([(1, -1), (1, 0), (0, 0)]),
...         Polygon([(3, -1), (4, 0), (3, 1)]),
...     ]
... )
>>> s.sample_points(size=10)  
0    MULTIPOINT ((0.1045 -0.10294), (0.35249 -0.264...
1    MULTIPOINT ((3.03261 -0.43069), (3.10068 0.114...
Name: sampled_points, dtype: geometry