esri_webfeaturelayer_set 函数用于更新工程图中的指定 web 要素图层的属性。
语法
(esri_webfeaturelayer_set flname subtype service_properties)
参数
- flname | 字符串 | 必填 | 工程图中现有的 web 要素图层名称。
- subtype | 字符串 | 可选 | 为要素图层定义的现有子类型名称,或使用空字符串 "" 表示所有子类型或不存在子类型。
- service_properties | 关联列表 | 必填 | 点对形式的 web 要素图层属性的关联列表,如下表定义:
相关标注 值类型 值描述 必填或可选 "BRANCH" 字符串
受影响编辑分支的名称。
可选
"CADLAYER" 字符串
AutoCAD 图层的名称,该图层将用于在追踪 Web 要素图层的要素时覆盖默认图层名称。
可选
"DEFINITIONEXPRESSION" 字符串
WHERE 子句表达式,用于按属性值限制图层中的要素。 WHERE 子句的语法取决于源数据。
可选
"DESCRIPTION" 字符串
如果类型为 {Block Reference},则为块名称;如果类型为 {"AECC_COGO_POINT"},则为描述
可选
"EDITMODE" 整型
编辑选项。 选项为 {1=edit, 0=no edit}。
可选
"SUBLAYER_FIELD"
字符串
用于定义子图层的字段名称。 输入一个空字符串 "",以清除所有子图层,由此将删除现有子图层并将所有要素移至父图层。 这不会导致对要素几何图形或属性的任何修改。 在设置子图层字段之前,必须清除子图层。 具有服务定义的子类型字段的图层不支持自定义子图层。
可选
"SAVEASTEMPLATE" 字符串
有效值为 {"Local"},表示工程图中的本地存储。
可选
"TYPE" 字符串
{"POINT"}、{"Block Reference"} 或 {"AECC_COGO_POINT"} 默认元素类型
可选
示例用法 1
将 Damage_to_Commercial_Buildings Web 要素图层 editor01.sampleBranch 分支的 Web 要素图层编辑属性设置为只读。(esri_webfeaturelayer_set "Damage_to_Commercial_Buildings" ""
(list
(cons "EDITMODE" 0)
(cons "BRANCH" "editor01.sampleBranch")
)
)
结果示例用法 1
将 Damage_to_Commercial_Buildings Web 要素图层 editor01.sampleBranch 分支的 Web 要素图层编辑属性设置为只读,并返回 true 列表。
(T)示例用法 2
设置默认 AutoCAD 图层名称以追踪 Olympia_Meters Web 要素图层到 AutoCAD 图层 AB-METERS-EX 的 Commercial 子类型,从而覆盖默认图层。(esri_webfeaturelayer_set "Olympia_Meters" "Commercial"
(list
(cons "CADLAYER" "AB-METERS-EX")
)
)
结果示例用法
将 Olympia_Meters Web 要素图层的 Commercial 子类型的 Web 要素图层编辑属性设置为只读编辑模式并返回 true 列表:
(T)返回值
- 如果成功,则该函数将返回一个 true 列表:(T)。
- 如果失败,则该函数将返回一个列表,其中第一个值为 nil,然后是一个包含键值 "Error" 的关联列表以及字符串形式的关联错误消息:(nil ("Error" . "<message>"))。
失败的返回值
出于以下任一原因,可能出现失败的返回值:
- (nil ("Error". "Missing required argument."))
未提供一个或多个必填参数。
- (nil ("Error". "Feature layer not found."))
指定的 web 要素图层值不是工程图中的有效 web 要素图层。
- (nil ("Error". "Sublayer not found."))
在要素图层上未找到指定 sublayer 字段。
- (nil ("Error" . "Cannot set a type field on a sublayer.")
无法在子图层上设置 type 字段。
- (nil ("Error" . "Web feature layer does not support editing.")
您可能正尝试在不支持编辑的 Web 要素图层上调整 EDITMODE。