外业测量苦不苦?苦。内业画图烦不烦?烦。
但你们有没有想过:外业和内业之间那堵墙,其实可以拆掉?
今天跟你们聊个一站式解决方案——7个脚本,打通从数据到成图的完整链路。
1. 数据清洗 — Pandas
外业数据拿回来总有各种问题:缺字段、格式乱、有异常值。脚本跑一遍,干干净淨。
2. 坐标转换 — PyProj
GPS采集的是WGS84坐标,项目用的是地方坐标系。PyProj几秒钟搞定,不用手算。
3. 地理数据合并 — Geopandas
多个图斑合并、裁剪、交叉分析,一行代码的事。
4. 波段处理 — Rasterio
遥感影像需要做波段合成、归一化、指数计算——脚本一键处理。
5. 正射影像裁剪
DOM出来了,按图幅范围自动裁剪,一两百张图几分钟搞定。
6. 指标计算
坡度、坡向、曲率——各种地形指标自动算,结果直接入库。
7. 报告导出
算完的数据自动填到Word模板里,生成完整的测量报告。格式统一,不用手动复制粘贴。
想感受一下?复制跑这个:
import pandas as pdimport numpy as npfrom datetime import datetime# ============ 模拟完整流程 ============print("=" * 50)print("第1步:数据清洗")print("=" * 50)# 模拟脏数据raw_data = {'point_id': ['P001', 'P002', None, 'P004', 'P005'],'x': [500000, 500010, 500020, 500030, 500040],'y': [3500000, 3500010, 3500020, 3500030, 3500040],'z': [100.5, 101.2, None, 99.8, 100.1],'remark': ['ok', 'ok', 'ok', 'outlier', 'ok']}df = pd.DataFrame(raw_data)# 清洗df = df.dropna() # 删除空值df = df[df['z'] > 50] # 去除异常print(f"清洗后: {len(df)} 条有效数据")print("\n" + "=" * 50)print("第2步:坐标转换 (模拟)")print("=" * 50)# 模拟转换 (实际用pyproj)df['x_local'] = df['x'] - 500000df['y_local'] = df['y'] - 3500000print(f"坐标转换完成: {len(df)} 个点")print("\n" + "=" * 50)print("第3步:指标计算")print("=" * 50)# 模拟计算坡度df['slope'] = np.random.uniform(1, 15, len(df)) # 随机生成坡度值df['aspect'] = np.random.uniform(0, 360, len(df)) # 坡向print(f"坡度范围: {df['slope'].min():.1f}° - {df['slope'].max():.1f}°")print("\n" + "=" * 50)print("第4步:生成报告")print("=" * 50)# 模拟生成报告内容report = f"""测量数据处理报告==================处理时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}数据点数: {len(df)}高程范围: {df['z'].min():.2f}m - {df['z'].max():.2f}m平均坡度: {df['slope'].mean():.2f}°平均坡向: {df['aspect'].mean():.1f}°数据已导出"""print(report)print("=" * 50)print("✅ 全流程测试完成!")print("=" * 50)跑完你会看到:数据清洗→坐标转换→指标计算→报告生成,全流程几分钟就完成了。
7个脚本不用分散着用,写成管道模式:
raw_data → clean → transform → merge → process → clip → calculate → report外业数据进来,走一遍管道,出来就是可以直接提交的成果。
版本和依赖
Python版本最好用3.8+,依赖库版本要锁定。别今天跑通了,明天升级个库挂了。
数据备份
跑脚本前记得备份原始数据。脚本是覆盖式的,改了就没了。
路径处理
用相对路径,别硬编码盘符。要不然换台电脑全挂。
这套流程真的能打通数据处理的任督二脉。
你要是还在一张图画半小时,一个报告调格式——赶紧试试。节省下来的时间,去陪家人、去打球、去做点有意义的事,不比加班强?
以往文章合集: