[英]how to get list of all points in a multipolygon in Python?
我有一个csv
文件,其中包含一个包含 NYC multipolygon
面表示的列。 意思是,纽约市被分成多个多边形,这些多边形存储在我拥有的csv
文件中名为the_geom
的列中。
我的问题是如何获得每个multipolygon
中所有可能点的列表? 到目前为止我所做的只是在multipolygon
中选择一个随机点,然后检查所选点是否包含在multipolygon
中,这样做的代码是:
multipolygon = shapely.wkt.loads(row['the_geom'])
minx, miny, maxx, maxy = multipolygon.bounds
pnt1 = Point(random.uniform(minx, maxx), random.uniform(miny, maxy))
while not multipolygon.contains(pnt1):
pnt1 = Point(random.uniform(minx, maxx), random.uniform(miny, maxy))
如何获取多面体中所有点的multipolygon
? 我是否应该先将每个multipolygon
转换为polygon
,以便获得每个multipolygon
中所有可能点的列表?
我已经看到谷歌的解决方案建议使用GeoPandas.explode()
,但我不确定将multipolygon
转换为polygon
是否是正确的方法。
我想知道什么是获取multipolygon
中所有点列表的正确方法,谢谢!
要获取定义构成 MultiPolygon 的多边形边界的所有点,您可以使用MultiPolygon.bounds
属性遍历形状,例如:
np.hstack([np.array(g.boundary.xy) for g in multipolygon.geoms])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.