vscode使用arcpy-选择arcgis带的python+运行错误解决
写在前面:自己也是小白上手,之前是直接用gdal库或者osr库做栅格矢量处理,这次就偏想用arcpy试试,arcgis自带的python可以运行,但不能调试,以为用vscode,能调试,但是不能。不能调试代码很难用,而且python版本还是2.7,老的很多地方都容易报错。
arcpy还是有很多矢量处理的函数的,很好用,大家可以多搜索,对于小白,尽量减少语句,或者直接去使用arcgis构建模型做批量的处理
一、选择arcgis带的python
搜了一些别人的教程,很复杂,就自己用了平时vscode选择环境的方法,记录了一下。
选中后就会这样,右下角环境就会是
import arcpy
弹出
成功
二、报错
arcgis带的python是2.7
1、arcpy.da.SearchCursor报错
RuntimeError: cannot open 'ceshi2.shp'
参考arcpy.da.SearchCursor RuntimeError: cannot open '.shp'-CSDN博客
加一句
arcpy.env.workspace = r'H:\Feng\fengxian'
解决
2、arcpy.CreateFeatureclass_management报错
乱码,放在arcgis软件里面跑,就有中文的。
Runtime error Traceback (most recent call last): File "<string>", line 45, in <module> File "f:\arcgis 10.7\desktop10.7\arcpy\arcpy\management.py", line 2013, in CreateFeatureclass raise e ExecuteError: 执行失败。参数无效。 ERROR 000732: 要素类位置: 数据集 H:\Feng engxian 不存在或不受支持 执行(CreateFeatureclass)失败
原因:使用了反斜杠而不是正斜杠
错误:000732:数据集不存在或不受支持_arcgis数据集不存在或不受支持-CSDN博客
最开始是这样的
# 创建输出shapefile
arcpy.CreateFeatureclass_management(out_path=os.path.dirname(output_shapefile),#'H:\Feng\fengxian'out_name=os.path.basename(output_shapefile),geometry_type="POLYLINE", # 假设是线数据spatial_reference=geometry.spatialReference
)
改成这样
# 创建输出shapefile
arcpy.CreateFeatureclass_management(out_path='H:/Feng/fengxian',out_name=os.path.basename(output_shapefile),geometry_type="POLYLINE", # 假设是线数据spatial_reference=geometry.spatialReference
)
三、运行成功
vscode
或者arcgis自带的