# 贴地航线from_dxf **Repository Path**: land/Terrain-following-flight-path-from-dxf ## Basic Information - **Project Name**: 贴地航线from_dxf - **Description**: 从dxf地形文件中获取仿地飞行的航线,也可以用与从DXF(cad)文件中 按线段提取地形 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-06-20 - **Last Updated**: 2025-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ✈️ 贴地航线生成工具 ## 🚀 功能介绍 从DXF文件中提取航线和等高线数据,自动计算地形跟随高程,并生成采样点CSV,kml文件和剖面图。 ## ✨ 核心特性 - 📑 自动从DXF文件读取航线和等高线数据 - 🔢 基于反距离加权法(IDW)进行高程插值计算 - 📝 生成带高程信息的采样点CSV文件 - 📈 支持剖面图可视化与保存 - 💾 配置参数自动记忆功能 - 🌍 自动坐标转换(工程坐标系→WGS84) - 🗺️ 生成标准KML航线文件 ## 📦 安装说明 ### 环境要求 - Python 3.10+ - 依赖库:ezdxf, pandas, shapely, scipy, matplotlib ### 安装步骤 1. 克隆或下载本项目到本地 2. 安装依赖包(任选一种方式): **方式一:使用requirements.txt安装(推荐)** ```bash pip install -r requirements.txt ``` **方式二:手动安装各依赖包** ```bash pip install ezdxf pandas shapely scipy matplotlib ``` ## 📋 使用方法 ### 基本命令 ```bash python main.py --file path/to/your/file.dxf ``` ### 参数说明 | 参数 | 说明 | 示例 | |------|------|------| | --file | DXF文件路径(必填) | --file input.dxf | | --route-layer | 航线图层名称 | --route-layer 航线 | | --contour-layer | 等高线图层名称 | --contour-layer 等高线 | | --step | 采样间距(米) | --step 2.0 | | --z-offset | 高程偏移量(米) | --z-offset 5.0 | | --plot | 显示剖面图 | --plot | | --save-plot | 保存剖面图 | --save-plot | | --no-kml | 禁用KML生成 | --no-kml | ### 交互模式 如果未提供足够参数,程序将进入交互模式,引导用户完成以下设置: 1. 选择航线图层和等高线图层 2. 设置采样间距和高程偏移 3. 确认是否显示/保存剖面图 ## 📊 输出说明 程序会在DXF文件所在目录生成以下文件: - `line_xxx.csv`:航线采样点数据,包含距离、坐标和高程信息 - `line_xxx.png`:航线高程剖面图(如果启用保存) - `[dxf文件名].json`:配置文件,记录用户参数设置 - `line_xxx.kml`:KML格式的航线文件(默认生成),包含: - 航线路径(LineString) - 可直接导入Google Earth等GIS软件 ## 📄 CSV文件格式 | 字段 | 说明 | |------|------| | Distance | 距离起点的距离(米) | | X | X坐标(DXF坐标系) | | Y | Y坐标(DXF坐标系) | | RawElevation | 原始地形高程(米) | | OffsetElevation | 偏移后高程(原始高程+z-offset) | | Lon | 经度(WGS84坐标系) | | Lat | 纬度(WGS84坐标系) | ## 🌍 坐标转换说明 1. 转换流程: - 输入:DXF工程坐标系(X/Y) - 转换:使用EPSG:4548→EPSG:4326转换 - 输出:WGS84经纬度(Lon/Lat) 2. 高程处理: - 原始高程保持不变 - 可应用z-offset偏移 ## ⚠️ 注意事项 1. DXF文件需包含至少一个航线图层和一个等高线图层 2. 等高线需为LWPOLYLINE类型并包含高程信息 3. 首次运行后配置会自动保存,下次运行可直接使用 4. 输出目录固定为DXF文件所在目录 5. DXF文件使用工程坐标系(X/Y),程序会自动转换为WGS84经纬度(Lon/Lat) ## 🔧 故障排除 - **依赖错误**:确保所有依赖库已正确安装 - **图层选择问题**:确认DXF文件中存在所选图层名称 - **高程计算异常**:检查等高线数据是否包含有效的高程信息