在下面的代码中,我知道它正在返回缓冲区之外的所有记录,但我对这是如何发生的机制感到困惑。
我看到有一个“~”(也就是按位不)正在使用。通过一些谷歌搜索我对〜的理解是它返回它传递的输入中每个位的倒数,例如,如果该位为0,则返回1。如果不是有人可以请ELI5,这是否正确?
有人可以解释一下以下代码如何返回“my_union”缓冲区之外的记录的实际机制吗?
注意:医院和碰撞只是地理数据框。
coverage = gpd.GeoDataFrame(geometry=hospitals.geometry).buffer(10000)
my_union = coverage.geometry.unary_union
outside_range = collisions.loc[~collisions["geometry"].apply(lambda x: my_union.contains(x))]