0

我的任务是完成一个论文项目,我必须扩展 ArcGis 的功能。我被要求创建一个用 Python 编写的模型,该模型可以用完 ArcGIS 10。这个模型将有一个简单的用户界面,用户可以在其中拖放各种 shapefile 并输入特定变量的值,以便有效运行的模型。模型完成运行后,将创建一个新的 shapefile,其中列出了风力涡轮机从 A 点到 B 点的最具成本效益的集电极电缆路线。

我想知道 ArcGIS 中是否已经存在这样的功能/扩展,所以我不必重新发明轮子。如果不是,那么学习扩展 ArcGIS 的最佳编程语言是什么(Python vs Visual basic vs Java)。我的背景是 Java、PHP、Jquery 和 Javascript。此外,任何指向正确方向的指针,即文档、资源等,都将不胜感激

4

3 回答 3

0

我每天都在为天然气、水和电力等公用事业公司定制 ArcGIS 进行日常工作。我们为他们创建了类似的按钮 - 从房屋侧面的燃气表点到最近的燃气主管线上的最近点绘制一条服务燃气管道,在该点拆分主管道,插入一个“T”点特征,并将服务线从“T”连接到仪表。

我们主要使用 C# 和一些 VB.net。您可能需要考虑为 ArcGIS Explorer 之类的东西创建 Python 插件。或者 ArcMap 的插件。Explorer 和 ArcMap 允许您将 shapefile 作为图层添加到地图中。加载项让您可以轻松地向工具栏添加一个按钮,该按钮可以对地图上的要素执行操作,例如查询它们的属性并修改它们的属性和几何以在地图上移动它们,以及创建新要素和填写属性并用 X、Y 或 Lat/Long 将它们放在地图上。

因此,您的“计算最佳电缆路线”工具可能是您在工具栏 (ICommand) 上创建的一个按钮,它首先会: 1. 让用户使用 Explorer/ArcMap 中的内置选择工具在地图上选择点 A 和点 B。2.让用户点击你自定义的ICommand按钮。3. 然后,您的 ICommand.OnClick() 方法将执行所有代码以根据地图上其他特征(如街道边缘、建筑物轮廓、属性线等)的几何形状尝试不同的路线,然后计算总成本(如挖泥土),沥青,并获得许可/通行权,以应对其越过财产线的情况。

请参阅此处的 ArcGIS ArcObjects API 以开始使用:http: //help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/ICommand_Interface/00430000001s000000/

于 2013-09-27T16:13:06.530 回答
0

您必须完全了解它应该如何工作以及该工具应该将所有输入和输出数据集、它们的结构、属性表字段等放在哪里。只有一个人知道所有这些东西——那就是你。而且它不是“轮子”,而是一种定制工具。您可以在内置模型构建器中构建模型(很棒的东西),然后将模型导出到 Python 脚本中。

查看此视频http://www.youtube.com/watch?v=mBSXBqEP-7Y

然后再次。你必须知道:1)输入数据集和参数 2)你想得到什么作为输出 3)它应该如何工作

于 2012-12-12T04:16:33.823 回答
0

如果您只想进行一些地理处理并将该工具部署给大量用户,那么创建 Python 插件可能是最快和最简单的方法。

但只要您需要一个用户界面(不仅仅是选择 GIS 数据源),您就应该创建一个 .Net 插件(使用 C# 或 VB.net)。

多年来,我创建了许多插件,它们是对涉及大量复杂 COM 注册的旧 ArcGIS“插件”的巨大改进。插件易于构建和部署。便于用户安装和卸载。

.Net 具有出色、强大的功能,可通过您需要的拖放操作创建丰富的用户界面。并且有很棒的书籍、论坛和示例可供利用。

于 2015-08-20T17:37:26.310 回答