【问题标题】:What is the Best Development platform for GIS application?GIS应用的最佳开发平台是什么?
【发布时间】:2009-09-23 21:27:34
【问题描述】:

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

【问题讨论】:

    标签: mobile gis


    【解决方案1】:

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

    (编辑:当我在上面说“移动”时,我假设您指的是移动 GIS 单位,例如 Trimble 单位。如果您真的是指在 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 开发当然是可能的,而且我的经验是它比 C++ 中的直接 COM 开发 ArcObjects 的环境更好。

    【讨论】:

      【解决方案2】:

      如果此应用程序适用于 Windows(桌面)和 Windows Mobile,那么 C#/.Net 是一个很好的语言/平台选择。使用 Mono,您还可以(可能)覆盖 Mac、Linux 和 iPhone。 SQL Server 或 Oracle 都适用于数据库,尽管我会使用 SQL Server(Oracle,尽管有其优点,但处理起来更麻烦)。

      由于 Web 组件可以是 ASP.Net,因此您将拥有所有代码(即使在 SQL Server 中)都是 C# 的明显优势,因此您只需要精通一种语言。

      【讨论】:

      • 这个答案虽然在开发平台方面很有趣,但实际上与开发 GIS 应用程序无关。
      • Daniel & MusicGenesis:您提供了一些关于我正在寻找的信息的好信息。爪哇呢?还有任何关于同步技术的输入,可用于处理设备和服务器之间或笔记本电脑和服务器之间的同步,可以处理大量/大量数据。再次感谢。
      • @Oraaps:我不能支持或反对 Java,因为我对它的经验很少。服务器和设备/笔记本电脑之间的同步可以在 C#/.Net 中通过在 ASP.Net 应用程序中运行的 Web 服务轻松完成。事实上,设备应用程序和笔记本电脑应用程序都可以使用相同的网络服务。
      • @Oraaps:我同意MusiGenesis 的观点,Web 服务风格的SOA 框架将是一个好主意。在使用 C# 和 Java 针对 ArcObjects 进行开发后,我会说我宁愿在 C# 中进行。如果你打算使用 Java,我会研究 GeoTools,它是一个非常好的、功能相当全的开源工具包。
      • Mono 提供了一个用于编写 iPhone 应用程序的工具——在 .NET 中。这确实与 GIS 无关,但人们确实在 .NET 中对 iPhone 进行编程。
      【解决方案3】:

      我建议浏览一下在OSGeo Foundation - OSGeo.org 的保护伞下开发的一系列项目。有多种开源项目可用于各种应用程序、开发平台等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        • 2017-02-20
        • 2010-09-27
        • 2010-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多