Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am searching for C# library which has code that builds spatial index in memory based on geometry bounds and enables fast searching for all geometry inside given bounds.

I prefer free library.

share|improve this question
    
sharpmap.codeplex.com but you say where your source data is coming from MYSQL? POSTGRES, SQLSERVER, ORACLE? or file –  Mapperz Dec 2 '11 at 16:20
    
I have many data sources, so I will look for most generic solution from suggestions all gave. –  watbywbarif Dec 3 '11 at 17:24
    
I was looking for C# bindings for libspatialindex, but I currently don't see anything beyond Rtree for Python. –  Mike T Dec 3 '11 at 23:50
add comment

3 Answers 3

up vote 1 down vote accepted

There is a C#/.NET port of JTS Topology Suite: http://code.google.com/p/nettopologysuite/

Here's the index classes: http://nettopologysuite.googlecode.com/svn/branches/v2.11_cleanup/NetTopologySuite/Index/

share|improve this answer
    
This looks OK, I will try to use this code and check this as answer if there is no problems. –  watbywbarif Dec 3 '11 at 17:19
    
Using 1.11 version, looks OK for now. –  watbywbarif Dec 14 '11 at 15:23
add comment

Maybe try googling for specific indexing methods. For example, when I Google for C# r-tree this is the first result.

share|improve this answer
    
Of course my life would have been more simple in start if I knew that I was looking for R-Tree ;) Thx! –  watbywbarif Dec 3 '11 at 17:21
add comment

Another option is to use SQLite + Spatialite in memory. Create a table with a geometry column and a spatial index and insert your geometries there. Then use SQL queries to get the matching geometries.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.