一个基于 PyQt5 的桌面地图下载与拼接工具,可按经纬度范围导出卫星地图或行政地图,并支持将 ArcGIS 卫星影像与高德中文地标图层手动对齐。
- 按左上角、右下角经纬度范围下载并拼接地图
- 支持 10~20 级清晰度
- 内置网页地图,可直接点击拾取坐标
- 支持 ArcGIS 全球卫星影像
- 支持高德卫星图、中文地标图层和行政地图
- 支持 ArcGIS 卫星影像与高德中文地标手动对齐
- 对齐窗口支持缩放、拖动、方向键微调和高质量导出
- 地标图层保持原始比例,导出时自动裁掉画布外内容
- 多线程下载、实时进度和预计剩余时间
- 大字体、高对比度的适老化界面
| 模式 | 适用范围 | 说明 |
|---|---|---|
| ArcGIS + 手动标注 | 中国境内 | 下载 ArcGIS 卫星影像和高德中文地标,可在导出前手动对齐 |
| ArcGIS 卫星 | 全球 | 仅导出卫星影像,不含中文地标 |
| 高德卫星(带标注) | 中国境内 | 高德卫星底图与中文地标直接合成 |
| 高德行政地图 | 中国境内 | 导出道路、地名和行政信息地图 |
- Windows 10/11
- Python 3.8 或更高版本
- 可访问相应地图服务的网络环境
安装依赖:
python -m pip install PyQt5 PyQtWebEngine Pillow项目目录中的 GDAL wheel 不是当前主程序的必需依赖。
在 GitHub 项目页面点击 Code → Download ZIP 下载并解压,或复制仓库地址后使用 Git 克隆。进入项目目录:
cd MapInstaller启动程序:
python MapInstaller.py- 点击“坐标拾取”,在右侧网页地图中查找目标区域。
- 点击左上角输入框旁的定位按钮,再点击地图中的区域左上角。
- 点击右下角输入框旁的定位按钮,再点击地图中的区域右下角。
- 选择清晰度等级和地图类型。
- 输入导出名称;留空时默认保存为
output.png。 - 点击“导出地图”,等待瓦片下载和拼接完成。
- 使用“ArcGIS + 手动标注”时,在对齐窗口中调整地标位置,按回车保存。
坐标格式为:
纬度, 经度
例如:
30.52, 114.32
请使用英文逗号分隔两个数值。
| 操作 | 功能 |
|---|---|
| 鼠标滚轮 | 放大或缩小 |
| 鼠标左键拖动 | 平移预览画面 |
| 方向键 | 将地标图层微调 1 像素 |
| Shift + 方向键 | 将地标图层微调 10 像素 |
| PgUp / PgDn | 快速上下移动地标图层 |
| Home / End | 快速左右移动地标图层 |
+ / - |
放大或缩小 |
0 |
恢复 100% 缩放 |
| Enter | 保存对齐结果 |
| Esc | 取消导出 |
对齐窗口中的拖动与连续缩放使用缓存和快速渲染;停止操作后会自动补充高质量画面。
安装 PyInstaller:
python -m pip install pyinstaller在项目根目录运行:
pyinstaller --noconfirm --onefile --windowed --name MapInstaller --icon map.ico --add-data "map.ico;." MapInstaller.py生成的程序位于:
dist/MapInstaller.exe
MapInstaller/
├── MapInstaller.py # 主程序
├── MapInstaller.spec # PyInstaller 打包配置
├── map.ico # 应用图标
├── tests/ # 自动测试
├── LICENSE # MIT 许可证
└── README.md # 项目说明
下载速度取决于地图服务和当前网络。程序会自动重试失败请求,请避免短时间内下载过大的区域。
高德地图主要适用于中国境内。境外区域请选择“ArcGIS 卫星”。
两种地图使用的坐标体系和数据来源不同,可能存在偏移。请选择“ArcGIS + 手动标注”,在对齐窗口中微调地标图层。
清晰度等级越高、坐标范围越大,需要下载的瓦片数量和最终图片尺寸就越大,也会占用更多内存。建议先用较小范围测试。
本项目通过公开网络接口访问 ArcGIS、高德等第三方地图服务,仅提供地图下载、拼接和对齐功能,不存储或分发地图数据。
地图影像、地名、道路和其他数据的版权归相应服务提供方所有。使用者应自行确认并遵守:
- 地图服务提供方的服务条款和版权要求
- 所在国家或地区关于地图数据的法律法规
- 网络请求频率、下载范围和数据用途限制
本项目不保证第三方接口长期可用,也不对地图数据的准确性、完整性或适用性作出保证。
欢迎提交 Issue 和 Pull Request:
- Fork 本仓库。
- 创建功能分支:
git switch -c feature/your-feature。 - 提交修改并说明测试方式。
- 推送分支并创建 Pull Request。
提交代码前,请确认程序能够正常启动,且没有提交导出的地图、缓存、构建目录或其他大文件。
本项目采用 MIT License 开源。