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