离线地图 对比
方式 | 数据来源 |
---|---|
GeoServer(shap) +leafletjs | 国外OSM开源数据 |
Web GIS离线 | 国内某开源地图下载器 |
tileserver-gl-ligh(mbtiles) +leafletjs | 国外Maptiler开源数据 |
GeoServer(shap) +leafletjs
跨域问题
https://zhuanlan.zhihu.com/p/65584557
优点
- 免费
- 支持多种形式的地图源发布
缺点
- 数据来源困难
- 前端集成困难
- 数据源与国内人员操作习惯不同
页面情况
Web GIS离线
离线地图切片 sqlLite能稳定下载
https://leafletjs.com/plugins.html
后端 代码 https://github.com/luxiaoxun/Code4Java
搜索 地图数据来源 爬虫 https://www.cnblogs.com/Christbao/p/12291874.html
爬虫 https://github.com/liujiao111/poi.git
优点
- 免费
- 支持国内多个地图下载
- 博客文档齐全
- 前端集成容易
缺点
- 下载地图耗费时间
- 搜索地图地名需要爬取对应官方地图的poi,账号容易被限制,爬取数量少
- 全国地图全部下载过大,目前支持全国12级地图和深圳18级地图
tileserver-gl-ligh(mbtiles) +leafletjs
https://l7.antv.vision/zh/docs/tutorial/map/offline
1.加载第三方底图,栅格瓦片图层做底图,如天地图,高德,google的栅格瓦片都可以
2.下载opensteetmap 矢量瓦片地图做底图
3.自己业务数据发布底图服务,或者矢量瓦片服务。
npm install -g tileserver-gl-light
tileserver-gl-light china.mbtiles
优点
- 简单数据免费
- 前端集成容易
缺点
- 数据源来源困难
- 搜索地图地名需要爬取对应官方地图的poi,账号容易被限制,爬取数量少
- 全国地图全部下载过大,目前支持全国12级地图和深圳18级地图
借鉴博客:
https://segmentfault.com/a/1190000019363295
https://www.cnblogs.com/luxiaoxun/p/5022333.html
https://www.cnblogs.com/luxiaoxun/p/4454880.html
https://www.cnblogs.com/luxiaoxun/p/5022333.html
最终方案(Web Gis)
架构
数据维护
地图数据来源
地图下载器地址:https://github.com/luxiaoxun/MapDownloader/releases
使用MapDownLoader地图下载器下载对应是数据
1、如果是数据增加,将原来的DATA.gmdb文件复制到对应的目录下 MapDownloader\MapCache\TileDBv5\en
2、在MapDownloader目录打开MapDownloader.exe
3、找到对应的省份数据
4、双击下载需要的层级(注意对应层级的大小)
5、等待下载完毕即可
poi数据来源
项目下载 https://github.com/liujiao111/poi.git
1、打开项目(python)
2、找到app.py 修改对应的参数即可
申请对应的地图的服务,如高德
3、找到爬去的数据,导入数据库
4、选择对应数据库的表,导入向导
5、导入完成即可
server服务端
下载地址:https://gitee.com/liuhaomin/publicdemo
1、将poi 的sql导入数据库
2、将地图数据源地址填写
3、启动服务
4、访问服务 localhost:9090/map/map