I have huge list of 2d line segments. I want to find nearest line segments for a given segment and then to store in a vector. So, I want to do this for each and every line segment. therefore, I know nearest line segments for any line segments at the end (This is what I need). All my line segments are in vector form that is, I know both end point coordinates. So in my data line-number, begin (x,y,z), end(x,y,z) are there.

For obtaining the line segments, I want to check the distance between the line segment and end point of another line segment (this).

I think there might be some data structures that all of these things happen and give a vector of vector line segment numbers or some other way to recognize proximity line segments. I know kd-tree (k-nearest) can do the similar thing. But it is for point data.

I was trying to figure out this with opencv r-tree function. But as I do not have any experience of using r-tree I was not able and I am confused now because it says about a classifier and also something about a training phase. But for my case, I feel I donít want such things to follow.

If anyone knows any function or codes or library to do this thing, please let me know. thanks in advance.