Questions tagged «modelbuilder»

ArcGIS Pro以及ArcGIS Desktop 10.x的应用程序,用于在其Geoprocessing Framework中创建,编辑和管理模型




1
ArcGIS Pro是否将拥有(更好的)ModelBuilder?
早期的问答(Esri的新“专业用ArcGIS”和“ ArcGIS Pro”是什么?)使人确信ArcPy代码将在ArcGIS Pro中具有重用价值: ArcGIS Professional可扩展性。这是我们目前对ArcGIS Pro可扩展性的想法。您可以在ArcGIS中编写和运行Python脚本,以调用地理处理工具,并使用ArcGIS Python API ArcPy中提供的详尽的脚本功能套件来自动执行GIS任务。 但是,它没有提及ArcGIS Pro是否将使用(等同于)现有ModelBuilder或对其进行重大改进以解决其他人和我以前提出的增强要求的GUI,来使模型构建能够使工作流程自动化。 有人听说过ArcGIS Pro中的ModelBuilder(或至少是模型构建)的道路吗?

5
是否将版本控制应用于ArcGIS ModelBuilder模型?
版本控制是软件开发必不可少的工具,它可以使用户可靠而干净地退回到X完全正确完成工作的最后一次,或者查看从那时到现在的变化-通常在试图找出原因时使用X不再完全正确。 但是,我所知的所有工具仅适用于纯文本文件。工具箱(标准工具箱,而不是10.1中引入的python工具箱)及其模型都是二进制的。有谁有可行的方法来进行版本控制? 注意:版本控制与backup不同。有任意数量的简单方法来创建文件的快照特定日期/时间- Windows备份,以前的版本中,xcopy /s d:\foobar\ x:\foobar_%date%,zip stuff_%date%.zip stuff\*,等等。 将git,化石,mercurial,subversion或...之类的工具应用于二进制文件比使用xcopy或zip更好,因为可以添加提交消息,“ Model foobar%date%现在将覆盖以前的版本仅在Baz不存在的情况下才会产生结果”,但与该工具集可应用于文本文件的结果相比仍然贫乏:例如,向我确切说明去年和今天之间的更改。

2
使用ArcGIS for Desktop查找shapefile之间的差异?
每个月我都要对整个县的一些街道数据进行质量检查/质量控制(超过47,000条记录)。第一步是比较两个文件。目前,我使用的是大约5年前通过VBA在内部创建的工具。它可以比较两个文件,并根据一些因素(添加记录,删除记录,地址更改,城市更改,段长度/顶点更改)报告差异。然后,将它们导出到单独的shapefile。此外,该工具可以使用,ArcGIS 9.3但将不再使用ArcGIS 10.1 该工具效果很好,但大约需要一个小时才能完成。 我已经开始着手希望改进此工具以提高性能。我研究了各种方法,包括Compare Feature Tool和Select by Location。 这两个工具的工作速度都显着提高,但是,它们似乎无法捕获我所需的一切。我的最大问题Compare Feature Tool是我无法选择要比较的字段。当我需要按Segment_ID进行比较时,它默认为ObjectID。没有选择的选项。 是否有人对如何实现我所描述的全面比较有一个好的解决方案或想法? 出于某种原因,ArcGIS无法识别我根据RyanDalton的回答正在尝试的联接。 但 采取联接的建议,我已经找到了如何通过以下方法在两个文件中查找添加的记录和删除的记录的区别: 通过Segment_ID字段将上个月的shapefile连接到本月的shapefile 执行定义查询,其中Segment_ID为NULL 将其导出到新的shapefile(添加的功能) 然后,我反向联接并找到“已删除的特征” 仍在寻找找到列出的其他差异,然后将它们全部组合到模型中的方法。 通过从与另一个数据集相同的一个数据集中执行按位置记录的选择,可以找到所有已更改的记录。然后,我切换选择,它给了我所有不相同的记录。 我将其全部放入模型中,并希望它也能正常工作。

3
使用ModelBuilder迭代要素类输出文件名?
我正在尝试迭代模型构建器中的一系列要素类(多边形),以将一系列多边形转换为栅格,但是,输出文件名存在问题。 将“迭代要素类”工具插入模型构建器窗口,并将存储所有多边形的gdb链接为输入后,输出要素(绿色气泡)将自动成为我的第一个多边形的名称。结果,我尝试运行的模型似乎重命名为该多边形,而不是转到列表中的下一个多边形。创建了输出栅格,但是将覆盖该文件名,而不是生成一个具有与后续多边形匹配的新名称的新栅格。 我究竟做错了什么?

