我目前的需求很简单。我们有一些地理位置信息,如(经度,纬度,内容)。我们需要在给定查询位置的情况下搜索X公里内的位置。用于地理空间搜索的轻量级Java库?
不会有太多的地方进行查询,我认为他们可以在RAM指数。 有没有这种需求的简单Java库?由于
我目前的需求很简单。我们有一些地理位置信息,如(经度,纬度,内容)。我们需要在给定查询位置的情况下搜索X公里内的位置。用于地理空间搜索的轻量级Java库?
不会有太多的地方进行查询,我认为他们可以在RAM指数。 有没有这种需求的简单Java库?由于
您可以使用Solr。它具有地理空间搜索功能,并且可以嵌入到您的应用程序中。
我测试了Lucene空间,它的工作原理,但似乎没有我预期的那样高效。 – user716396 2012-03-11 13:38:02
JSI (Java Spatial Index)在Java中提供了一个相对简单但快速的R-Tree实现,但这是为平面坐标设计的。我不确定它是如何与地理空间坐标一起工作的(包括在两极和180度的经度)。
NASA Worldwind Java SDK包括QuadTree的高效实现,它可以很好地处理地理空间坐标。
我已经对插入和查询操作的速度和时间复杂性进行了基准测试,并且都显示了多达10,000个项目的相似性能。
我还没有试过Lucene空间,但现在就去试试吧,看看它在我的小基准测试中的表现如何。
Hibernate Search也有spatial queries capabilities。
它建立在Apache Lucene之上,它可以通过注释索引数据并使用全文查询检索数据。
软件推荐的类似问题:http://softwarerecs.stackexchange.com/questions/27569/java-data-structure-to-store-geographical-objects-and-retrieve-them-by-area – 2016-01-01 15:55:12