空间。To_featurelayer失败,'已超过允许的最大记录数'

609
4
06-16 2021 09:14 am
PhilLarkin1
通过
定期撰稿人

在API版本1.8.5中,空间数据帧无法导出到托管功能层。看起来to_featurelayer函数应该处理批处理。我导出的特征层有219k条记录。

从arcgis。gis import gis import pandas as pd gis = gis (url,用户名,密码)premiseLayer = gis.content.get(fsItemId) fLyr = premiseLayer. get(fsItemId)layers[0] df = pd.DataFrame.spatial.from_layer(fLyr) df[columnList].spatial.to_featurelayer('NewName',folder='folderName')…文件C:\Program Files\ArcGIS\Pro\bin\Python\envs\ arcgispro-py3\lib\site-packages\arcgis\features\geo\_accessor.py,在to_featurelayer:第2182行:返回content.import_data(self. data)。文件C:\Program Files\ArcGIS\Pro\bin\Python\envs\ arcgispro-py3\lib\site-packages\arcgis\gis\__init__.py, in import_data: Line 5361: res = self._portal.con。post(path, postdata)#, use_ordered_dict=True) - OrderedDict >36< PropertyMap文件C:\Program Files\ArcGIS\Pro\bin\Python\envs\ arcgispro-py3\lib\site-packages\arcgis\gis\_impl\_con\_connection.py, in post:第720行:force_bytes=kwargs. py。pop('force_bytes', False))文件C:\Program Files\ArcGIS\Pro\bin\Python\envs\ arcgispro-py3\lib\site-packages\arcgis\gis\_impl\_con\_connection.py, in _handle_response: Line 502: raise Exception(data['error']) Exception: {'code': 400, 'message': '已超过允许的最大记录数(1000)。', 'requestId': ', 'traceId': 'f7ed4d8d8f6b6647b195319ca2c420a8'}

标签(1)
0荣誉
4回复
StuartMoore
通过
临时贡献者III

@PhilLarkin1你成功过吗?我也有同样的问题

0荣誉
PhilLarkin1
通过
定期撰稿人

细节有点模糊,但我可以用这个。诀窍可能是从GeoAssessor类生成数据框,而不是从pandas库创建数据框。这是我现在所拥有的:

从arcgis。从arcgis中导入FeatureLayer。feature import GeoAccessor serviceUrl = "https://services.arcgis.com//arcgis/rest/services//FeatureServer/0" FL = FeatureLayer(serviceUrl) DF = GeoAccessor.from_layer(FL) globalIDLookupTempSDEF = DF.spatial.to_featurelayer(title='GlobalIDLookupTemp',tags='',folder='')

PhilLarkin1
通过
定期撰稿人

顺便说一下,从GeoAssessor创建的数据框架的奇妙之处在于它保留了源特征层的GlobalID。

0荣誉
StuartMoore
通过
临时贡献者III

谢谢@PhilLarkin1我会试试的

0荣誉