前言

内容包括

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地图服务相关推荐

  1. 搭建tileserver-gl地图服务

    前言 内容包括 1. 搭建openstreetmap地图服务(源自openstreetmap官方搭建教程) 2. 搭建tileserver-gl地图服务(源自openmaptiles官方搭建教程) ( ...

  2. 利用OpenStreetMap(OSM)数据搭建一个地图服务

    图 利用OSM数据简单发布的北京地图服务   一.OSM是什么 开放街道图(OpenStreetMap,简称OSM)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图(wiki: ...

  3. Arcgis搭建离线地图服务WMTS

    Arcgis搭建离线地图服务WMTS 发布时间:2021-03-04 版权: ARCGIS搭建离线地图服务器,进行离线地图二次开发 2.     离线地图服务发布(WMTS服务) (详细教程:添加离线 ...

  4. ArcGIS环境搭建及地图服务发布

    ArcGIS的环境需要如下文件: SQL Server2012 ArcGIS for Desktop ArcGIS for Server 目前网上提供的ArcGIS下载都是10.2.0版本.这个版本与 ...

  5. GeoServer搭建私有地图服务,Cesium引擎加载。

    一.安装JDK 1.安装GeoServer是基于Java的环境,所以需要先装Jdk环境. 2.前往官网下载Java SE 3.下载GeoServer 1.前往官网下载最新稳定版 2.安装GeoServ ...

  6. geoserver 3_使用GeoServer 和 mapbox-gl 搭建离线地图服务

    视频体验 知乎视频​www.zhihu.com 软件与数据 mapbox-gl 安装: https://www.npmjs.com/package/mapbox-gl​www.npmjs.com ma ...

  7. 无偏移谷歌瓦片地址_[转]OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)

    开源与成熟商业的瓦片地图服务(TMS  2  WMTS),都有如下共同的特性,基本成为了标准: (1) 坐标系:WGS84 (2) 投影:墨卡托投影(Marcator,正轴等角圆柱投影) ------ ...

  8. 添加离线地图服务(搭建内网地图服务)

    搭建离线地图服务主要是两个步骤:一是:离线地图服务需要的地图数据:二是:将离线地图数据发布成地图服务:只有做好这两步,才能有接下来的二次开发和行业应用. 前面已经介绍了安装离线地图服务器程序 以及 离 ...

  9. 如何搭建高德离线地图服务?

    搭建离线地图服务主要是两个步骤:一是:下载离线地图服务需要的地图数据:二是:将下载的离线地图数据发布成地图服务:只有做好这两步,才能有接下来的二次开发和行业应用. 前面已经介绍了安装离线地图服务器程序 ...

最新文章

  1. MyEclipse 9.x Professional/blue/spring/bling 下载与破解
  2. 洲际的merlin怎么用_洲际merlin登陆
  3. abap--关于sap地址,传真,邮箱的地址读取
  4. tornado 表单 post 提交
  5. 拥有您的堆:使用JVMTI迭代类实例
  6. angular 获取ng-repeat完成状态 $last
  7. uc浏览器将在印度推出电商服务
  8. html5鼠标下拉浮窗固定,【前端技术】vue-floating-menu可拖拽吸附的浮窗菜单
  9. 校园PHP表白墙程序源码
  10. 汇编 MOVSX与MOVZX 指令
  11. 省市区三级行政区划数据JS插件
  12. AndroidHttpCapture抓包工具
  13. 2022全新趣盒iapp源码带后台非常好看UI
  14. 零基础应如何学习UI设计
  15. C Prime plus 第七章练习题
  16. php yii2 ddd,Xunsearch SDK for PHP/yii2
  17. 你知道什么是 Figma 吧
  18. 计算机的码片是指什么作用,计算机通信作业共有四个站进行码分多址的CDMA通信4个站的码片 爱问知识人...
  19. python制作qq登录界面_用Python实现一个最新QQ办公版(TIM)的登录界面
  20. 无法解析该名称 outlook必须处于联机,控制面板删除账户

热门文章

  1. 无线调试服务器,从无线局域网控制器(WLC)的收集的调试
  2. 项目38.2 打豆豆
  3. Google退出中国对Android的影响
  4. 目录和文件暴露在根目录下的 nginx 配置演示
  5. vue微信小程序uniapp添加悬浮菜单
  6. 【每周一本书】之《深度学习核心技术与实践》:“小猿搜题”团队倾力之作...
  7. 恒源云(GPUSHARE)_CV论文笔记之CE-FPN(通道增强特征金字塔网络)
  8. 【QA那些事儿】视频SDK测试介绍
  9. mysql数据类型单选类型_单选按钮的mysql数据类型是什么?
  10. Soap UI工具初探