标签: intersection

set_intersection可以和C++中的hash_set一起使用吗?

我正在计算集合的交集,并集和差异.我有一个我的set类型的typedef:

typedef set<node_type> node_set;
Run Code Online (Sandbox Code Playgroud)

当它被替换为

typedef hash_set<node_type> node_set;
Run Code Online (Sandbox Code Playgroud)

结果不同.这是一个复杂的程序,在我开始调试之前 - 我做得对吗?当我使用这样的函数时:

set_intersection(v_higher.begin(), v_higher.end(), neighbors[w].begin(), neighbors[w].end(), 
            insert_iterator<node_set>(tmp1, tmp1.begin()));
Run Code Online (Sandbox Code Playgroud)
  • 它们应该与set和hash_set无缝协作吗?

c++ stl intersection set hashset

2
推荐指数
1
解决办法
2608
查看次数

使用ruby中的另一个值数组搜索数组

所以我有一个数组,显示允许哪些级别执行操作.

allowed = ["user", "admin"]
Run Code Online (Sandbox Code Playgroud)

还有另一个数组显示用户所属的组.

groups = ["user", "crazy"]
Run Code Online (Sandbox Code Playgroud)

对于用户所属的任何组,搜索允许的数组的最佳方法是什么?我知道这很容易,但我在这里画了一个真正的空白......

ruby intersection

2
推荐指数
1
解决办法
111
查看次数

Python:导入异常

是否可以从包中导入除一个模块以外的所有内容?

我需要在我的类中使用的特定库中的许多模块,但看起来它使用了我需要的其中一个模块的相同模块名称.

我需要使用set操作和交集,但是当我从我的类中导入该库时,它会因此而给我一个错误.

我不想单独导入它或将名称放在每个方法的前面,因为我经常使用它.

有没有办法让python导入除了特定方法之外的所有内容set?或者可能set稍后再次导入该部件?

python import intersection set

2
推荐指数
1
解决办法
3148
查看次数

删除字典交叉后的括号

我正在研究一个问题并得到了一个非常接近的答案......基本上,问题是你有两个字典,你必须找到与两个字典相交的元素,然后创建这些元素(来自两个字典的一个相同的键和来自两个 dic 的两个值)在新字典中。

a = {'A':17,'B':31,'C':42,'D':7,'E':46,'F':39,'G':9}
b = {'D':8,'E':3,'F':2,'g':5}

def intersect(a,b):
    c = set(a).intersection(set(b))
    d = {}
    for i in c:
        if i in a:
            d[i] = int(a[i]),int(b[i])
    return d

OUTPUT: {'E': (46, 3), 'D': (7, 8), 'F': (39, 2)}
Run Code Online (Sandbox Code Playgroud)

我想得到这样的输出 {'E': 46, 3, 'D': 7, 8, 'F': 39, 2}

如何去掉值周围的括号?

python dictionary intersection

2
推荐指数
1
解决办法
2556
查看次数

获取列表和元组列表的交叉点

两个清单

ListOne = ['steve','rob','jym','rich','bell','mick']
ListTwo = [('steve',22 ,178), ('rob', 23 ,189), ('jym', 25,165), ('steven',18 ,187), ('Manro',16 ,200), ('bell',21 ,167), ('mick', 24 ,180)]
Run Code Online (Sandbox Code Playgroud)

我怎样才能从ListOne中获得ListTne的数据,就像是ListOne上的学生一样two list intersections.

输出如:

ListTwo = [('steve',22 ,178), ('rob', 23 ,189), ('jym', 25,165), ('bell',21 ,167), ('mick', 24 ,180)]
Run Code Online (Sandbox Code Playgroud)

我尝试过这个,但我正在寻找一些更负责任的东西:

