搭建openstreetmap地图服务
前言
内容包括
1. 搭建openstreetmap地图服务(源自openstreetmap官方搭建教程)
2. 搭建tileserver-gl地图服务(源自openmaptiles官方搭建教程)
(没错,我就是一个官方搬运工,哈哈,不过重点不是教程,而是我在搭建过程中踩的坑,希望能对你有所帮助)
全程干货较多,阅读前建议具备以下知识:
1. openstreetmap相关知识
2. docker和docker-compose方面的知识
搭建openstreetmap地图服务(源自openstreetmap官方搭建教程)
部署步骤
1. 首先在linux上安装docker(我这里使用的是CentOS 7)。
2.下载地图数据,建议去这个网站下载https://download.bbbike.org/,选择要下载的对应区域,复制链接,在迅雷中下载,比如我下载整个星球的pbf数据(53G,需要考虑在linux上使用之后的数据膨胀度,大概会膨胀20倍,意思就是要准备3T左右的硬盘空间),直接将这个链接复制(https://download.bbbike.org/osm/planet/planet-latest.osm.pbf)到迅雷中。
3. 将下载的pbf数据放到Linux系统中
4. 新建数据库的挂载卷
docker volume create openstreetmap-data
#这一步也可以自己指定数据库的挂载位置
5. 下载官方提供的openstreetmap-tile-server镜像,并且将地图数据导入到postgres数据库中,这一步需要花费很多的时间,数据越大,花费时间越久
docker run -v /data/openstreetmap/planet-latest.osm.pbf:/data.osm.pbf -v openstreetmap-data:/var/lib/postgresql/12/main overv/openstreetmap-tile-server:1.3.10 import
官方在前面是加了一个time的,这个命令主要是为了判断自己用了多少时间,可加可不加
6. 创建容器卷openstreetmap-rendered-tiles,这一步是将已渲染的图块存储在中/var/lib/mod_tile,确保该数据在容器重启后仍然存在,进入地图不用重新渲染,不然会出现在浏览器上打开地图,半天都加载不出来的情况
docker run -p 8099:80 --restart=always --name osm-server -v openstreetmap-data:/var/lib/postgresql/12/main -v openstreetmap-rendered-tiles:/var/lib/mod_tile -d overv/openstreetmap-tile-server:1.3.10 run
7. 将下面的地址换成自己的ip和端口,就能正常访问了
http://your.server.ip.address/tile/0/0/0.png
缺点:
其实这种地图服务由于使用的是png协议,有着非常明显的缺点,就是地图渲染很慢,如果你刚安装好,那么在浏览器中打开,加载会很慢。你搭建好了之后,需要等待,等服务器端慢慢渲染,过段时间之后,地图的加载速度就明显变得更快了。
不过这个“快”也是存在瓶颈的,当你将地图放大之后,可能第12个级别(缩放级别,总共14个缩放级别)开始,地图加载就会明显变慢,商用的话,还是存在很大的压力。
优点:
优点还是很明显的,项目开源,数据开源,而且数据也是在不断更新。
前端技术支持
- Leaflet入门
- OpenLayers入门
可以通过这些技术,可以让地图实现自己需要实现的效果,比如根据经纬度在地图上标记点等。
tileserver-gl地图服务
如果你需要更好,更快的地图服务,请看下面的这篇博客:
搭建tileserver-gl地图服务(源自openmaptiles官方搭建教程)
源码与文档地址
openstreetmap-tile-server源码GitHub地址:https://github.com/Overv/openstreetmap-tile-server
openstreetmap文档地址:https://switch2osm.org/serving-tiles/using-a-docker-container/
openstreetmap示例:https://www.openstreetmap.org/
openstreetmap数据源1(可下载星球地图数据):https://download.bbbike.org/
openstreetmap数据源2(下载指定地区数据):https://download.geofabrik.de/
openstreetmap-tile-server镜像地址:https://hub.docker.com/r/overv/openstreetmap-tile-server
搭建openstreetmap地图服务相关推荐
- 搭建tileserver-gl地图服务
前言 内容包括 1. 搭建openstreetmap地图服务(源自openstreetmap官方搭建教程) 2. 搭建tileserver-gl地图服务(源自openmaptiles官方搭建教程) ( ...
- 利用OpenStreetMap(OSM)数据搭建一个地图服务
图 利用OSM数据简单发布的北京地图服务 一.OSM是什么 开放街道图(OpenStreetMap,简称OSM)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图(wiki: ...
- Arcgis搭建离线地图服务WMTS
Arcgis搭建离线地图服务WMTS 发布时间:2021-03-04 版权: ARCGIS搭建离线地图服务器,进行离线地图二次开发 2. 离线地图服务发布(WMTS服务) (详细教程:添加离线 ...
- ArcGIS环境搭建及地图服务发布
ArcGIS的环境需要如下文件: SQL Server2012 ArcGIS for Desktop ArcGIS for Server 目前网上提供的ArcGIS下载都是10.2.0版本.这个版本与 ...
- GeoServer搭建私有地图服务,Cesium引擎加载。
一.安装JDK 1.安装GeoServer是基于Java的环境,所以需要先装Jdk环境. 2.前往官网下载Java SE 3.下载GeoServer 1.前往官网下载最新稳定版 2.安装GeoServ ...
- geoserver 3_使用GeoServer 和 mapbox-gl 搭建离线地图服务
视频体验 知乎视频www.zhihu.com 软件与数据 mapbox-gl 安装: https://www.npmjs.com/package/mapbox-glwww.npmjs.com ma ...
- 无偏移谷歌瓦片地址_[转]OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
开源与成熟商业的瓦片地图服务(TMS 2 WMTS),都有如下共同的特性,基本成为了标准: (1) 坐标系:WGS84 (2) 投影:墨卡托投影(Marcator,正轴等角圆柱投影) ------ ...
- 添加离线地图服务(搭建内网地图服务)
搭建离线地图服务主要是两个步骤:一是:离线地图服务需要的地图数据:二是:将离线地图数据发布成地图服务:只有做好这两步,才能有接下来的二次开发和行业应用. 前面已经介绍了安装离线地图服务器程序 以及 离 ...
- 如何搭建高德离线地图服务?
搭建离线地图服务主要是两个步骤:一是:下载离线地图服务需要的地图数据:二是:将下载的离线地图数据发布成地图服务:只有做好这两步,才能有接下来的二次开发和行业应用. 前面已经介绍了安装离线地图服务器程序 ...
最新文章
- MyEclipse 9.x Professional/blue/spring/bling 下载与破解
- 洲际的merlin怎么用_洲际merlin登陆
- abap--关于sap地址,传真,邮箱的地址读取
- tornado 表单 post 提交
- 拥有您的堆:使用JVMTI迭代类实例
- angular 获取ng-repeat完成状态 $last
- uc浏览器将在印度推出电商服务
- html5鼠标下拉浮窗固定,【前端技术】vue-floating-menu可拖拽吸附的浮窗菜单
- 校园PHP表白墙程序源码
- 汇编 MOVSX与MOVZX 指令
- 省市区三级行政区划数据JS插件
- AndroidHttpCapture抓包工具
- 2022全新趣盒iapp源码带后台非常好看UI
- 零基础应如何学习UI设计
- C Prime plus 第七章练习题
- php yii2 ddd,Xunsearch SDK for PHP/yii2
- 你知道什么是 Figma 吧
- 计算机的码片是指什么作用,计算机通信作业共有四个站进行码分多址的CDMA通信4个站的码片 爱问知识人...
- python制作qq登录界面_用Python实现一个最新QQ办公版(TIM)的登录界面
- 无法解析该名称 outlook必须处于联机,控制面板删除账户
热门文章
- 无线调试服务器,从无线局域网控制器(WLC)的收集的调试
- 项目38.2 打豆豆
- Google退出中国对Android的影响
- 目录和文件暴露在根目录下的 nginx 配置演示
- vue微信小程序uniapp添加悬浮菜单
- 【每周一本书】之《深度学习核心技术与实践》:“小猿搜题”团队倾力之作...
- 恒源云(GPUSHARE)_CV论文笔记之CE-FPN(通道增强特征金字塔网络)
- 【QA那些事儿】视频SDK测试介绍
- mysql数据类型单选类型_单选按钮的mysql数据类型是什么?
- Soap UI工具初探