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