for row in ListTwo:   
    if row[0] in ListOne :
        print 'this student exist' + `row[0]`

    else :
        for i,e in enumerate(ListTwo):
        #Check the student with the above results, will be removed
            if row[0] == e: 
                temp=list(ListTwo[i])
                pprint.pprint('I …
Run Code Online (Sandbox Code Playgroud)

python tuples intersection list

2
推荐指数
1
解决办法
2706
查看次数

确定两条线是否相交

我在stackoverflow上看过很多帖子,正在讨论这个话题.我从stackoverflow中找到了一个解决方案,但我找不到帖子.这就是说:如果两条线相交,那么交叉产品会为左侧和右侧产生两种不同的结果.一个积极和一个消极.否则两者都有相同的标志.到目前为止还可以.使用的公式是,其中AB是一行而CD是另一行.

dotproductleft =(Bx-Ax)(Cy-By) - (By-Ay)(Cx-Bx)

dotproductright =(Bx-Ax)(Dy-By) - (By-Ay)(Dx-Bx)

如果我为以下给定的GPS坐标计算得到这个,我得到一个交叉点,在没有交叉点的情况下.

答:x:15.4433917 y:47.0697272

B:x:15.4433661 y:47.0697722

C:x:15.4434363 y:47.0696776

D:x:15.442966 y:47.0700098

如果我在谷歌地图引擎上绘制它,我可以看到这些线之间肯定没有交集.

dotproductleft的结果:-7.372399999828474E-10和dotproductright:1.1921940000328E-8

它非常适合其他例子,但在这里我看到它不能正常工作.但我无法发现公式中的任何错误.

Google地图上的点数

math geometry intersection line-intersection

2
推荐指数
1
解决办法
5872
查看次数

CGRect Intersects Rect更好的替代方案

我想在两个UIImageViews相交时想要编写一个方法.我知道如何做的唯一方法是CGRectIntersectsRect.但这仅适用于矩形,但我的图像是圆形.难道没有更好的选择吗?谢谢!

intersection uiimageview ios cgrect

2
推荐指数
1
解决办法
1457
查看次数

两个三角形网格的交集

目前我正在寻找一种有效的算法来计算两个三角形网格的交集。我在网上搜索过,但没有找到有价值的材料。《实时碰撞检测》一书是一本很有帮助的书,但对于我的任务来说太复杂了。我还找到了这篇文章:Triangle to Triangle CollisionDetection in 3D。不过我希望找到有关该算法的详细描述。

问候 慢跑

geometry intersection mesh

2
推荐指数
1
解决办法
3459
查看次数

使用 st_join 进行使用最大交集的空间连接

我正在使用 sf_package 来处理 r 中的空间数据。在这个阶段,我想进行空间连接,以便我研究区域的税区继承它们所在的洪泛区的属性。例如,taxlots 可能位于被分类为 X、VE、A、A0 或 V(这些是与每个区域的洪水强度相关的代码)的洪泛区中。

为此,我测试了 sf 函数st_join,默认情况下它将依赖于st_intersects确定我的税区的每个实体的空间连接。

但是,我试图找出当税收地段与两个不同的洪泛区相交时函数使用的标准(如下图所示,其中几个地段与 A 洪泛区和 AE 洪泛区相交)。是否取覆盖该地块最大面积的面积值?或者是哪个区域位于数据帧的上方?

请注意,我对划分相交地段感兴趣,因此我根据它们与一个和其他洪泛区相交的区域来划分它们。

与多个洪泛区类别相交的税区照片

gis join intersection r r-sf

2
推荐指数
1
解决办法
1522
查看次数

Geopandas - split lines at intersection with polygons, retain polygon ID in new link attributes

我有两个地理数据框:一个包含许多线串,另一个包含许多多边形。这些直线和多边形彼此相交。我试图实现的输出是一个新的地理数据框,其中包含已在与多边形相交的任何位置处分割的链接。

简化测试代码如下:

import geopandas
from shapely.geometry import Polygon, LineString

#Create geodataframe containing 2 links:
linkID = ['1','2']
link_geom = [LineString([(0, 0), (10, 10)]),LineString([(10, 10), (20, 10)])]
a = {'linkID':linkID,'geometry':link_geom}
gdf_links = geopandas.GeoDataFrame(a)

#Create geodataframe containing 2 polygons:
polyID = ['100','200']
poly_geom = [Polygon([(2, 1), (2, 3), (4, 3), (4, 1)]),Polygon([(15, 7), (15, 13), (18, 13), (18, 7)])]
b = {'polyID':polyID,'geometry':poly_geom}
gdf_poly = geopandas.GeoDataFrame(b)
Run Code Online (Sandbox Code Playgroud)

通过运行以下代码,您可以看到线条与多边形相交:

links = gdf_links.unary_union
polys = gdf_poly.unary_union
geopandas.GeoSeries([links,polys]).plot(cmap='tab10')
Run Code Online (Sandbox Code Playgroud)

生成下图(以红色/绿色添加注释以显示涉及的各种元素):

在此输入图像描述

将两条线在与 polgyon 相交的任意位置分割将得到 6 条线段(如上图中绿色标记)。

理想情况下,我想要实现的输出如下所示,其中“poly_intersect”列列出了发生分割的多边形的 ID。请注意,第 2 …

python intersection polygon shapely geopandas

2
推荐指数
1
解决办法
4120
查看次数