3
使用工具验证而不使用频率在ArcGIS中生成多值选择列表?
我正在尝试改编ESRI博客网站上的模型和脚本组合,标题为 “生成多值选择列表”。 但是,我得出的结论是,嵌入式脚本中使用的部分验证依赖于“频率”工具才能正常运行,但这仅适用于Advanced许可(lam)。博客文章解释了工作流程以及在何处下载模型和脚本(但我会根据要求将它们愉快地发布在此处)。据我所知,我所追求的功能的核心是生成一个多值选择列表: ..取决于验证脚本是否正常运行。没有验证,我无法从字段中获取值以列表形式显示。有什么我可以从验证脚本中删除的东西来获得我想要的功能,还是有解决方法?我不熟悉验证过程。这是验证的代码(我打算作为代码示例发布,但是看起来可能更容易理解): [ 编者注:这是实际的验证码,图片不正确] import arcpy class ToolValidator(object): """Class for validating a tool's parameter values and controlling the behavior of the tool's dialog.""" def __init__(self): """Setup arcpy and the list of tool parameters.""" self.params = arcpy.GetParameterInfo() def initializeParameters(self): """Refine the properties of a tool's parameters. This method is …

2
是否从ArcGIS ModelBuilder中的“收集值”输出中导出数据?
我目前在玩ModelBuilder。我添加了当前模型的图片。 该模型当前正在迭代6个shapefile,因此每个“输出值”在一个列表中都包含6个图形。我找不到将这些列表中的值提取到表/文本文件或类似文件中的方法。 有没有办法做到这一点? 这是运行模型后打开“输出值”时显示的内容: 我只想以某种方式获取这6个数字...

3
是否将任意代码添加到ArcGIS ModelBuilder?
有什么方法可以向ArcGIS模型添加任意代码段? 我设想类似于高级标签或字段计算器中的表达式构建器的“显示代码块” 。 例如,我目前的项目可以从获取运行该工具的用户的用户名中大大受益。我知道在python中这很简单import os; os.environ.get('USERNAME')。我想我可以将该代码段编写为get_username.py,将其添加到Arccatalog中的工具箱中,然后将该工具添加到模型中,并将其用作当前工具的必需模型参数。这么小的事情要做很多工作,下次我可能想要其他东西,例如内联变量替换或复合变量。 我认为,可以以通用的,广泛有用的方式来使用代码段工具或类似工具来满足所有这些需求。

2
使用带有用户输入的ModelBuilder按属性提取?
我想使用ModelBuilder创建一个工具,让用户选择一个或多个将用于提取shapefile的值。 我有一个带有“ Parcel_Type”字段的宗地层。我希望用户能够选择要提取的包裹类型。因此,如果用户要提取类型为“ EL”的地块,则只需输入“ EL”作为变量。如果要输入“ EL”和“ CDD”,则需要将它们输入为多变量。那将是人类与模型的唯一交互。 那么如何在模型中使用这些变量?

2
ArcGIS ModelBuilder可以打开Excel文件进​​行手动编辑,然后将这些编辑反馈回模型吗?
我的任务是使用ArcGIS ModelBuilder创建一个模型,该模型最初运行几个地理处理任务,然后再将Excel表连接到这些地理处理的结果。但是,模型需要首先实际打开Excel文件,以便用户手动编辑它,然后用户保存其编辑并关闭文件。然后,在模型继续执行许多其他地理处理任务之前,期望模型将这个Excel文件连接到数据集的属性表(模型的一部分)。 我在下面提供了一个高级示意图,以帮助说明这一点(我理解,开始时可能没有多大意义)。 因此,该模型将运行,完成一些地理处理任务,暂停以打开Excel文件,等待用户对其进行编辑,保存并关闭它,然后再继续将该Excel文件加入属性表,然后运行一个数字。其他地理处理任务。 我应该想象这将需要将一个或两个Python脚本合并到模型中。目前,尽管我只是想知道这个概念是否确实可行。

1
创建空间“一对多”联接
我正在尝试创建所谓的“一对多”联接。我不知道那是否是正确的术语。我有一个表,其中每个包裹帐号(R0003285)都有用于移动房屋的唯一帐号(即-M1007970)。(每个宗地有许多移动房屋-多对一。)我需要将此表加入到我们的宗地几何图形中-而且每个宗地仍然只有一个多边形。 因此,例如,该表可能具有三行,其中一行具有移动房屋帐号M1007370,另一行具有M1007371,另一行具有M1059370,但是所有包裹的编号均相同。我们的宗地几何形状将仅具有R0032585的相同字段。 加入时,我有12088个移动房屋记录和44103个包裹。如果我“保留所有记录”,那么我有44,103条记录,其中只有7,947个移动房屋帐号(原始值为12,088个)。如果我根据“仅保留匹配的记录”加入,最终我总共只有7,947条记录。 我过去已经成功完成并创建了一个模型。在此模型中,我使用表格将活动房屋根据包裹帐号连接到包裹层(.lyr-您可以/可以加入模型的唯一方法)。我将仅保留匹配记录的要素复制到文件地理数据库中。然后,从文件地理数据库中将其附加到我们的SDE系统中。目前,由于我无法理解的原因而退出了工作,因为一切都没有改变。 也许某人可以传达出比我想做的更好的东西,并且如果它被称为不是一对多关系的东西(我不认为这是一对多的关系...)。

6
使用ArcPy或ModelBuilder移动/偏移点位置?
我有一些具有文本注释功能的非地理参考CAD图层(请参阅此问题)。我创建了一个模型,将文本转换为点,但是将注释转换为Point要素类后,我看到CAD文本锚点与CAD文本的中心(点所在的位置)不一致。 因此,我想以编程方式(使用ArcPy或ModelBuilder )使用将提供的X,Y值相对于其当前位置(delta x,y)[移动]特征。 这将使我可以将GIS点移回它们所属的位置,而不是移到偏移的CAD锚点。 如何完成这项任务? @PolyGeo 使用SHAPE @ XY IN 10.1 提供了一个很好的答案,但目前我正在运行10.0。有10.0个想法吗?

1
并发进程可以在单个模型中运行吗?
在模型构建器(对于Arc GIS 10)中,是否可以同时运行两个或多个地理处理操作? 例如,我必须对2个文件运行修复几何,然后将它们合并。当前,它先修复文件A的拓扑,然后修复文件B的拓扑,然后将它们合并。每个文件大约需要30小时才能修复。我可以同时修理A和B,等待两者完成然后合并。 目前,我必须打开两个arc catalog实例,并对每个实例中的文件运行修复工具,完成后进行合并,这意味着我必须进入办公室检查两个对象的完成时间...核心,每个修复过程一次只使用1个核心。 上面的例子很简单,但是如果可以同时执行多个操作(如果它们彼此不依赖)则可以使用多线程,并在下一个进程运行之前等待相关文件完成。 谢谢,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.