5

我是一名计算机科学家,我一直在使用 Java 开发应用程序。我刚受雇于一家使用 ArcGIS 制作项目的公司。该公司聘请了一名电气工程师来开发 arcGIS 项目。这位工程师过去使用 VBA 自定义 ArcMap,最近使用 .NET 和 C# 进行扩展。

我想走一条新路,开始使用带有 Java 的 ArgGIS 引擎。我想知道这个选择是否正确。你们中是否有人使用 Engine-Java 进行开发以及它有多困难(使用 JNI - 我对此知之甚少 - 使其变得更加困难?)。此外,我对 .NET 和 c++ 有一点经验,但对 C# 没有。我在这条道路上会有很大的学习曲线吗?

还有每种方法的优缺点和局限性是什么?

4

3 回答 3

4

很难回答的问题。

  • 一般的看法似乎是,如果您了解 Java,C# 很容易学习。
  • 恕我直言,您最大的问题是学习和操作庞大、复杂的 ArcGIS 对象模型。语言的选择可能是次要的。
  • 我的直觉是 C#/.Net 在使用 ArcGIS 进行桌面编程时可能更受欢迎,因此您将获得更多社区支持。但我不知道。显然有很多人Java 与 ArcGIS 一起使用——我怀疑它主要是服务器工作,但我不确定。您可以通过查看 ESRI 论坛活动来了解 ArcEngine with Java 的流行程度。

编辑。您可能需要确定学习 C# 是否对您的雇主(和您的职业)将来有价值,并将其与对使用 Java 和 ArcGIS 引擎是否不寻常且因此风险更大的一些评估进行权衡。只有你能回答第一个问题。

于 2010-01-31T20:32:22.703 回答
3

我绝对在所有方面都建议您坚持使用 C#/.Net 而不是 Java。上次我看(带着一粒盐),使用 ArcGIS 完成的 Java Library + COM inter-opt 在处理某些元素(数组,哦天哪,数组)时非常慢,而且我很确定 Java 会最可能是在不久的将来被放在切割块上的下一种语言(VB6 现在得到了斧头)。与他们的 C#/.NET 相比,ESRI 的 java 社区也非常小(但是大约是他们的 C++ 的 50 倍:()

于 2010-02-02T01:20:31.960 回答
1

我会选择 .NET 和 C#

如果您了解 java 和 C++,那么 C# 一定很容易。您只需要通过 .net 框架找到自己的方式即可。

如果您必须结合 arcgis 和 Silverlight (C#) 制作一些富 Internet 应用程序,那么使用 C# 将是安全的。

于 2010-01-29T12:03:05.307 回答