用于地理空间搜索的轻量级java库?

时间:2012-03-10 03:16:56

标签: java geospatial

我目前的需求非常简单。我们有一些地理位置信息,表示为(经度,纬度,内容)。我们需要在给定查询位置的X公里内搜索位置。

查询的位置不多,我认为它们可以是RAM中的索引。 这个需求有没有简单的Java库?感谢

3 个答案:

答案 0 :(得分:1)

您可以使用Solr。它具有地理空间搜索功能,也可以嵌入到您的应用程序中。

答案 1 :(得分:1)

JSI (Java Spatial Index)在Java中提供了一个相对简单但快速的R-Tree实现,但是这是为平面坐标设计的。我不确定它在地理空间坐标上的效果如何(在极点和180度经度处包裹)。

NASA Worldwind Java SDK包括一个有效的QuadTree实现,可以很好地适应地理空间坐标。

我对插入和查询操作的速度和时间复杂度进行了基准测试,两者都显示了类似的性能,最多可达10,000件。

我还没有试过Lucene空间,但是现在就试试看它在我的小基准测试中的效果如何。

答案 2 :(得分:0)

Hibernate Search也有spatial queries capabilities

它建立在Apache Lucene之上,它可以通过注释索引数据并使用全文查询检索它们。