十、ArcGIS_Pro常见问题【ArcGIS Python系列】
本文持续收集在使用 ArcGIS Pro 和 ArcPy 中的常见问题。
写在前面:
利用 ChatGPT 人工智能和搜索引擎能解决绝大部分问题:
速度快,不翻墙,一分钟自建服务器,不泄露聊天记录,使用网页版 ChatGPT 人工智能的方法:如何低成本拥有一个在国内可以使用 ChatGPT 聊天机器人。
一、ArcGIS_Pro 常见问题
1、该学习 ArcGIS Pro 还是 ArcMap?
更推荐学习 ArcGIS Pro,详细见ArcGIS Pro 和 ArcMap 的区别。
二、ArcPy 常见问题
1、为什么我无法克隆环境?
一般是国内的网络问题,可以挂梯子或者配置 conda 镜像。
有一些替代方法,下面来介绍一下我是如何克隆环境的:
自定义环境中添加和删除包非常容易导致环境出错,建议使用
conda
而不是pip
修改环境中的库。
(1)快速克隆环境
方法一:使用 conda 进行环境克隆
适合国内环境,配置 conda 镜像之后,通过程序自带的 conda 包管理器进行克隆,同样支持使用 Pycharm:
- 找到 ArcGIS Pro 环境的 conda 镜像源文件
.condarc
,文件一般在:“C:\Program Files\ArcGIS\Pro\bin\Python.condarc”。 - 右键
.condarc
修改文件的权限,保证登录的用户可以修改。如图勾选“Users”的修改
权限。
- 修改文件,将以下文本覆盖粘贴进此文件:
channels:
- esri
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
- 打开命令提示符输入
proenv
(或者找到并打开"C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\proenv.bat"),如图所示则激活了arcgispro-py
环境,:
-
运行清除 conda 包索引的命令:
conda clean -i
,提示输入y
。 -
管理员运行 Arcgis Pro 程序,进入包管理器,点击克隆环境,指向你自己安装的 conda 环境文件夹或者其他文件。(相当于在后台运行了 conda 克隆环境的命令)
-
管理员运行Pycharm 或其他编辑器,添加解释器-使用现有 conda 环境-选择刚刚克隆的环境。
方法二:直接复制环境文件夹
下面说明如何快速克隆环境,简单来说就是直接复制 arcgispro-py3 文件夹:
-
找一个你认为合适的存放克隆文件夹的位置,我在此处将文件夹放在了 conda 环境文件夹下"C:\Users\用户名\conda\envs\arcgispro-py3-clone"
-
进入到 Pro 默认安装文件下,拷贝文件 arcgispro - py3 到上述地址中,改名,此处改名为 arcgispro-py3-clone。
-
在 Pro “管理环境”–“添加”, 然后指向到第二步中的文件夹。
-
点击确定即可。
2、为什么我无法程序自带的jupyter notebook
?
如果你跟我的情况一样,在程序中无法打开笔记本,在 arcgis 应用程序下点击 jupyter notebook 或者交互式终端之后输入jupyter notebook
能打开 notebook,此时显示的是内核报错,那么可以通过清除 jupyter 的内核解决。
如果您想清除 Jupyter Notebook 中的所有内核,您可以按照以下步骤进行操作:
-
打开终端(或命令提示符)。
-
运行以下命令来列出已安装的 Jupyter 内核:
jupyter kernelspec list
这将显示已安装的内核的列表,类似于:
Available kernels: python3 /path/to/python3/kernel mykernel /path/to/mykernel/kernel
-
运行以下命令来删除所有内核:
jupyter kernelspec uninstall <填入内核名>
一段 python3 是 arcpy 所用的内核,删除其他的内核就可以。
-
确认删除操作。终端将显示一个确认提示,类似于:
Remove /path/to/python3/kernel? [y/N]
输入
y
并按下回车键确认删除。 -
最后把响应的文件也删除,之后打开就好了。
完成上述步骤后,您已成功清除jupyter notebook
中的所有内核。请注意,这将从系统中删除所有内核,并且与这些内核相关联的任何环境或配置也将被删除。
3、为什么无法在外部应用程序打开jupyter notebook
?
尝试用管理员运行外部应用程序。
4、ArcGIS API for Python 和 ArcPy 之间的区别?
ArcGIS API for Python
和 ArcPy
是两个用于与 ArcGIS 平台进行编程交互的工具,前者并不依赖桌面软件就能独立使用,它们之间存在一些区别。
-
功能范围:
ArcPy
是一个基于Python
的库,它提供了对ArcGIS Desktop
(包括ArcMap
和ArcGIS Pro
)的广泛访问和控制能力。ArcPy
可以用于创建、管理和自动化地理空间数据的处理、分析和地理信息系统 (GIS) 工作流程。它包含了大量的地理处理工具和功能,可以用于执行空间分析、地图制作、数据管理等任务。ArcGIS API for Python
是一个专门为与ArcGIS Online
、ArcGIS Enterprise
和ArcGIS 网络分析服务
进行交互而设计的Python API
。它提供了一组用于访问、查询、分析和可视化 GIS 数据和服务的高级功能。ArcGIS API for Python
可以用于创建和管理 Web 地图、执行空间分析、访问地理编码服务、处理地理数据等。 -
平台支持:
ArcPy
主要用于与ArcGIS Desktop
(ArcMap
和 ArcGIS Pro)进行交互,ArcGIS API for Python
提供了一种在 Web 环境中使用Python
进行 GIS 开发和自动化的方式。 -
依赖和部署:
ArcPy
需要安装ArcGIS Desktop
软件才能使用,因为它是ArcGIS Desktop
的一部分。而ArcGIS API for Python
是一个独立的Python
包,可以通过pip
安装,并且不需要ArcGIS Desktop
的安装,但是需要相应的许可,未购买许可的则不能使用。
5、无法通过 pip 安装其他依赖
不建议安装太多依赖,很容易破坏环境。如果需要安装,请在管理员下打开终端,激活 arcpy 环境,然后使用pip install geopandas shapely --trusted-host pypi.org
来安装。目前可以正常安装的依赖:
- geopandas~=0.14.0
ArcGIS Online 界面:
三、深度学习常见问题
1、无法使用 GPU 或者进行深度学习的时候出现“error999999 未知错误”
不要使用 3.0.2 破解版本
如果在使用深度学习相关工具,出现选择 GPU 不会出任何识别结果或者报错,选择 GPU 才可以出识别结果的情况,有两种解决方法:
-
软件版本问题:
- 避免使用未经授权的软件版本,因为它们可能不稳定或包含错误。尤其是不要使用 3.0.2 破解版本,推荐的做法是:
- 使用官方渠道获取深度学习工具的正版授权,或者去官网申请 21 天试用。
- 确保您的软件版本与您的硬件和操作系统兼容。
- 避免使用未经授权的软件版本,因为它们可能不稳定或包含错误。尤其是不要使用 3.0.2 破解版本,推荐的做法是:
-
硬件选择不当:
- 如果您在使用深度学习工具时选择了 GPU,但未获得任何识别结果或遇到错误,这可能是因为 GPU 和并行处理没有正确配置。请确保:
- 您的 GPU 驱动程序和 CUDA 工具包是最新的。
- 深度学习框架支持 GPU 加速,并已正确配置以与您的硬件兼容。
- 检查是否有软件设置阻止了 GPU 的使用。
- 如果您在使用深度学习工具时选择了 GPU,但未获得任何识别结果或遇到错误,这可能是因为 GPU 和并行处理没有正确配置。请确保:
在遇到问题时,检查文档和社区论坛以获取解决方案和更新信息。此外,确保您的系统满足软件的所有硬件和软件要求。
更多问题访问官方网站查看:深度学习常见问题—ArcGIS Pro | 文档
【ArcGIS Python 系列】系列笔记为学习 ArcGIS Pro 和Arcpy
过程中的总结,记下来方便回看,最新版本会优先发布在我的博客。
【ArcGIS Python 系列】教程部分:
- 一、Arcpy 介绍和安装【ArcGIS Python 系列】
- 二、ArcGIS Pro 和 ArcMap 的区别【ArcGIS Python 系列】
- 三、Arcpy 基础【ArcGIS Python 系列】
- 四、探索空间数据【ArcGIS Python 系列】
- 五、处理地理数据异常【ArcGIS Python 系列】
- 六、处理几何数据【ArcGIS Python 系列】
- 七、处理栅格数据【ArcGIS Python 系列】
- 八、制图模块【ArcGIS Python 系列】
- 九、自定义工具箱【ArcGIS Python 系列】
- 十、ArcGIS_Pro 常见问题【ArcGIS Python 系列】
- 利用 ArcGIS Python 批量处理地理数据的坐标系
- 使用 ArcGIS Python 检测洪水影像的区域
- 利用 ArcGIS_Python 制作考虑路况的交通等时圈
- 利用 ArcGIS Pro 制作弧线 OD 图【ArcGIS Python 系列】
- 使用 ArcGIS Pro 对卫星图进行建筑轮廓识别和车辆检测
- ArcGIS_Pro 官方课程整理
- 持续更新…
【ArcGIS Python 系列】jupyter notebook:
- 4.2.3-arcpy 基础(代码练习).ipynb
- 4.2.4-探索空间数据(代码练习).ipynb
- 4.2.5-示例 1:使用 Arcpy 进行 GIS 人口空间分布数据探索.ipynb
- 4.2.7-处理几何数据代码练习和示例 2.ipynb
- 4.2.8-栅格数据(代码练习).ipynb
- 4.2.9-制图模块.ipynb
- 4.2.12-实操 1-利用 Python 批量处理地理数据的坐标系.ipynb
- 4.2.13-实操 2-使用 Python 对图像中的洪水进行分类.ipynb
- 4.2.14-实操 3-制作考虑路况的交通等时圈.ipynb