按 H 唤出 / 收起工具条 · Ctrl/⌘+E 导出图片
低空影像一张图
68.5 万 影像点位记录,一张图管住

低空影像,
一张图管住

浏览器打开即用的航拍影像管理与分析平台

低空航拍越拍越多,影像却大多散在硬盘里:找不到、理不清、用不上。
这个平台把它们收进一张图,按点位、按时间、按目录随手查,浏览器打开就能用。

低空影像一张图 · 平台真实界面 平台真实界面 · 全域照片点位
01

AI 影像分析

界面左下角入口

接入大模型视觉服务,对着航拍照片直接提问

AI 影像分析 · 真实界面(对话区)
真实界面 · AI 对话区选中照片直接提问,回答按 Markdown 排版;下方可勾选「附拍摄位置与相机参数」一并送进模型。 这些位置与参数来自 EXIF 读取与外部地址查询,不是模型自己看出来的;回答属辅助判读线索,使用前请人工核对。
  • 接入大模型视觉服务,对着影像直接提问 服务地址、模型标识与密钥由使用者在左栏自行配置,本页不含任何密钥
  • 三视图:按点位 / 时间 / 文件夹
  • 一次选 5 张图,横向对比提问
  • 坐标自动转中文概括性地点,对话可导出

两点需要留意: ① 提问时被选中的图片及其元数据会发送到所配置的模型服务端,涉密影像不要用这一项; ② 密钥由使用者在本机填写、只留在本机浏览器,不随页面发布 —— 换台电脑需要重新填一次。

照片列表 · 三种视图(真实界面)
右侧「照片列表」三视图:按点位 / 按时间 / 按文件夹,随点随换。
按点位
离我点的地方多远,一档一档排给你
按时间
按拍摄日期分组,今年去年一眼对照
按文件夹
按影像目录自动分组,哪个架次一目了然
02

照片筛选

界面右上角面板

68.5 万张照片,按时间、按类型、按目录秒级筛出

  • 时间档:一年 / 半年 / 3 月 / 1 月 快捷档位一键切,也能自己选起止日期
  • 垂直下视 / 有朝向 / 无朝向,实时计数 开关上直接写着这一类有多少张(是当前筛选范围内的计数,不是全库总数),点一下只看它
  • 聚类 / 散点切换,悬浮即预览 缩远了自动并成簇,鼠标停一下就地看缩略图
  • 按拍摄目录分开筛 照片落在哪个文件夹,面板里就分成哪一组;目录数量随数据集而变,不同数据版本数目不同
  • 筛选结果实时同步到图上 关掉一类,地图上的点当场少一片,不用刷新
照片筛选面板(真实界面)
界面右上角的筛选面板:最上面是「查找拍摄此处的照片」入口, 下面是时间档 + 起止日期 + 类型开关。 开关上的数字是当前筛选范围内该类影像的实时计数,与全库点位总数不是同一口径,不能相互换算; 把时间档放开到「全部时间」后,这个数字才是该类的全量。
02 · A

面板底部的「更多功能」

默认收起 · 展开后多五项设置
  • 智能展开 鼠标移到面板上自己展开、移开自己收起,不压地图
  • 悬浮自动显示 在地图上停一下点位就弹照片卡,省掉一次点击
  • 钉住面板 把面板钉在屏幕上,切底图、拖地图都不收回去
  • 侧栏查看 点开的照片从悬浮卡换成右侧整栏,图和参数看得更全
  • 文件夹筛选(目录数随数据集而变) 拍摄目录逐条勾选,只留要的那几个架次;标题上的复选框可一键全选 / 全不选
照片筛选面板 · 更多功能展开(真实界面)
面板底部「更多功能」展开后的样子(只截这一段):交互选项 四个开关 + 文件夹筛选 逐条勾选。
02 · B

筛完直接导出,自带信息水印

影像查看 → 导出
  • 导出范围四选一 当前这张 / 本点位全部 / 对比集 / 按文件夹,数字直接写在按钮上
  • 输出格式 JPEG / PNG 加了水印就要重新绘制编码,导出的是新的成果图;要留原文件请另行存档
  • 信息水印勾选式 八项想写哪几项自己勾,不想要的不会留空行
  • 位置 · 字号 · 署名 水印放四角任一角,字号四档,署名留空就不写
  • 多张一次打包 批量导出打成一个 ZIP,不弹一堆下载
导出面板(真实界面)
导出面板:范围 / 水印 / 格式三块一次看完,展开「更多选项」就是下面那八项。
水印八项 设备时间经纬度高度 朝向拍摄地点文件名署名
默认勾的是设备 + 时间 + 经纬度 + 高度,其余按需勾。 加水印会重新绘制并重新编码,输出的是新的成果图;要保留原始文件请另行存档。
02 · C

点一个位置,查「这里可能拍到过什么」

反着用 · 从位置找照片

