首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java商业友好的R-tree实现?

Java商业友好的R-tree实现?
EN

Stack Overflow用户
提问于 2011-09-16 02:27:19
回答 3查看 11.1K关注 0票数 14

我需要一个商业友好的(阿帕奇许可证,LGPL,Mozilla公共许可证等)在Java的R-tree实现,以取代时区的geonames网络服务,如问题"Determine timezone from latitude/longitude without using web services like Geonames.org“建议。我有found some around,但我想知道是否有人在实践中对它们进行了评估或使用。

EN

回答 3

Stack Overflow用户

发布于 2012-02-18 21:12:54

  • https://github.com/rweeks/util/blob/master/src/com/newbrightidea/util/RTree.java - LGPL实现的R-树的Russ Week。它看起来非常简单和清晰,不依赖于Chris Jones的R树的外部libraries.
  • http://www.mischiefblog.com/?p=171 http://www.mischiefbox.com/blog/uploads/rtree.jar LGPL实现。Olofsson
  • http://jsi.sourceforge.net/ LGPL项目的另一个简单而清晰的solution.
  • http://www.khelekore.org/prtree/ CPL1.0实现优先级R树的项目旨在维护RTree空间索引算法的高性能Java版。
票数 14
EN

Stack Overflow用户

发布于 2012-02-14 03:48:04

首先,我要指出的是,如果你要从给定的坐标中查找最近的城市,它可能不在同一时区!在我看来,你真正需要的是关于它的行政隶属关系的信息-至少是一个国家,但在某些情况下,它应该比这更多,即国家。可以使用Google Maps API检索这些信息,然后将其与一些更详细的TZ信息相关联。

GeoNames有一个免费的替代品-- EarthTools。服务本身有一些限制(请求数量等),但它仍然很好,经过测试,对我来说工作得很好。

其次-- GeoNames有一个免费的替代品-- EarthTools。服务本身有一些限制(请求数量等),但它仍然很好,经过测试,对我来说工作得很好。

第三,如果您关心将数据导入到DB中,那么当前大多数DB实现都提供了您可以使用的地理空间索引。如果需要将这些信息嵌入到应用程序中,可以使用带有H2Spatial附加功能的H2Database (embeded Java DB) --尽管我已经尝试过了,但我不能完全推荐它。Neo4j有一个很好的空间索引实现

此外,您还可以为GeoSpatial searches使用Solr。它很好,它很快,而且很容易实现。实际上,我正在将我的数据库搜索迁移到Solr...

最后,但并非最不重要的是,你会在下面找到一些我之前测试过的:

  • JSI - LGPL
  • GeoTools - LGPL是一种过度杀伤力,它会给你带来远远超出你需要的东西……但这太棒了!

可能还有更多,但到目前为止我测试过的那些...

票数 2
EN

Stack Overflow用户

发布于 2016-06-09 23:33:19

我创建的RTree简单Java类:https://github.com/hadmir/rtree/blob/master/RTree.java

所有对象都存储在两个int[]数组中,因此很容易持久化(到文件中)。此外,添加新的矩形不会创建任何对象,这意味着您可以将数百万个矩形插入到RTree中,并且JVM不会烧成火焰。这对于对象数量通常很大的geo项目很有用。

只存储2D矩形(因此,对于复杂对象,您需要找到边界矩形)。查询返回与“查询矩形”相交或重叠的所有矩形(矩形的ID)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7435645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档