基于 Jupyter Notebook 构建的 ArcGIS Notebooks 是一个开源 web 应用程序,可用于创建和共享包含实时 Python 代码、可视化效果和叙事文本的文档。 将 ArcGIS Notebooks 集成到 ArcGIS Pro 后,可以执行分析并在地理环境中立即查看结果,与新兴数据进行交互,记录并自动化工作流,以及将其保存以供稍后使用或共享。ArcGIS Notebooks 用途包括数据清理和转换、数值模拟、统计建模、计算机学习、管理任务等。
ArcGIS Pro 中的所有 Python 功能均可通过 ArcGIS Notebooks 使用,其中包括核心 Python 功能、Python 标准库、ArcPy、ArcGIS API for Python 以及 ArcGIS Pro 所随附的众多第三方库,例如 NumPy 和 pandas。 ArcGIS Pro 可以使用 ArcGIS Pro 包管理器通过开源库进行扩展。
当开源 Jupyter Notebooks 在 ArcGIS Pro 应用程序中本地运行时,Esri 的集成 Jupyter Notebook 体验也可用于 ArcGIS Online 或 ArcGIS Enterprise 门户。
如果您正在寻找交互式 Python 终端来测试或运行代码的简短片段,而无需高级笔记本功能,请参阅 Python 窗口。
如何在 ArcGIS Pro 中使用 ArcGIS Notebooks
要创建笔记本,请单击功能区上的插入选项卡,然后单击新建笔记本按钮 。 或者,可以打开目录窗格,浏览至工程目录,右键单击文件夹,然后选择新建 > 笔记本。
已添加到工程中的 ArcGIS Notebooks 将在目录窗格的 Notebooks 文件夹 下列出。 使用 ArcGIS Pro 创建的 Notebook 会自动添加到您的工程中。 要将现有的笔记本添加到工程中,请右键单击 Notebooks 文件夹,然后选择添加笔记本 ,或者单击插入功能区上添加笔记本按钮旁边的下拉箭头,然后选择添加笔记本。
要在工程中打开现有笔记本,请浏览到目录窗格中的笔记本文件,然后双击笔记本,或者右键单击笔记本并选择打开笔记本。
笔记本将在与标准 Jupyter Notebook 类似的用户界面中打开,但在 ArcGIS Pro Notebook 选项卡中具有新建按钮 、保存按钮 和中断核按钮 。 打开笔记本视图时,笔记本功能区会自动出现。 有关如何与 Jupyter Notebook 交互的详细信息,请参阅 Jupyter Notebook 用户界面文档。
要导出笔记本,请使用导出下拉菜单 将笔记本导出到 Python (.py) 或 HTML (.html) 文件。
附加帮助
可在笔记本视图帮助菜单浏览 Jupyter Notebook 用户界面、键盘快捷键、标记和其他相关主题。
Tab 补全功能将根据指针的位置提供上下文帮助。 可以通过在对象或库名称后键入点之后按下 Tab 键来查看方法和属性。 例如,在单元格中键入 arcpy.analysis 并按 Tab 键,可显示 analysis 模块中可供使用的方法的列表。 显示列表后,可以通过键入相关单词对其进行进一步过滤。 从列表中选择合适的方法后,按 Enter 键即可使用该方法。
Python 工具、模块、函数、类和关键字都会存储可提供有关其使用信息的文档。 通过按 Shift+Tab 可以激活指针处的文档。 以下是针对缓冲区工具显示的文档:
或者,可以使用内置 Python help 功能访问同一文档。 以下是针对 arcpy.analysis.Buffer 显示的帮助文档:
与 ArcGIS Pro 集成
除了 Python 窗口之外,ArcGIS Pro 中的 ArcGIS Notebooks 将提供对地图内容的访问权限,从而允许交互式工作流,例如以下内容:
- 可以按名称或者使用数据的路径,在笔记本中访问地图的图层和其他内容。
- 地理处理工具的输出默认添加到活动地图。
- 地理处理工具支持选择。
- 支持全局地理处理环境设置,并且可以被环境设置覆盖。
- 地理处理工作流可以在正在进行的编辑会话期间发生。 如果地理处理工具直接修改了编辑会话中正在编辑的要素(它不会将地理处理的结果另存为另一个要素类),则用户可以在编辑功能区中保存或放弃更改。
- 从 ArcGIS Notebook 中运行地理处理工具时,工具的结果日志将显示在地理处理历史中。
警告:
ArcGIS Pro 设计为运行单个 Python 实例。 通过 ArcGIS Pro 的单个实例中的每个打开的笔记本共享此 Python 实例。 如果不同的笔记本使用相同的变量名称,则可能造成变量名称冲突。 要避免可能的变量名称冲突,请考虑以下选项:
- 一次打开一个笔记本。
- 在 ArcGIS Pro 的不同实例中运行笔记本。
- 在同时运行的笔记本中使用唯一的变量名称。
- 运行 %reset -f magic 命令删除笔记本中的所有变量。
警告:
ArcGIS Pro 中不直接支持通过 ArcGIS Enterprise 托管的 ArcGIS Notebooks。 要在 ArcGIS Pro 中使用托管笔记本,请在本地下载并使用 .ipynb 文件。
注:
使用 %matplotlib inline magic 命令来显示图时,必须使用 matplotlib.pyplot 的 show() 功能绘制图。ArcGIS Pro 中的 ArcGIS Notebooks 仅支持 Python,不支持其他语言内核(例如 R)。
ArcGIS API for Python
在 ArcGIS API for Python 中,GIS 对象用于表示您正在使用的 GIS,例如 ArcGIS Online 或 ArcGIS Enterprise 实例。 您的 GIS 可以支持多种身份验证方案,有关如何针对不同的方案对脚本和笔记本进行身份验证的信息,请参阅使用不同的身份验证方案。
例如,要作为匿名用户连接到 ArcGIS Online,请指定 gis = GIS()。 在 ArcGIS Pro 中,要在不输入凭据的情况下连接到您的活动门户,请指定 gis = GIS("home")。