在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'}
细节有点模糊,但我可以用这个。诀窍可能是从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='')