审查新的 GIS 产品开发需求及其处于需求收集阶段。该应用程序需要在桌面上运行,并且应用程序的某些部分在移动设备上运行,然后可以同步到桌面或服务器。该产品将处理图像、定义边界、使用图层、多边形进行分析、导入形状文件、使用 GPS 记录来定义边界以及输入记录的应用程序。理想的开发环境是什么?因为主要要求之一是该产品的上市时间。听说过很多关于 ESRI 作为理想的映射工具以及 Oracle Spatial 或 SQL Server 作为数据库播放器的说法。我该如何分析适合此开发(涉及 WEB、桌面应用程序、移动平台和服务器端应用程序)的工具?来自经验丰富的产品开发人员的任何想法!

有帮助吗?

解决方案

如果该应用程序是用于Windows(桌面)和Windows Mobile,然后C#/。Net是一个极好的语言/平台的选择。使用Mono,你也可以(可能)包括Mac,Linux和iPhone一样好。无论是SQL Server或Oracle将工作数据库,但我会与SQL Server去(甲骨文,其所有的长处,只是更麻烦来处理的)。

由于Web组件可以是ASP.Net,你会具有明显优势的所有的代码(即使在SQL Server)是C#,如此你真的只需要精通一种语言。

其他提示

ESRI 确实提供了很多好的工具。特别是如果您有移动设备需求,我会考虑 ESRI,因为我不知道移动世界中真正强大的替代方案。

(编辑:当我上面说“移动”时,我假设您指的是移动 GIS 单元,例如 天宝 单位。如果您确实想在 iPhone 等设备上进行移动 GIS,那么使用特定于平台的工具可能会更好。我知道 Apple 有一些非常好的工具包(根据 NDA IIRC),您可以使用它们在 iPhone 上执行地理空间应用程序。我不知道其他移动设备上的支持是什么样的。)

在数据库端,Oracle Spatial、SQL Server 2008 和 PostGIS 都是参与者。但是,如果您使用 ESRI 解决方案,请注意 ESRI 基本上将自己定位为端到端解决方案。因此,对数据库的任何访问都可能会通过 ESRI 的 ArcSDE 层,这意味着不同数据库平台可能给表带来的独特优势将会丢失。

就实际地图渲染而言,我还没有发现 ESRI 解决方案是理想的。特别是,许多 ArcObjects 代码在高度多线程环境中存在问题(例如一次渲染许多地图),这是其他渲染解决方案所不具备的。一种替代方法是对系统的某些部分使用 ESRI 解决方案(例如移动支持、分析),并针对其他部分使用其他解决方案。

我自己的倾向是倾向于使用开源工具来完成尽可能多的事情。一些需要研究的工具包括:

当然,如果上市时间是一个关键限制因素,那么需要考虑的主要事情之一就是您的团队已经知道的事情。如果您的团队熟悉 ESRI 工具而不熟悉开源替代品,那么您可能只是出于权宜之计而选择这条路线。

而且,正如 MusiGenesis 指出的那样,除了所有这些工具之外,C#/.NET 可能是一个值得研究的好平台。当然可以使用 C# 进行 ArcObjects 开发,而且我的经验是,对于 ArcObjects 开发来说,这比直接使用 C++ 的 COM 环境更好。

我会建议通过下 OSGeo的基础的保护伞开发项目堆栈散步 - OSGeo的。有机存在可用于各种应用中,开发平台,等等。

的各种开源项目的
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top