任务助手管理器常见问题
自定义样式
设计器配置
ArcGIS 10 中的 9.3/9.3.1 工作流
自定义命令和参数
我已经安装了任务助手管理器 10,但却看不到在 9.3.1 中创建的任何自定义样式。我该如何获取这些自定义样式?
在任务助手管理器 10 中,自定义样式存储在 <用户应用程序数据>\ESRI\TAM10.0\Data\Resources\Styles。在任务助手管理器的先前版本中,自定义样式存储在 <用户应用程序数据>\ESRI\TAM\Data\Resources\Styles。从任务助手 窗口快捷菜单启动样式管理器,然后使用导入样式命令加载之前创建的所有自定义样式。这些样式将自动保存在新的自定义样式位置。
我安装了较早版本的“任务助手”,每个自定义样式存储在其各自的 XML 扩展名文件中,而不是所有自定义样式存储在一个 TMStyle 扩展名的文件中。如果不想重新创建样式,如何才能使用这些样式并将其分发给新环境中的用户?
可通过两个方法将 XML 样式文件加载到“任务助手管理器”中:
- 要每次加载一个文件,请使用样式管理器 对话框上的导入样式命令。单击选择节点样式文件以打开 对话框上的文件类型下拉箭头,选择 XML 文件而不是 TMStyle。选择所需文件并从导入样式 对话框中选择样式。
- 要同时加载多个文件,请使用样式管理器 对话框上的从文件夹加载命令。此功能将读取 XML 和 TMStyle 两种类型的文件。
作为设计者,您的所有自定义样式都存储在一个文件中 (Custom.TMStyle)。该文件位于 C:\<user application data>\ESRI\TAM10.2\Data\Resources\Styles。
这些方法只能用于导入自定义样式。
我在导出自定义样式前卸载了“任务助手管理器”。所有自定义样式是否已丢失?如果未丢失,如何才能检索到它们?
自定义样式存储在一个文件中 (Custom.TMStyle)。该文件位于 C:\<user application data>\ESRI\TAM10.2\Data\Resources\Styles。卸载过程不会移除此文件。同样,安装过程也不会覆盖此位置中的任何文件。因此,重新安装“任务助手管理器”后,原始文件将继续提供自定义样式。
我无法看到“地理处理项目”对话框中的某一或全部自定义工具箱。如何解决这一问题?
工具箱中的工具不能具有相同名称,但不同的工具箱可具有同名的工具。工具箱属性中的别名字段对该工具箱进行唯一标识。如果无法看到“地理处理项目”对话框中的自定义工具箱,请打开工具箱属性并创建工具箱的别名。
创建新工具箱时最好为该工具箱指定一个别名。工具箱别名用于在脚本中对工具箱进行标识。右键单击该工具箱,然后单击属性。在常规 选项卡上,输入别名。别名不能包含空格。
下表包含所有系统工具箱的别名。禁止将这些别名用于自定义工具箱。
系统工具箱 |
别名 |
---|---|
3D Analyst |
3d |
Aeronautical | aeronautical |
Analysis |
analysis |
Cartography |
cartography |
Conversion |
conversion |
Coverage | arc |
Data Interoperability | interop |
Data Management | management |
Data Reviewer | reviewer |
Defense Mapping | defense |
Editing | edit |
Geocoding | geocoding |
Geostatistical Analyst | ga |
Linear Referencing | lr |
Multidimension | md |
Nautical | nautical |
Network Analyst | na |
Parcel Fabric | fabric |
Production Mapping | production |
Schematics | schematics |
Server | server |
Spatial Analyst | sa |
Spatial Statistics | stats |
Tracking Analyst | ta |
Workflow Manager | wmx |
系统工具箱别名
此外,任务助手管理器将在以下位置搜索地理处理项目:
- “系统工具箱”文件夹
- “我的工具箱”文件夹
- “默认工作目录”文件夹(打开的地图文档的位置)
- 打开的地图文档的默认地理数据库
对于配置中要包括的自定义地理处理项目,应确保这些项目位于上述位置之一。
我加载了某个工具箱或工具,但却未在“地理处理项目编辑器”对话框中看到该工具箱或工具。如何才能显示该工具箱或工具?
如果无法在地理处理项目编辑器 对话框中找到工具箱或工具,则需要刷新“任务助手”配置。在任务助手 窗口的属性选项卡上,单击刷新配置。刷新“任务助手”配置后,只要工具箱或工具位于四个指定的位置之一,您就会在地理处理项目编辑器 对话框上看到该工具箱或工具。
我加载了某个类别或命令,但却未在“命令项目编辑器”对话框中看到该类别或命令。如何才能显示该类别或命令?
如果无法在命令项目编辑器 对话框中找到类别或命令,则需要刷新“任务助手”配置。在任务助手 窗口的属性选项卡上,单击刷新配置。刷新“任务助手”配置后,您将在命令项目编辑器 对话框上看到该类别或命令。
如果已将 ArcMap 配置为使用 9.3 编辑环境,能否在“任务助手管理器”中加载并执行任务助手 9.3/9.3.1 工作流?
可以,“任务助手管理器”支持使用模板创建要素设置。如果未选中该设置,那么可以使用“任务助手管理器”加载并执行包含编辑任务和目标图层设置的工作流。也可以使用该设置创建工作流。
任务助手管理器能否将使用编辑任务和目标图层的 9.3/9.3.1 工作流转换为使用要素模板?
当打开包含编辑任务和目标图层配置项的工作流文件时,任务助手管理器不提供自动转换功能。不过,它将指出工作流包含某些不支持的配置项,并会高亮显示包含这些设置的工作流步骤。
设计者需要手动更新工作流步骤,才能正确地使用要素模板和构造工具。因此在许多情形下,还必须更改工作流中步骤的顺序,才能支持对 ArcGIS 编辑体验的修改。
用户应联系工作流设计者以获得更新的工作流文件。
文档中提到了通过配置命令来接受参数。如何执行这一操作?
对于使用任何标准开发环境(VB.Net、C# 等等)的开发人员,可通过继承 ArcGIS ICommand 接口构建自定义命令。如果要扩展此命令用于接受参数,则该命令也需要实现 ESRI.Apf.Apps.TaskAssistantSDK.ArcMap.ICommandParams 或 ESRI.Apf.Apps.TaskAssistantSDK.ArcMap.ICommandParams2 接口。这些接口可在 ESRI.Apf.Apps.TaskAssistantSDK.ArcMap.CommandParams.dll 中找到,该文件是任务助手管理器安装程序的一部分。这些接口包含需要实现的以下方法:
- ICommandParams
- SetParameters
- ClearParameters
- GetParameters
- ICommandParams2
- SetParameters
- ClearParameters
- GetParameters
- GetParametersDialogEditStyle
- GetParametersDialogValues
- GetParametersDialogText
GetParameterDialogEditStyle、GetParameterDialogValues 和 GetParameterDialogText 用于自定义命令项目编辑器 对话框上显示的参数对话框。GetParameterDialogEditStyle 返回 Default、Dropdown、BrowseSimple、BrowseComplex 或 ListItem。GetParameterDialogValues 用于初始化下拉值或文件浏览过滤器。GetParameterDialogText 用于自定义在参数对话框上显示的文本。
- enumParameterDialogEditStyle.Default - 显示包含用于接受参数值的文本框的默认对话框。通常在此实例中,GetParameterDialogValues 返回空字符串。
- enumParameterDialogEditStyle.DropDown - 显示包含下拉框的对话框,用户可从下拉框包含的参数值列表中进行选择。GetParameterDialogValues 用于提供参数值列表。
- enumParameterDialogEditStyle.BrowseSimple - 显示包含文件浏览器的对话框。GetParameterDialogValues 用于提供用户单击“浏览/打开文件”按钮时使用的文件过滤器。
- esriParametersDialogEditStyle.BrowseComplex - 显示包含文件浏览器以及用于输入其他参数的文本框的对话框。GetParameterDialogValues 用于在用户单击“浏览/打开文件”按钮时提供使用的文件过滤器。
- esriParametersDialogEditStyle.ListItem - 显示 ListItem 框,它是一个支持使用 CTRL 键选择多个项的下拉列表。
如果自定义命令实现 ICommandParams,那么将使用不包含自定义文本的默认样式显示参数对话框。
例如:
Public class CParameterCmd
Inherits ICommand
Implements ICommandParams
Private msParams as string
Public sub New()
MyBase.New()
MyBase.m_category = "T.A.M. Samples"
MyBase.m_name = "ParameterCmd"
MyBase.m_caption = "Sample Parameter Command"
MyBase.m_message = "Sample Parameter Command"
MyBase.m_toolTip = m_message
msParams = ""
End sub
Public Function GetParameters() As String Implements ESRI.Apf.Apps.TaskAssistantSDK.Arcmap.ICommandParams.GetParameters
Return msParams
End Function
Public Sub SetParameters(ByVal sParams As String) Implements ESRI.Apf.Apps.TaskAssistantSDK.Arcmap.ICommandParams.SetParameters
msParams = sParams
End Sub
Public Sub ClearParameters() Implements Esri.Apf.Apps.TaskAssistantSDK.Arcmap.ICommandParams.ClearParameters
msParams = ""
End Sub
Public Overrides Sub OnClick()
'perform the command execution
'msParams is the set of comma delimited parameters
End sub
End class
标准 ArcMap 命令无法接收参数,也不能自定义无法实现 ICommandParams 接口的命令。