前面几节都是先有照片、再看它在哪。这一节是反过来: 你手上只有一个位置(比如村民报的一个隐患点、一张纸质图上的红圈、一段里程桩号), 想知道这里以前拍过什么照片。在地图上点一下那个位置,平台直接给你列出答案。

  • 在地图上点一下就行 不用先在筛选面板里猜时间范围;点哪查哪,点完就出结果
  • 以点击处为圆心,找 500 米内的候选 命中的照片按距离由近到远排,档内再按拍摄日期分组;一眼先看到最近的
  • 判不了的照片不硬凑 没有坐标的、既非垂直下视又没朝向的,无法参与判定,不会混进结果里误导你
  • 直接接着用 结果就是普通的照片列表,可勾选、可对比、可提问、可导出,不用再找一遍
  • 点错不慌,Esc 随时退 没查到会提示并留在点选态,换个位置再点即可;按 Esc 退出点选,恢复正常浏览
照片筛选面板,最上面一行是「查找拍摄此处的照片」入口(真实界面)
配图为照片筛选面板(位置示意)。点选查图的命中结果会以同样的缩略图网格 呈现在查看器相册侧栏:按距离由近到远排列、组内按拍摄日期分组,最靠前就是离这个点最近的那几张。
「可能拍到」是怎么判出来的

判定分两步走:先圈范围 —— 只看离点击处 500 米以内的照片点位; 再按照片的拍摄姿态分别判,顺序不能反:

① 先判垂直下视的照片(看覆盖范围) —— 相机几乎垂直朝下时,镜头看到的是脚下的一片地面, 所以只要那个位置落在这张照片的覆盖范围内就算命中,覆盖半径 ≈ 飞行高度 × 可视角度的一半。 高度取不到时按 100 米 兜底(约 75 米覆盖半径)。

② 再判带朝向的倾斜照片(看方向) —— 这类照片的朝向是镜头指向而不是航向, 所以判的是「从相机位置出发、朝向是否指向这个点」,并留一个可视角度容差。

③ 顺序不能颠倒 —— 垂直下视的照片,它的朝向字段记的其实是飞行航向、 不是镜头朝向。如果先按方向去筛,会把一大批本来拍到了的照片判成「没拍到」。

正射照片显示为十字、倾斜照片显示为箭头,所以判定也必须跟着分开 —— 十字看「盖没盖住」,箭头看「指没指到」。
「按点位」是哪个
看的是已有的照片列表:以你点的地方为原点,把这一批照片按远近排序。回答的是「我手里这批照片,哪些离这个点近」。
本节讲的是哪个
看的是全库的点位:不管你当前有没有选中照片,从整个点位库里把这个位置相关的照片捞出来。回答的是「这个地方到底拍过什么」。
什么时候用哪个
在查一批照片、想按远近排 → 用「按点位」。接到一个地点、想知道有没有资料 → 用本节这个。

几句实话,先说清楚: 结果是「可能拍到」而不是「一定拍到」 —— 判据是相机姿态与几何关系,没有做逐张影像的内容比对; 缩略图缩得比较小,需要确认时请打开原图核对。
比例尺很小时不适用 —— 地图缩得太远时点位已并成聚合圈(概略层),这时点选会被拒绝并提示 「请放大回最细层(16 级)再点选」;请先放大到能看见单个点位再点。
没有 GPS 的照片不在判定范围内 —— 它们连位置都没有,无法参与距离或覆盖判断, 不会出现在结果里(想看它们请用「按时间」或「无定位」分组); 同理,既非垂直下视又没有朝向的倾斜照片也无法判定方向,同样不列。

03

底图 · 影像 · 矢量

界面右下角控件

点开一张影像就是查看界面:大图、多期对比、360° 全景、导出留档都从顶栏进

影像查看(真实界面)
真实界面 · 影像查看顶栏从左到右就是 对比 / 全景 / 导出 / 路径 / 更多,底部那行是键盘快捷键。底图与叠加图层的切换在右下角控件 —— 见下面那张。
  • 多底图切换,含 2019 / 2025 影像
  • 1×2 / 2×2 对比,每格独立缩放
  • 360° 全景,按时间线翻阅历史
  • GeoJSON 面 / 线 / 点矢量叠加
可用底图
2019 年三季度影像 2025 年 1 月影像 ArcGIS 影像 天地图 高德地图 境界 / 注记层
底图与图层控件(真实界面)
界面右下角图层面板:多期底图单选,拍摄点位 / 岸线 / 适飞区等叠加层独立勾选。
多期底图
同一个地方,不同年份切着看变化
多图对比
1×2 或 2×2 拼在一起,每格独立缩放
360° 全景
现场全貌直接转着看,不用另找工具
04

同一地点 · 多期对比

影像查看 → 对比

同一个点位、不同架次的影像摆在一起看,进度和变化不用来回翻

  • 进去就自动铺满 2×2 不用一张张挑,最多四张一起摆在眼前
  • 每格独立缩放平移 盯着同一处细节各看各的,互不干扰
  • 每格底部标着时间 · 高度 · 朝向 哪一期、飞多高、朝哪边,列在格子下方
  • 退出对比仍是单图 选过的那几张留在对比集里,下次进来直接恢复
