代码与脚本是算青山的扩展能力,适合需要重复处理数据或维护小工具的用户。日常文字整理请看文本与 Markdown,Word 等格式请看文档处理。

可以用来做什么

任务你提供什么可以得到什么
理解已有脚本脚本文件及用途输入、输出、处理步骤和相关文件说明
检查调查数据小份样例与明确规则可审阅的脚本、运行记录和问题清单
修改处理逻辑当前行为与预期结果指定范围的代码修改及验证说明
编写 QGIS 脚本林班、巡护路线和处理规则PyQGIS 脚本与运行说明
编写 ArcGIS 脚本小班、作业范围和统计口径ArcGIS Pro ArcPy 脚本与核对步骤

应用可通过工具读取、搜索和修改受支持的文本文件,并在桌面端获准后运行命令。运行 Python 等脚本需要本机具备相应环境;生成代码不代表已安装解释器或依赖。

开始前

  1. 打开项目,放入脚本或用于验证的小份数据副本。
  2. 配置聊天模型,选择允许工具执行的授权方式。
  3. 说明输入文件、处理规则、输出文件名和允许修改的范围。
  4. 需要运行时,让助手先检查本机环境,再按当前授权执行。

示例一:检查巡护记录中的缺项与重复编号

准备 UTF-8 编码的 巡护记录.csv,以下均为虚构数据,只用于演示字段检查。

记录编号,地块编号,巡护日期
R001,QL-01,2026-09-01
R002,QL-02,
R002,QL-03,2026-09-02

向助手发送:

读取巡护记录.csv,创建 check_records.py,只使用 Python 标准库。检查“记录编号、地块编号、巡护日期”是否为空,以及记录编号是否重复。将问题保存到检查结果.csv,包含原 CSV 行号、记录编号和问题说明,表头计为第 1 行;重复编号要列出全部相关行。不要修改原文件,不要补填缺失信息。先说明逻辑并检查本机 Python 环境,在授权允许后用样例运行,报告实际输出和退出结果。已有同名输出文件时先说明再处理。

概念示意,展示样例的预期检查结果;不是产品截图或实际运行记录。

你应核对以下结果:

  • 第 3 行 R002 缺少巡护日期。
  • 第 3、4 行的记录编号 R002 重复,两个相关行都应列出。
  • 原 CSV 内容未被改写,检查脚本和结果文件已保存。
  • 运行记录中有实际执行结果;“脚本已生成”不等于“检查已完成”。

这份示例只检查空值与重复,不判断日期是否合法、地块是否真实、巡护是否完成。增加规则前,应先确定规则与例外。

示例二:给现有脚本增加一个检查条件

完成前一个示例后,可以继续提出一个有限的改动:

在 check_records.py 中增加“巡护日期必须是有效的 YYYY-MM-DD 日期”的检查,保留原来的缺项和重复编号规则。只修改该脚本。另建测试样例,分别包含正常日期、空日期、2026/09/01 和 2026-02-30;空日期只报缺项,其余无效日期报告格式或日期错误。运行验证并说明修改位置、实际结果和未能验证的部分,不覆盖巡护记录.csv。

审阅时把“改了什么”和“验证了什么”一起看:正常日期应通过,空值不重复报错,错误格式和不存在的日期应被识别。小样例通过后,再对业务数据副本运行,并抽查输出。

示例三:用 QGIS 脚本筛选巡护路线周边的小班

想安排沿线巡护时,可以让助手编写 PyQGIS 脚本,筛选路线周边需要关注的小班。准备巡护路线线图层、小班面图层,以及小班唯一编号字段。Shapefile 应保留配套文件;使用 GeoPackage 时说明图层名。

请为我的 QGIS 编写 route_stands.py,用于在 QGIS Python 控制台的编辑器中运行。输入巡护路线和林业小班图层,以路线周边 100 米缓冲区筛选相交的小班,输出完整小班到新的 GeoPackage,并生成小班编号清单 CSV。100 米只是本次演示参数,请做成可修改变量。先向我确认 QGIS 版本、图层路径、图层名、小班编号字段和适合当地的米制投影坐标系;不得猜测未知坐标系。缓冲区先融合,再按唯一编号去重;输出保留完整小班,不裁切小班边界。检查空几何、无效几何和编号缺失,遇到问题先报告。保留源文件,附运行方法与核对步骤,未运行时明确说明。

概念示意,不是实际地图或分析结果。缓冲距离由业务人员确定;与缓冲区相交不代表该小班已完成巡护。

**如何使用:**先安装 QGIS,打开项目,在 Python 控制台的编辑器中审阅脚本、填写参数,再用少量数据运行。若要从算青山执行独立 PyQGIS 脚本,需要另行配置 QGIS 库、资源路径及 Processing 环境,不能直接假定普通 Python 可用。QGIS Python 环境说明、Processing 控制台指南。

**如何核对:**在 QGIS 中叠加路线、缓冲区和输出小班,抽查缓冲区内外及边缘相交的小班;检查编号去重、输出数量和坐标系。距离计算应使用经确认的坐标系与单位,不能把经纬度的“度”当作“米”。

示例四:用 ArcGIS 脚本统计作业范围涉及的小班面积

准备拟作业范围面图层、林业小班面图层,以及小班编号和林种字段。目标是生成“哪些小班与作业范围重叠、重叠面积多少”的统计初稿,供经办人员核对。

请为 ArcGIS Pro 编写 stand_overlap.py,使用 ArcPy。将拟作业范围与林业小班进行面相交,重新计算相交部分的面积,按小班编号和林种汇总公顷数,保存相交要素和统计表到新的文件地理数据库。先确认 ArcGIS Pro 版本、输入路径、字段名、坐标系、面积计算方法和软件许可。检查无效几何及范围内重叠,说明如何避免重复计面积;不要擅自合并或修复源数据。不要直接汇总源小班的整块面积字段。保留原件,附参数说明、运行步骤、日志和抽样验证方法。没有 ArcGIS 环境时只交付脚本与待验证说明。

**如何使用:**本例面向 ArcGIS Pro 的 Python 3 / ArcPy 环境。可在 Pro 的 Python 窗口或 Notebook 中执行经审阅的代码,也可使用其 Python 环境运行 .py 文件;独立执行还需满足许可条件。普通 Python 安装不等于拥有 ArcPy 环境。详见 ArcGIS Pro Python 与运行环境。旧版 ArcMap 脚本需要说明版本并单独适配。

实现时可以按数据条件选用 Pairwise Intersect(成对相交) 和 Summary Statistics(汇总统计)。具体工具、参数和许可应按用户安装版本核对。

**如何核对:**抽取几个小班,在 ArcGIS Pro 中对照相交几何和面积;检查面积单位、重复叠加、空林种及未匹配记录。对于无内部重叠的数据,同一小班的汇总相交面积不应超过其整块面积。统计结果用于资料整理,不自动形成采伐许可、用地认定或正式调查结论。

还可以提出哪些林业脚本需求

场景给助手的关键信息预期交付
按乡镇或林班批量拆分图层分组字段、命名规则、输出格式拆分脚本、文件清单与数量核对
关联样地调查表与样地点唯一编号、重复记录处理规则关联脚本、未匹配与重复编号清单
批量输出小班示意图已有布局模板、范围、比例尺与命名规则对应 GIS 软件的制图脚本与样图核对步骤

算青山协助编写、解释和修改脚本;空间处理由配置好的 QGIS 或 ArcGIS 环境执行。文中示例尚未在你的 GIS 环境和业务数据上运行。算青山软件自身免费,ArcGIS 软件许可等第三方费用另计;原生地图查看功能与这些外部脚本流程分别使用。

先读懂别人写的脚本

不确定现有工具是否合适时,可以先只读分析:

阅读 check_records.py,说明读取哪些文件、写到哪里、检查哪些字段,是否会覆盖已有文件或访问网络。给出相关代码位置,暂不修改或运行。

对于较大的项目,应指定目录或功能。发现输入格式不一致时,先说明差异再修改。

检查与常见问题

情况下一步
找不到 Python 或所需依赖检查本机安装与可执行路径;不能把未运行标记为通过
中文乱码、字段找不到核对编码、分隔符和实际表头,再用小样例重试
运行成功但结果不符合预期对照原始行和规则抽查;退出成功不代表业务判断正确
修改时提示文件已变化重新读取当前文件再应用修改,避免使用过期内容

脚本处理受平台、权限和本机环境约束。命令执行目前面向桌面端;这些示例不代表软件内置了专业林业分析或自动业务审查。