1

我需要为现有应用程序开发一个基于位置的扩展程序,允许用户查看他们周围的所有其他用户(在固定的空中距离内)。现有应用程序是使用 Axis(Web 服务)+ Spring + Hibernate + MySQL 开发的。

要求是:

  1. Java 框架(最好是开源的,除非商业解决方案有很大的优势)。与 Hibernate、Spring 等集成优先。
  2. 用户需要使用标准 API(即 SOAP 或 REST)在设定的时间段内更新他/她的位置
  3. 用户需要能够通过发送纬度和经度或美国地址来更新位置。
  4. 如果 GPS 不可用,可能会对某些设备使用信号塔和/或 wifi 数据。
  5. 无需步行或驾车路线。不需要开车或步行距离,只需大致的空中距离。
  6. 该应用程序的用户不断移动(销售人员)并在设定的时间段内(每约 15 分钟)更新他们的位置
  7. 项目将来可能会改变以处理其他兴趣点(即仓库位置、客户位置),但这些兴趣点可能会处于固定的物理位置(与不断移动的用户相比)。
  8. 围绕特定用户检索用户的性能至关重要;因此将更喜欢内存映射(而不是数据库查询)。
  9. 此时无需渲染地图。不过这可能会改变。

我听过或看过以下术语和框架,但我不确定它们是什么意思以及使用哪一个:

  • ESRI
  • 形状文件
  • 地理服务器
  • 地理工具
  • 地理信息系统

我将非常感谢简要概述我需要采取的步骤来开发这样一个项目,是否以及如何使用上述工具,哪些数据(即 GPS、Wifi、蜂窝塔)是免费提供的,我们需要哪些支付。

对一些教程或书籍的参考将不胜感激。

谢谢!

4

2 回答 2

2

我真的不喜欢你的问题。作为拥有大学学位和 12 年经验的地理空间专业人士,我想说:聘请可以为您完成这项工作的人。

但我会尽量给出一些体面的答案:

  • 整个应用程序可以使用开源构建。
  • 地图需要地理数据来提供背景。这可以是;真正昂贵的(teleatlas 或 navteq 数据)或无价的(openstreetmap)
  • ESRI 是一家公司
  • Shapefile 是一种存储地理数据的文件格式
  • Geoserver 是一个提供地图的开源解决方案
  • GeoTools 是用于进行转换、创建特征和进行转换的 java 库,它们也构成了 geoserver 的基础
  • PostGIS 是一个存储地理数据的数据库
于 2009-10-02T08:56:31.270 回答
2

一般来说;

一切皆有可能。我建议先写下你想要构建什么,你希望它维护谁,你希望它在什么服务器架构上工作,然后开始消除这些选项。

首先,您需要选择一个后端来存储您的数据。为此,一些数据库系统具有“空间”扩展或模块,这些扩展支持投影、转换和空间查询(最近、内部、触摸......):

商业的:

  1. 甲骨文空间
  2. MS SQLserver 空间

开源:

  1. postgis(用于 postgres)
  2. MySQL空间
  3. MonetDB(正在进行中)
  4. ESRI shapefile 等平面文件

然后,您需要一个服务器应用程序将地理空间数据集托管为(矢量或栅格)地图:

商业的:

  1. ESRI arcIMS
  2. ESRI arcGIS 服务器
  3. PB MapInfo MapXtreme
  4. ...

开源:

  1. UMN 地图服务器
  2. 地理服务器
  3. 马普尼克

最后,如果你想创建一个带有交互式地图的网络应用程序,你需要一些 Javascript 网络地图框架:

商业的:

  1. 谷歌地图
  2. PB MapInfo MapXtreme
  3. 地图24
  4. ...

开源:

  1. 开放层
  2. 变色龙
  3. 地图鱼
  4. GeoExt

您还可以使用 Flash web 地图框架,例如:

  1. 火烈鸟-MC

所有这一切,取决于所选择的架构,至少需要一个带有 cgi 或 servlet 运行器的网络服务器。

基本上,这一切都取决于您的组织:您的组织目前使用的架构是什么?专业知识如何?什么架构与您公司的专业领域相匹配?

商业化时,您的许可证从 500 美元到 500.000 美元不等,具体取决于供应商。使用开源时,您的许可证当然是无效的。但是您还需要计算学习曲线和所需的配置时间。

于 2009-10-02T21:15:05.150 回答