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自带的

相关推荐
久久学姐9 分钟前
【AI问答】python引入其他模块的对象
python·绝对导入·相对导入·目录结构·模块导入
always_TT36 分钟前
【Python requirements.txt 依赖管理】
开发语言·python
Logintern091 小时前
py文件开头为什么需要加:from __future__ import annotations
开发语言·python
bamb001 小时前
一个项目带你入门AI应用开发05
python
Python私教1 小时前
Django 6.1 邮件配置大改:旧项目如何平稳升级?
后端·python·django
Python私教1 小时前
Django 6.1 升级避坑:数据库版本不兼容怎么解决?
后端·python·django
Python私教1 小时前
Django 接口开发实测:新手还需要使用 REST 框架吗?
后端·python·django
En^_^Joy1 小时前
Vue项目创建与入口配置全攻略
前端·vue.js·arcgis
名字还没想好☜2 小时前
Python concurrent.futures 实战:用 ThreadPoolExecutor 并发处理 + as_completed 收结果
数据库·python·php·并发
爱码小白2 小时前
importlib模块
开发语言·前端·python