这就排除了任何简单的解释。我们曾经用这种方式更新我们的一些层,偶尔会遇到这个问题,尤其是视图层。我们会覆盖一个层8次,在第9次,它会崩溃。
有时我们可以识别通过发布工具的分析步骤的数据中的错误,但通常情况下,没有明显的差异。
顺便说一句,基本上是截断和追加是覆盖,但只覆盖数据本身,同时保留所有深层设置。这是大多数人在使用内置的“覆盖web层”工具时实际上想要做的事情。首先将层“归零”,然后向层中追加,因此每个记录,无论是新的、修改的还是其他记录,都反映在最终产品中,并且不存在数据过期的风险。
很高兴知道我们不是唯一遇到这个问题的人!我只是想验证我说的是正确的,当更新一个托管的功能层(覆盖或追加),视图层应该自动更新自己?从你所解释的过去发生在你身上的事情来看,这似乎就是为什么我们会在第一时间尝试这样做。
你现在只在ArcGIS Online中使用附加数据来更新托管的特征层以显示在视图层中吗?我只是想知道有什么解决方案可以让这个问题不再发生。除了重新创建视图层,似乎没有办法在这一点上修复它。
更令人困惑的是,当我在ArcGIS Online的视图层中查看详细信息页面时,在数据所在的层下,当我单击它时,它会显示我在托管功能层中更新数据的日期。就好像它部分起作用了,只是不是全部,你懂我的意思吧。
再次感谢,
阿曼达贝克-沃伦县地理信息系统
你是正确的,更新主层也应该更新相关的视图。问题是重写会替换整个服务定义,但视图层保留其原始定义,因此主层和视图层之间可能存在潜在的差异,从而导致视图不兼容。
我们使用ArcGIS Python API来更新我们的层,无论它们是否有关联的视图,如果原始数据源在其他地方。
这是一个非常简单版本的过程:
从arcgis导入GIS。功能导入GeoAccessor #登录到门户gis = gis ('portal-url', '用户','密码')#通过id和索引获取功能层fl = gis.content。Get ('itemid of service')。层[0]#加载源数据;这将根据源df = GeoAccessor.from_featureclass('文件路径')#截断现有数据fl.manager.truncate() #加载fl.edit_features中的最新数据(添加=df.spatial.to_featureset())
对于较大的更新,您可能希望分批进行,而不是提交单个大规模更新。
我知道真的有附加AGOL和Python API中的功能,但由于特定于我们的源数据的各种原因,我一直无法让这个过程为我们的更新工作。但是截断/追加脚本运行得非常好,所以我不认为有任何特殊的理由去修改它。
我们用它做很多事情,包括一些地址数据。对于大约50k个地址点,整个过程只需要几分钟。
你好,阿曼达,
我不知道如何解释这个也发生在我身上的问题,但我通过激活ArcGIS Pro 3中的“分配层id”选项来解决它。
在以前的版本中,我记得不需要这个。
https://pro.arcgis.com/en/pro-app/latest/help/sharing/overview/assign-layer-ids.htm
(此信息翻译自PT-BR)