|
|
1
3
@MrT建议的原始解决方案非常有效。然而,根据拉格·卡西斯(Rutger Kassies)的建议,我也找到了另一个解决方案。首先需要安装geopandas包。然后,以下代码对我有效:
如果有人面临类似问题,希望这能有所帮助。此外,还可以找到有关空间连接的更多信息 on the geopandas website . 请注意,此功能不需要在多边形之间进行操作,但也适用于点和多边形 --编辑--
看来geo熊猫的功能要快得多。虽然为了公平起见,非地理熊猫解决方案还必须将X和Y转换为形状点元素,然后执行交点评估 |
|
|
2
2
我不太熟悉
我的玩具数据集的输出
身材匀称,
现在你的问题的答案很简单。只需删除包含
不幸的是,您仍然必须在多边形列表上循环。如果有人知道如何在没有(显式)循环的情况下测试所有点和所有多边形,那将很有趣。我见过一个MultiPolygon构造函数类 on their website ,因此,也许将所有多边形组合在一个类中就可以了。但事先测试这是一个有效的选择。如果多边形的成员沿直线接触无限多个点,则多边形无效。 编辑:在Python 2.7中,这似乎不起作用。 See akozi's answer for a 2.7 compatible answer. |
|
|
3
1
我在模仿
exact solution
Mr T
中建议的
旧版本的contains\u points似乎无法使用单个点运行。所以我将其设置为读取所有点,并将该列表附加为新列。 |