在notbooks附加数据给我“对象引用未设置为对象的实例”错误

1420
5
跳到解决方案
03-24-2021 01:17 PM
AFackler_NAPSG
偶然的因素

我正在制作一个笔记本,它将通过将数据追加到现有的功能层来归档数据。我有数据下载作为ArcGIS在线地理数据库,然后追加。这在过去对我很有效,但今天却让我很难受。奇怪的是,如果有,它就会运行没有数据在现有的目标特征层中,但如果在特征层中有数据,那么我得到“对象引用未设置为对象的实例”错误。下面的代码,任何帮助将是伟大的,谢谢!

exportCounty = counties.export(县。标题,“档案地理数据库”)
exportCounty.download(“/ arcgis / home /”)
exportCounty.id

countyLog = gis.content。搜索('title:County_Log', item_type='Feature Layer')[0] . search('title:County_Log', item_type='Feature Layer'
countyLog

countyLog.layers [0] .append (item_id = exportCounty.id,
upload_format =“filegdb”)

输出:

adamfackler1_0 - 1616616711702. - png

标签(3)
0荣誉
1解决方案

接受的解决方案
AFackler_NAPSG
偶然的因素

好吧,对于那些无意中发现这个问题并想要一个答案的人来说,我想出来了(在Esri的帮助下)。在追加函数中有一个名为“Upsert”的参数。它是可选的,默认为“False”;这就是让我困惑的地方。如果你不包含这个,任何具有相同几何形状的特征都将无法添加。然而,如果你在追加中添加“upsert=False”,那么如果目标和源是相同的字段,它将堆叠数据(就像我试图做的那样)。如果它们不相同,则必须进行一些字段匹配编码。Upsert = True意味着您正在覆盖/更新现有数据,并且必须输入一些其他参数。

adamfackler1_0 - 1618586151698. - png

在原帖子中查看解决方案

5回复
DanPatterson
通过 尊敬的贡献者
尊敬的贡献者
countyLog = gis.content。搜索('title:County_Log', item_type='Feature Layer')[0] . search('title:County_Log', item_type='Feature Layer'

countyLog.layers [0] .append (item_id = exportCounty.id upload_format =“filegdb”)

countyLog是层吗?你似乎想看看下面这行是什么

你试过了吗

countyLog.append (item_id = exportCounty.id upload_format =“filegdb”)


…有点退休了…
0荣誉
AFackler_NAPSG
偶然的因素

CountyLog是我添加数据的现有层。我尝试取出.layer,但得到一个错误“项目”对象没有属性“追加”。这是在ArcGIS在线笔记本,以防万一。

adamfackler1_0 - 1616622378307. - png

0荣誉
simoxu
通过 常规赛MVP
常规赛MVP

似乎CountyLog是一个AGOL项目,而不是一个FeatureLayer。

尝试CountyLog.layers [0] .append(…)

0荣誉
AFackler_NAPSG
偶然的因素

这是我最初拥有的,它给了我"对象引用未设置为对象的实例"错误。

0荣誉
AFackler_NAPSG
偶然的因素

好吧,对于那些无意中发现这个问题并想要一个答案的人来说,我想出来了(在Esri的帮助下)。在追加函数中有一个名为“Upsert”的参数。它是可选的,默认为“False”;这就是让我困惑的地方。如果你不包含这个,任何具有相同几何形状的特征都将无法添加。然而,如果你在追加中添加“upsert=False”,那么如果目标和源是相同的字段,它将堆叠数据(就像我试图做的那样)。如果它们不相同,则必须进行一些字段匹配编码。Upsert = True意味着您正在覆盖/更新现有数据,并且必须输入一些其他参数。

adamfackler1_0 - 1618586151698. - png