标签: intersection

Union,Intersect和Except的非LINQ实现

LINQ到物具有非常有用的Union,IntersectExcept方法.可悲的是,有一个客户端我正在为它工作,他们正在强制要求.NET 2.0,所以LINQ不是一个选择.我查看了反映的代码,它根本没有反转.

是否有一个.NET 2.0库或易于实现的Union,IntersectExcept

.net union intersection .net-2.0

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

C++数组交集

有谁知道是否可以将其从O(m*n)转为O(m + n)?

    vector<int> theFirst;
    vector<int> theSecond;
    vector<int> theMatch;

    theFirst.push_back( -2147483648 );
    theFirst.push_back(2);
    theFirst.push_back(44);
    theFirst.push_back(1);
    theFirst.push_back(22);
    theFirst.push_back(1);

    theSecond.push_back(1);
    theSecond.push_back( -2147483648 );
    theSecond.push_back(3);
    theSecond.push_back(44);
    theSecond.push_back(32);
    theSecond.push_back(1);

    for( int i = 0; i < theFirst.size(); i++ )
    {
        for( int x = 0; x < theSecond.size(); x++ )
        {
            if( theFirst[i] == theSecond[x] )
            {
                theMatch.push_back( theFirst[i] );
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c++ stl intersection hashtable

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

Python - 在字典中查找值的交集

我正在编写一个函数来处理布尔AND搜索中的多个查询.我有一个文档的词典,每个查询发生=query_dict

我想在query_dict.values()中的所有值的交集:

query_dict = {'foo': ['doc_one.txt', 'doc_two.txt', 'doc_three.txt'],
              'bar': ['doc_one.txt', 'doc_two.txt'],
              'foobar': ['doc_two.txt']}

intersect(query_dict)

>> doc_two.txt
Run Code Online (Sandbox Code Playgroud)

我一直在读关于交叉的但是我发现很难将它应用于字典.

谢谢你的帮助!

python dictionary intersection

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

尽管可见交点,相交图层仍返回空集合

当我在OpenLayers和postgis数据库层中绘制多边形的交集时,似乎我得到的结果不正确.

交点在某些图层上正常工作.例如,如果我将一个三角形与一个表示裁剪字段的多边形相交,我会得到以下结果:

在此输入图像描述

我的应用程序生成以产生上述结果的查询是:

SELECT ST_AsText(ST_Intersection(%(geometries_0)s::geometry, %(geometry)s::geometry))
Run Code Online (Sandbox Code Playgroud)

geometries_0我的三角形在哪里:

POLYGON((-104.84928345939991 40.518951354186285,-104.82319093011056 40.51953858115158,-104.83700967095314 40.50707521626648,-104.84928345939991 40.518951354186285))
Run Code Online (Sandbox Code Playgroud)

并且geometry是我的农田领域,众所周知的文字:

MULTIPOLYGON(((-104.841309611298 40.5075331998226,-104.84173356681 40.5069932245841,-104.842041204329 40.50640946683,-104.842224948796 40.5057962996657,-104.842280275816 40.5051688207073,-104.842205823049 40.5045424803865,-104.842003423773 40.5039327015263,-104.841678061729 40.5033544995574,-104.841237748411 40.502822112724,-104.840693325791 40.5023486513933,-104.840058199365 40.5019457751149,-104.839348008051 40.5016234053897,-104.838580239118 40.5013894812384,-104.837773797582 40.5012497635973,-104.836948540713 40.501207693373,-104.836124789073 40.5012643066572,-104.83532282616 40.5014182091969,-104.834562398965 40.5016656107496,-104.833862231727 40.5020004184754,-104.833239564888 40.5024143870601,-104.832709730574 40.5028973218633,-104.83228577506 40.5034373300773,-104.831978137541 40.5040211136997,-104.831794393074 40.5046342970926,-104.831739066055 40.5052617810515,-104.831813518821 40.5058881146554,-104.832015918097 40.5064978757385,-104.832341280141 40.5070760506105,-104.83278159346 40.5076084036796,-104.833326016079 40.5080818278834,-104.833961142505 40.5084846673069,-104.834671333819 40.5088070040565,-104.835439102753 40.5090409023397,-104.836245544289 40.5091806037522,-104.837070801158 40.5092226689759,-104.837894552799 40.5091660624086,-104.83869651571 40.509012177646,-104.839456942906 40.5087648031902,-104.840157110143 40.5084300292289,-104.840779776982 40.5080160977709,-104.841309611298 40.5075331998226)))
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用不同的图层("土壤")执行相同的查询,我会得到一个空结果:

在此输入图像描述

查询是一样的:

SELECT ST_AsText(ST_Intersection(%(geometries_0)s::geometry, %(geometry)s::geometry))
Run Code Online (Sandbox Code Playgroud)

具有geometries_0应重叠的多边形:

POLYGON((-104.84627938530097 40.54511058649626,-104.83460641167578 40.545175808723876,-104.84070039055733 40.537283458057615,-104.84627938530097 40.54511058649626))
Run Code Online (Sandbox Code Playgroud)

和一个geometry表示土壤的图层,类似于上述查询中的裁剪字段:

MULTIPOLYGON(((-104.939716 40.258166,-104.939775 40.258174,-104.939963 40.258159,-104.940159 40.258065,-104.940039 40.257671,-104.939917 …
Run Code Online (Sandbox Code Playgroud)

postgresql postgis intersection

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

如何从threejs中的raycaster中排除交叉点检查中的辅助对象?

我有一个threejs场景,对象的交叉检查.我将每个场景对象添加到数组中,然后由raycaster检查.

var intersects = raycaster.intersectObjects( scene.children );
Run Code Online (Sandbox Code Playgroud)

然后,我检查对象的颜色,并在与鼠标指针接触时更改它.

INTERSECTED.material.emissive.setHex( 0xff0000 );
Run Code Online (Sandbox Code Playgroud)

如果我向场景添加一个辅助对象,比如CameraHelperGridHelper,我会得到常量错误,因为.getHex .setHex辅助对象是不可能的.

是否可以从此检查中排除辅助对象,我该怎么做?

它必须是scene.children- scene.helpers,但我无法想出办法.谢谢您的帮助.

intersection helper scene three.js raycasting

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

在R中的线性和非线性方程的交点处求x值

我有两个函数:一个用于行(y),另一个用于曲线(hnc).我想确定两个函数相交的一个x值

sigma = 0.075
mu = 0 
r=0.226 
theta=0.908 
H=0.16 

hnc <- function(x) (1/(sigma*sqrt(2*pi)))*(exp(-(x^2)/(2*(sigma^2))))
y <- function(x) 2*pi*x+(pi*r^2/((360/theta)/H))

curve(hnc,0,r,n=100,col="blue")
plot(y,0,r,add=T,col="red")
Run Code Online (Sandbox Code Playgroud)

我尝试过使用nleqslv软件包,但是这会产生两个不同意的x值(也许是因为我使用的不正确)

int <- function(x){
z <- numeric(2) 
z[1] <- (1/(sigma*sqrt(2*pi)))*(exp(-(x[1]^2)/(2*(sigma^2))))
z[2] <- 2*pi*x[2]+(pi*r^2/((360/theta)/H))
z}

nleqslv(c(0.14,0.14),int,method="Broyden")
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!

谢谢,埃里克

intersection r nonlinear-functions

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

如何计算Ruby中两个普通区间的交集?

间隔由它们的边界给出为数组[a,b]和[x,y].我想计算它们之间的交叉长度.根据这个页面:http://world.std.com/~swmcd/steven/tech/interval.html

我可以告诉它是0如果

(not (a < y && x < b)) 
Run Code Online (Sandbox Code Playgroud)

成立.

例如,间隔[1.2,4.3]和[2.1,5.5]交叉点长度为4.3-2.1 = 2.2

ruby arrays intersection intervals

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

在javascript数组中执行Set计算

我有2个数组让我们说:

A = [1,2,3,4,5] and B = [1,2,3,6,7]
Run Code Online (Sandbox Code Playgroud)

我想执行以下'设置计算':

C = (A ? B)
D = A - (A ? B)
E = B - (A ? B)
Run Code Online (Sandbox Code Playgroud)

实质上:

C = [1,2,3]
D = [4,5]
E = [6,7]
Run Code Online (Sandbox Code Playgroud)

有没有一种聪明的方法来做到这一点,或者我将不得不用循环和ifs交叉检查每个数组成员?我不能使用外部库(如math.js或w/e).

提前致谢.

javascript arrays union set-theory intersection

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

在javascript中获取两个范围之间的交集

我试图找到两个范围(int值)和(如果存在)之间的交集返回一个包含交集的开始和结束的数组

range 1 : 2,5
range 2 : 4,7

result : 4,5
Run Code Online (Sandbox Code Playgroud)

我发现了几个关于数组之间交叉的其他主题,但没有人帮助我找到确切的交集(我刚刚发现了一个有用的函数,如果交集存在但是没有告诉交叉点是什么,则返回'true')

我在alghoritms非常糟糕,所以我发现了一些问题,我真的很感激一个提示

谢谢

javascript algorithm math intersection

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

如何基于属性获得两个类的交集

我有这门课

public class FlightSegment{
     public string ClassName { get;set;}
}
Run Code Online (Sandbox Code Playgroud)

而且我希望FlightSegments与众不同ClassName

void Main()
{
    var list1 = new List<FlightSegment>() { 
        new FlightSegment{ ClassName = "A"},
        new FlightSegment { ClassName = "B"}
    };      
    var list2 = new List<FlightSegment>() { 
        new FlightSegment{ ClassName = "B"},
        new FlightSegment { ClassName = "C"}
    }; 

    var listOfLists = new List<List<FlightSegment>>() { list1, list2 };     
    var intersection = listOfLists.Aggregate((previousList, nextList) => previousList.Intersect(nextList).ToList());        
    Console.WriteLine(intersection); //Gives me empty result

}
Run Code Online (Sandbox Code Playgroud)

我试过这样的事情:

    var intersection = listOfLists.Aggregate((previousList, …
Run Code Online (Sandbox Code Playgroud)

c# linq aggregate intersection

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