# MapTitle-电子海图 **Repository Path**: zpwu/map-title-electronic-chart ## Basic Information - **Project Name**: MapTitle-电子海图 - **Description**: MapTitle-电子海图 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2025-05-09 - **Last Updated**: 2026-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 离线海图下载工具 专为海工船设计的离线海图下载工具,支持在无网络环境下使用。可下载指定海域的瓦片地图,并存储为MBTiles格式。 ## 功能特点 - **地图下载**:输入经纬度范围和缩放级别,下载指定区域的瓦片地图 - **多种瓦片源**:支持OpenStreetMap、OpenTopoMap、ESRI卫星影像等多种瓦片源 - **MBTiles格式**:将下载的瓦片转换为MBTiles格式,方便离线使用 - **交互式界面**:提供直观的地图选择界面,可预览下载区域 ## 安装与使用 ### 系统要求 - Python 3.8 或更高版本 - 操作系统:Windows, macOS 或 Linux - 互联网连接 (仅下载时需要) ### 快速开始 1. 确保已安装Python 3.8+ 2. 克隆或下载本仓库 3. 运行主程序: ```bash python run.py ``` 4. 程序将自动安装所需依赖,并在浏览器中打开界面 (http://localhost:5000) ### 使用方法 1. **选择区域**:通过拖动地图或使用绘图工具在地图上选择要下载的区域 2. **设置参数**: - 地图名称:为下载的地图设置名称 - 瓦片源:选择地图数据源(OpenStreetMap、OpenTopoMap等) - 缩放级别:设置最小和最大缩放级别(级别越高,下载量越大) 3. **计算大小**:点击"计算大小"按钮估算下载量 4. **开始下载**:点击"开始下载"按钮启动下载任务 5. **查看结果**:在"下载任务"和"离线地图文件"面板中查看进度和结果 ## 配置说明 ### 瓦片源 本工具支持以下瓦片源: - **OpenStreetMap (标准)**:通用地图,适合绝大多数用途 - **OpenTopoMap (地形)**:带等高线的地形图,适合航海使用 - **ESRI WorldImagery (卫星)**:高清卫星影像 - **Stamen Terrain (地形)**:另一种地形图样式 - **自定义**:可填入自定义瓦片URL模板 ### 下载参数优化 - **缩放级别**:推荐范围5-12级。每增加一级,瓦片数量增加4倍 - **区域大小**:建议一次下载的区域不要过大,以免任务失败 - **瓦片源选择**:不同瓦片源的可用性和响应速度不同,如遇下载失败可尝试更换瓦片源 ## 常见问题 ### 下载失败 如果遇到下载任务失败,可能的原因包括: 1. **网络连接问题**:确保您的网络连接稳定 2. **服务器限制**:瓦片服务器可能有访问频率限制,尝试: - 选择其他瓦片源 - 减小下载区域 - 降低最大缩放级别 - 等待一段时间后重试 3. **区域过大**:下载区域过大可能导致任务超时,尝试分多次下载较小区域 ### 使用修复工具 如果遇到下载失败问题,可以使用修复工具尝试恢复下载: ```bash # 列出所有下载任务 python repair_download.py --list # 查看指定任务的瓦片情况 python repair_download.py --scan 12 # 使用ESRI瓦片源重试下载任务#12 python repair_download.py --task 12 --source esri # 使用Google瓦片源重试下载任务#13 python repair_download.py --task 13 --source google ``` 修复工具支持的瓦片源包括: - `osm` - OpenStreetMap (默认) - `otm` - OpenTopoMap (地形) - `esri` - ESRI卫星影像 - `carto` - CartoDB轻色地图 - `google` - Google地图 ### 转换失败 如果瓦片下载成功但转换为MBTiles失败,可能的原因包括: 1. **磁盘空间不足**:确保有足够的磁盘空间 2. **权限问题**:确保程序有写入权限 3. **文件冲突**:可能已存在同名文件,尝试更改地图名称 ### 性能优化 - 较大区域的高缩放级别可能需要很长时间下载,请耐心等待 - 根据计算机性能,可以在代码中调整并行下载的线程数 ## 常见问题解决 ### 修复下载失败问题 如果遇到下载任务失败,出现 "0/0 瓦片" 或类似错误,请尝试以下解决方法: 1. **使用修复脚本**:运行 `fix_download_tasks.bat <任务ID>` 脚本(Windows系统)或直接运行 `python repair_download.py --task <任务ID>`,尝试使用不同的瓦片源重新下载。 2. **诊断问题**:运行 `python diagnose_download.py --task <任务ID>` 可以获取详细的诊断信息,查看哪个瓦片源对您的地图区域下载成功率最高。 3. **常见原因**: - 网络连接问题:确保您的网络可以访问在线地图服务 - 区域范围设置不当:确保经纬度范围正确有效 - 缩放级别过高:高缩放级别瓦片数量巨大,尝试降低最大缩放级别 - 瓦片源限制:有些区域在某些瓦片源上没有详细数据,尝试切换不同的瓦片源 4. **修改瓦片源**:海域地图建议使用 `esri_ocean` 或 `google_satellite` 瓦片源,陆地地图可尝试 `esri` 或 `osm` 瓦片源。 如果问题仍然存在,请检查日志文件或联系我们的技术支持。 ## 技术支持 如有问题,请提交Issue或联系开发者。 ## 许可证 本项目遵循MIT许可证。使用地图数据时,请遵守相应瓦片源的使用条款。 ## 下载海域地图的特别说明 海域地图下载与陆地地图有所不同,由于OpenStreetMap对海洋数据支持有限,下载海域地图时推荐使用以下瓦片源: 1. **ESRI Ocean** - ESRI专门的海洋底图,对海域数据支持最全面 2. **Google Satellite** - 谷歌卫星影像,对海域覆盖较好 3. **ESRI WorldImagery** - ESRI卫星影像,对海域也有良好支持 下载海域地图时,建议: - 选择较小的区域范围 - 使用合适的瓦片源(ESRI Ocean或Google Satellite) - 适当降低最大缩放级别(8-10级通常足够) ### 使用诊断工具 如果遇到下载失败或其他问题,可以使用内置的诊断工具测试各个瓦片源: ```bash # 诊断特定任务的问题 python diagnose_download.py --task 2 # 测试特定区域在不同瓦片源下的下载情况 // 下载30.05°N到30.25°N,122.11°E到122.31°E的区域 python diagnose_download.py --area 30.05 122.11 30.25 122.31 --zoom 5 10 python diagnose_download.py --area -26.41 47.38 -19.35 57.53 --zoom 5 10 ``` 诊断工具会测试所有可用的瓦片源,并推荐最适合该区域的瓦片源。 诊断工具会测试所有可用的瓦片源,并推荐最适合该区域的瓦片源。