同一拍摄点的地图视角(18 级,真实界面)
同一拍摄点的地图视角(18 级):点位上的箭头就是每张照片的拍摄朝向。
示例点位:121.08462°E / 28.14722°N(18 级)
该点位跨 4 个架次——2026-08-20 / 2026-05-13 / 2026-03-12 / 2025-03-24(自左上起由新到旧),摊成 2×2 一眼看变化。
同一地点 · 多期对比(真实界面) 真实界面 · 2×2 多期对比
真实界面 · 多期对比同一个点位、四个架次摆到一起:2026-08-20 → 2026-05-13 → 2026-03-12 → 2025-03-24(自左上起由新到旧),每格都可以单独放大对着看。

撑得住数据量的底层

不是把几万张照片塞进地图那么简单 —— 68.5 万点位,滚动、缩放都不掉帧。

68.5 万
影像点位流畅渲染
视口内才渲染;单屏点位载荷约 220 KB、就绪 696 ms
Range
按需加载
单文件点位格式,只看当前范围
LOD
多级聚合 + Canvas
缩远了自动合并,放大再逐个展开
静态
纯静态 · 无自建后端
浏览器打开即用;底图、地址解析与大模型为外部依赖

从拍到用,五步

STEP 01
影像入库
照片放进目录,自动汇进一张图
STEP 02
叠图定位
三种视图随手切换
STEP 03
点位置反查
给个坐标,看这里拍过什么
STEP 04
筛选导出
按时间类型筛出目标,批量留档
STEP 05
AI 提问
选图直接问,答案可导出

拍下来的每一张影像,都能在一张图上找到、看懂。

拓展

换成你自己的照片

纯静态 · 不需要后端

换一批照片、换一台机器都能自己搞定 —— 照片归拢好,剩下的都是复制粘贴

拓展 · A

照片整理到一个文件夹

扫描前唯一要准备的事
  • 一个根目录就够 下面按架次、日期、区域怎么分子文件夹都行,扫描会自己递归进去
  • 照片要带 GPS 与拍摄时间 都从 EXIF 读;没有定位的不进地图点位,也不会出现在「按点位」的距离分档和「点位置查照片」的结果里 —— 它们只能在「按时间」或「无定位」分组里翻到,不会在地图上留下脏点
  • 删了、挪了就重扫一次 扫描按「路径 + 修改时间」比对,只有变过的照片才重新计算,不必整盘重来
assets/pic.hpt
全部点位,一个文件装下 68.5 万点(约 46 MB)。前端按当前视口分段取,不整包下载。
assets/th/
缩略图目录,文件名就是照片的 hash,前端直接拼出地址,不用再查索引表。
拓展 · B

定时更新点位文件

Windows 任务计划 / cron
  • 扫描与发布是两个动作 扫描 = 读出照片的 EXIF 写入数据库;导出 = 把库里的结果算成前端用的点位文件。定时任务要分别安排这两步,只跑扫描不会更新页面
  • 扫完接着重导出 把两步串在同一个任务里(先扫、再导),新拍的照片第二天就在图上
  • 先自检、再上线 导出自检不通过就别覆盖线上文件;自检通过后再替换,前端照着新版本重取瓦片
拓展 · C

迁移与访问

本地 / 局域网 / 公网
本机打开(file://)
双击 index.html 就能浏览、筛选、比对、翻相册,适合随身带一份离线数据。 但浏览器对本地文件有安全限制,导出图片 / 打包 ZIP、外部地址解析、AI 提问三项不可用;需要完整功能请走 http(s) 地址。
局域网共享
整个目录交给任意静态服务器(NAS / IIS / nginx),同网段的手机、电脑用内网 IP 加端口直接打开。
公网发布
上传对象存储加 CDN,绑一个已备案域名;底图与照片地址按域名自动切换,公网只放压缩过的层级。
迁移到新机器:最少改三处

① 域名判定 —— 把 wzhky.com 换成你自己的域名,它决定页面走公网分支还是内网分支;
② 照片服务器 —— 把照片服务与照片根目录换成新机器的地址(内网地址示例:192.168.112.60:8116);
③ 本地影像层级 —— 内网可放到 16 / 17 级,公网只到 12 级,按新机器上实际有的瓦片层级填。

除这三处外,还有几项按需配置(不改也能跑,改了才完整):
④ 底图服务密钥 —— 换成本单位申请的地图服务密钥;
⑤ AI 服务配置 —— 模型服务地址、模型标识与密钥(由使用者在页面里填,不写进文件);
⑥ 图片路径与跨域策略 —— 确认影像 / 缩略图允许被页面跨域读取,否则图能看但导不出;
⑦ 默认署名 —— 改成单位口径(正式对外交付建议用单位名,不要用个人姓名与个人邮箱)。