我一直在开发一个为用户存储位置的网络项目。该项目目前使用 MySql 5.5 和 JPA 2 来映射关系数据库,并使用 EJB 3.1 作为中间层。我在 MySql 中以 Decimal 数据类型存储经度和纬度数据。
我想扩展项目,以便用户可以在地图上搜索他/她标记的位置附近的点(GPS 坐标)(通过使用 Google Map API 3)。
在开始转换或更改项目中的组件之前,我需要一些提示和建议。如果可能,请提供教程以及如何实现更改以及使用哪些工具(库、开发工具等)。这是我的问题。
- 我可以在 MySql 中使用 Spatial 扩展(使用 Point 等数据类型)并将其映射到 JPA 2 支持的实体(如 DataNucleus 库,如果它们受 JPA 2 支持)。那是轻量级的,可以通过持久层自我持久化。
- 迁移到 PostGIS 和 Postgres(它们似乎有更好的空间支持)是否更好,因为更改数据库需要付出所有的痛苦和努力,然后改用 hibernate。Netbeans 具有 Hibernate 支持,但是在尝试使用 JDBC for PostGis 时,我偶然发现了一些问题。如果我走这条路,需要一个很好的教程才能开始。
- 使用已经到位的基础设施并计算与哺乳期 A 和 B 的距离。类似于Jan Philip Matuschek在本文中所做的方式
请原谅我对问题进行聚类。问候克里斯