span8
span4
ArcGIS Online特性服务编写器支持三种模式:插入、更新和删除。此模式可以在功能类型级别(应用于写入相应功能服务的每个功能)设置,也可以在功能级别使用fme_db_operation属性设置。
这个writer模式设置在这个writer上的工作方式与FME中任何数据库writer的工作方式几乎相同,这里有文档说明:数据库作家模式然而,与ArcGIS Online功能服务编写器的一个重要区别是,它不允许手动选择属性作为进行更新和删除的惟一标识符。更新和删除使用Object ID字段完成,该字段在创建新特性服务时自动添加。因此,发送给编写者以更新或删除的任何特性都必须设置此字段。
要将对象ID字段附加到特性上,可以将ArcGIS Online特性服务阅读器添加到工作流中(也可以使用FeatureReader转换器)。亚搏在线阅读器将引入一个名为FID的属性,该属性包含所有更新和删除操作所需的对象ID字段。然后,您可以使用诸如FeatureMerger之类的转换器,将FID属性合并到正在编写的特性上。
附加的工作区展示了如何向ArcGIS Online特性服务写入插入、更新和删除的示例。
这个工作区有两个阅读器:一个从xml提要读取传入的更新,另一个从现有的ArcGIS Online特性层读取原始数据。
FeatureMerger用于比较两组特征,以过滤出需要标记以插入、更新或删除的特征:
AttributeCreators用于将fme_db_operation属性设置为使用正确的操作标记各个特性。来自FeatureMerger上合并端口的特性被标记为更新,来自NotMerged端口的特性被删除,未引用的端口被标记为更新writeupdatestoagol.fmw
最后,将这些特征发送到ArcGIS在线特征服务编写器。写入模式应该设置为update。然后,写入器将检查发送给它的每个特征的FID,并在现有层中更新、插入或删除相应的特征。
有关使用fme_db_operation的更多信息,请参阅本文使用FME格式属性fme_db_operation进行增量数据库更新
除了使用update detector transformer之外,我一直在试验您在这里描述的方法。我发现,当我尝试执行工作区时,经常会在下面得到这条消息。你能提供任何关于发生了什么事情的见解吗,以及我怎样才能纠正它?
谢谢,
沃伦
ArcGIS在线功能服务作者:'updateResults'错误的功能在'道路'。来自服务器的错误代码是'1019',消息是:'指定的特性无法更新或不存在。“…最后一行重复了10遍……ArcGIS Online功能服务写入器:0个功能成功写入到“Roads”,但服务器在最后一次请求中由于错误拒绝了1000个功能。参见上面的警告。发生了一个致命错误。查看上面的日志文件以获得详细信息
嗨@warren156
在没有看到工作区的情况下,我最好的猜测是,可能它正在尝试更新功能服务中不存在的记录,或者无法为功能服务中现有记录找到正确的FID。如果你愿意,我很乐意帮助你通过一个支持案例来更深入地了解这个问题。你可以创建一个案例www.亚搏在线safe.com/supportrequest只需添加一些关于您正在构建的工作流的细节,我们就可以帮助您实现这亚搏在线个工作。
亲切的问候,
劳拉
©2019安全亚搏在线软件公司法律