Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any documented free R-Tree implementation for .NET?

Tags:

I found some open source R-Tree implementations in C#, but none with documentation nor signs of being used by someone else than the developer.

like image 918
Jader Dias Avatar asked Jan 11 '10 12:01

Jader Dias


People also ask

What is R-tree indexing?

An index organizes access to data so that entries can be found quickly, without searching every row. The R-tree access method enables you to index multidimensional objects. Queries that use an index execute more quickly and provide a significant performance improvement.

Is R-tree balanced?

The R-tree is a self-balanced data structure. The key part of balancing algorithm is node splitting algorithm. Each algorithm produces different splits so the internal structure of a tree may be different for each one of them.

What is R-tree in spatial database concepts?

The R-tree is a height-balanced structure, i. e., all leaves appear at the same level of the tree. objects intersected by the query rectangle have to be iden- tified using a refinement step by retrieving the objects and testing for true intersection.

What are R trees used for?

R-trees are hierarchical data structures based on B+- trees. They are used for the dynamic organization of a set of d-dimensional geometric objects representing them by the minimum bounding d-dimensional rectangles (for simplicity, MBRs in the sequel).


2 Answers

The NetTopologySuite is a JTS port to C# and it contains a STRtree class which is a read-only R-Tree

like image 142
Jader Dias Avatar answered Nov 15 '22 12:11

Jader Dias


I know of none, but I would point out that libraries like this tend to:

  • Get written (normally with some bugs).
  • Bugs get ironed out though use.
  • All active bugs are fixed
  • Optional
    • 'Latent' bugs which could never happen due to previous semantics of the platform on which the library operates crop up if the platform changes in some way.

Thus lack of activity in terms of commits for the library should not indicate that the library is dead, it may indicate it is very stable and solid. If the library is either easy to understand or targeted at a relatively sophisticated audience (as R-Tree usage currently is) then you may find little online dialogue about it.

Lack of download activity is somewhat worrying. Though you are using a fairly niche library on a platform not previously known for heavy GIS/spatial query work (though the changes in SQL Server 2008 may change that).

If you cannot find a Java library of appropriate activity it is unlikely you will find a c# one. If you find such a java one a direct (as opposed to idiomatic) port is unlikely to encouter problems.

like image 22
ShuggyCoUk Avatar answered Nov 15 '22 12:11

ShuggyCoUk