问题标签 [arcgis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
708 浏览

unit-testing - 单元测试气味

我正在尝试更改我对 ArcGIS 的单元测试,并开始使用模拟(我使用 rhino)。
当我开始编写测试时,我注意到我必须开始模拟很多对象,并存根很多方法才能通过单个测试。
例如 - 我的控制器首先得到一个RelationshipClass(所以我需要存根IWorkspace和返回IRelationshipClass),然后也得到一个IFeature(A存根),最后调用stubRelClass.GetRelatedObjects(stubFeature), 来返回一个ISetof other IFeatures

为了让它通过而必须存根这么多对象和方法是否正常?我也觉得我真的需要跳过代码(是的 - 我知道我应该先编写测试,我仍在尝试这个),以便找出接下来要存根的内容,以及我应该返回的内容。

我在模拟实现多个接口的 com 类时也遇到了问题。在生产代码中,我在接口之间对它们进行了 QI。如何创建一个在运行时实现两个接口的模拟?

0 投票
1 回答
547 浏览

statistics - owa 如何逐步工作

raster1 {{0,1},{1,1}} raster2 {{1,1},{0,0}}

嗨,您能逐步解释一下上述两个栅格的有序加权平均方法是如何工作的吗?谢谢

0 投票
4 回答
1974 浏览

c# - ArcGIS 在 C# 中的内存分配崩溃

我正在为 ArcGIS 开发一个将与 ArcView 集成的自定义工具。该工具使用 C# 开发,基本上连接到 SQL 数据库,将数据提取到本地数据结构,执行大量统计分析,然后将结果显示为新层。

崩溃发生在此代码执行期间。

在这个阶段,我只是将查询的结果保存在一个链表中。我很确定崩溃发生在内存分配期间,但我知道仍然有大量内存剩余,并且查询没有返回如此大的数据集。运行一个分配新“记录”的简单循环也会很快崩溃。你们中是否有人知道 ArcGIS 运行时中的内置保护可能会阻止我分配超过一定数量的内存?

谢谢 !

0 投票
1 回答
2350 浏览

c# - 在 ArcGIS 中进行线性参考的编程方式

我正在开发一个自定义 ArcGIS Desktop 工具项目,我想在其中实现一个自动线性参考功能。长话短说,我想沿路线显示有问题的路段,并使用颜色代码(例如绿色、黄色、红色等)显示严重性。我知道这是一个非常常见的场景,并且已经明白完成这项任务的“正确方法”是创建一个线性事件表,它允许我为某些路线段分配不同的代码。我的一些同事知道如何手动执行此操作,但我似乎无法找到任何方法来以编程方式复制此操作。

当前的工具是用 C# 编写的,并且已经执行了所有需要的计算来确定有问题的区域。问题主要是我不知道从哪里开始,因为我对 ArcObjects 了解不多。欢迎任何代码示例或建议(C# 是首选,但 C++、VB 和其他肯定会帮助我)。

编辑 :

我正在尝试使用 MakeRouteEventLayer 工具,但似乎无法满足不同的先决条件。路由托管在 SDE 服务器上。到目前为止,我正在以这种方式建立连接:

现在我被困在为 MakeRouteEventLayer 的构造函数准备一切。我似乎无法找到我应该如何让Feature Layer作为Input Route Features传递。另外,我不明白如何正确创建事件表。除了这个我不理解的例子之外,我似乎找不到任何与我试图完成的事情相关的例子,因为它没有记录/评论并且没有提及数据类型。

0 投票
2 回答
1084 浏览

c# - 如何在 ArcGIS Silverlight API 上动态添加按钮?

如何在 ArcGIS 上使用 C# 动态添加按钮?

我可以使用 XAML 创建它,但我不能在 C# 上编写它,我在 ArcGIS 上的网站上进行了检查,他们允许动态添加图形,但没有示例显示如何动态添加按钮等控件。

谁能给我一些示例代码?

谢谢

0 投票
1 回答
1246 浏览

c# - 在 ArcGIS 中使用“MakeRouteEventLayer”

我正在尝试使用 MakeRouteEventLayer 工具,但似乎无法满足不同的先决条件。路由托管在 SDE 数据库中。到目前为止,我通过与数据库服务器建立连接来设置工作区,但我不知道如何获取 MakeRouteEventLayer 的构造函数所需的参数。我似乎无法找到我应该如何让要素图层作为输入路径要素传递。另外,我不明白如何正确创建事件表。除了这个我不理解的例子之外,我似乎找不到任何与我想要完成的事情相关的例子,因为它没有太多的文档/评论,并且没有提及数据类型。

供您参考,我正在使用的工具是用 C# 编写的。

0 投票
9 回答
1910 浏览

java - ESRI 框架:java vs javascript

我即将使用 ESRI 产品(如 ArcGIS Server 和 Image Server)开发 Web 制图应用程序。

我在 Java Web ADF 和 Javascript 框架之间找不到很好的比较。它们当然是不同的,因为一个是完整的环境,另一个只是客户端,但它更简洁,而且开始的步骤很小。

另一个问题是 Java Web ADF 与我们当前的应用服务器(JBoss 4.2.2)不兼容,需要旧的 4.0.2 版本。

有人有经验可以帮助我吗?

非常感谢。

0 投票
4 回答
1818 浏览

gwt - 哪个是与 GWT 一起使用的最佳 ESRI ArcGIS 组件库?

我们目前正在使用 GWT 和 ESRI ArcGIS 设计一个 GIS Intranet 应用程序。我们正在研究 2 个客户端 Javascript 库:

  1. ESRI Javascript API
  2. 打开图层

该库必须支持融合和非融合地图缓存以及一些动态图层。Open Layers GWT 集成存在,但 ESRI 库基于Dojo

我正在寻找有关这两种方法的陷阱在哪里的信息和建议。

0 投票
1 回答
239 浏览

dll - 奇怪的 dll 行为(问题大修)

我有一个 dll 项目,它从Microsoft Enterprise Library 3.1的安装目录中引用Microsoft.Practices.EnterpriseLibrary.Common.dll(=“ dll ”) 。它有一个以“b03f”开头的公钥。 我有另一个引用版本 9.30.2.5168 的项目(它在 GAC 文件夹中显示 9.2.0.0)。Miner dll 有一个以“196b”开头的公钥。 第三个 dll 引用另外两个。
Miner.Geodatabase.dll

这是一个简单的vs2005解决方案,上面的项目 ELTest.rar -
1. RefEL,只是从它的lib文件夹中引用dll 。
2. RefGeodatabse,仅引用Miner.Geodatabase.dll来自 GAC 的。
3. RefBoth,引用其他两个项目。

编译后,RefEL 的 bin/debug 文件夹包含dll的“b03f”(“real”)版本,而 RefGeodatabase 和 RefBoth 的 bin/debug 包含公钥以“196b”开头的 dll版本- 与 Miner dll 相同。在我看来,他们已经重新编译了企业库(并且可能改变了一些东西)。
在运行时(在我的真实解决方案中,而不是在这个伪造的解决方案中),我的“两个”项目调用“EL”项目,需要“b03f”dll,找不到它,然后崩溃。

我应该做些什么?也许如果我在 GAC 中注册企业库 dll,它们会在运行时找到。是否有不需要我在目标计算机上安装 entlib 的不同解决方案?

0 投票
2 回答
346 浏览

gis - 寻找开源工具

您是否知道任何可用于将 LAS(激光雷达数据)转换为 Voronoi 图或 TIN(不规则三角形网络)的工具?

或者任何人都可以建议如何在 arcgis 中做到这一点?