Skip to content

guanshuao/Track_Plan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Track Plan

本项目提供一个本地运行的航迹规划小工具:通过轻量级本地 Web 服务加载高德地图(AMap JS API),支持在浏览器中交互选取区域、自动计算航迹与摄影点,并将摄影点经纬度导出为 CSV 文件。

数据仅在本地浏览器与本地服务器之间传输,服务绑定到 127.0.0.1 的临时端口。

核心功能

  • 本地运行,自动打开默认浏览器,无需额外后端
  • 交互式选点:点击地图即可添加多边形顶点,支持重置与重新选择
  • 自动生成外接矩形与长宽信息,并提供航迹方向、航线间距、曝光间隔等详细指标
  • 可切换底图(标准、卫星、实时路况),并根据需要显示/隐藏成像覆盖范围
  • 一键导出摄影点坐标(longitude,latitude,UTF-8 CSV),支持自动重名扩展

环境要求

  • Python 3.8 或更高版本(仅使用标准库)
  • 支持 ES2015+ 的现代浏览器(Chrome / Edge / Firefox 等)
  • 高德地图 Web 端(JS API)Key

配置高德地图 Key

  1. 前往高德开放平台 https://console.amap.com/dev/key/app 申请“Web 端(JS API)”类型的 Key。
  2. 在本项目中配置 Key,可任选以下方式之一:
    • 环境变量(临时运行推荐):在终端设置 AMAP_WEB_KEYAMAP_KEY
    • 本地文件(长期使用便捷):在项目根目录创建纯文本文件 amap.key,文件内容为 Key(无引号与多余空格)

启动时后端会将 web/index.html 中的 __AMAP_KEY__ 占位符替换为你的 Key。

快速开始

以下以 Windows cmd.exe 为例:

REM 方式 A:使用环境变量(仅当前窗口有效)
SET AMAP_WEB_KEY=你的高德JSAPIKey
python main.py
REM 方式 B:使用配置文件(推荐长期使用)
REM 在项目根目录创建 amap.key 并写入 Key
python main.py

运行后终端会打印访问地址,例如:

http://127.0.0.1:54321/

程序会在后台自动打开系统默认浏览器。若浏览器未自动启动,可手动访问上述地址。

macOS / Linux 用户:

  • 临时运行:export AMAP_WEB_KEY=你的Key && python3 main.py
  • 或提供 amap.key 后执行:python3 main.py

使用流程

  1. 添加多边形顶点:在地图上点击添加点(至少 3 个)。左侧面板会实时显示经纬度和当前点数。
  2. 完成选点:当点数 ≥ 3 时点击“结束选点”,地图会同时展示多边形、外接矩形及边长信息。
  3. 配置航迹参数:在左侧面板调整相幅、焦距、比例尺、航向/旁向重叠率、航速等。任意参数变更后需重新生成航迹。
  4. 生成航迹:点击“生成/隐藏航迹”。系统会计算航线方向、航线数、照片点位、航向推进量等数据,并在地图上展示航迹折线和摄影点覆盖范围。
  5. 查看统计信息:右侧信息面板显示航迹摘要(航线数、有效照片数、曝光间隔、航高等),同时提供“显示/隐藏成像区域”按钮用于切换每张照片成像区域的展示。
  6. 导出摄影点:点击“保存摄影点经纬度坐标”,后端会生成 CSV 文件并反馈保存状态。文件将保存在当前工作目录。
  7. 重新规划:可随时点击“重新开始”重置选点;关闭或切换离开页面时,浏览器会通知后端自动关闭服务。

CSV 输出

  • 编码:UTF-8
  • 表头:longitude,latitude
  • 数据:每行记录一个照片中心点(经度在前,纬度在后,十进制度)
  • 文件命名:YYYYMMDDhhmmss.csv;若重名会自动追加 _1_2 等后缀

项目结构

amap.key                # 可选:你的 AMap JS API Key(纯文本)
main.py                 # 本地 HTTP 服务,负责注入 Key、响应保存/关闭请求
web/                    # 前端静态资源(页面、样式、脚本)
  index.html            # 页面模板,包含 __AMAP_KEY__ 占位符
  *.js / styles.css     # 选点、几何计算、航迹生成、交互逻辑

常见问题(FAQ)

  • 页面空白或提示 “InvalidKey/权限不足”
    • 确认 AMAP_WEB_KEY / AMAP_KEYamap.key 已正确配置
    • 检查 Key 是否已开通“Web 端(JS API)”并允许本地调试域名
  • 点击保存后没有生成 CSV
    • 确认已完成选点并生成航迹(右侧面板显示有效照片数)
    • 确保程序在有写权限的目录下运行
  • CSV 打不开或乱码
    • 文件采用 UTF-8 编码。若在旧版 Excel 中出现乱码,可使用“数据导入”功能或换用支持 UTF-8 的表格软件

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors