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

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

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

exportCounty = counties.export(县。标题:“档案地理资料库”)
exportCounty.download(“/ arcgis / home /”)
exportCounty.id

countyLog = gis.content。search('title:County_Log', item_type='Feature Layer')[0]
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
通过 MVP尊敬贡献者
MVP尊敬贡献者
countyLog = gis.content。search('title:County_Log', item_type='Feature Layer')[0]

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是我要添加数据的现有层。我试着拿出。层,但得到了一个错误“'项目'对象没有属性'追加'”。这是在ArcGIS在线笔记本以防万一。

adamfackler1_0 - 1616622378307. - png

0荣誉
simoxu
通过 常规赛贡献者
常规赛贡献者

看起来CountyLog是一个AGOL项目而不是一个FeatureLayer。

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

0荣誉
AFackler_NAPSG
偶然的因素

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

0荣誉
AFackler_NAPSG
偶然的因素

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

adamfackler1_0 - 1618586151698. - png