Geoserver发布OSM官网地图

一、前言

       在Geoserver发布地图中,数据获取与处理、图层样式调节是最繁琐最复杂的工作,最近一直在寻找Geoserver能不能直接发布OSM官网地图使用OSM官方样式,最终实现OSM官方地图的离线发布。每次进Geoserver官网左侧有官方发布的OSM地图,通过F12查看网络请求链接为Geoserver发布的地图服务。

Geoserver发布OSM官网地图_第1张图片       在官网文档搜索,确实发现了Geoserver发布OSM地图的项目说明,在Geosolution也提到了发布OSM地图相关说明,因此在Github搜索发现了该项目。下面将讲述如何发布OSM官方地图。

二、准备工作

1.下载Github项目:GitHub - geosolutions-it/osm-styles: OSM Bright styles for GeoServer (at last!)

2.安装Geoserver,需要安装的插件(插件版本要与Geoserver版本一致):

geoserver-2.19.2-css-plugin.zip、geoserver-2.19.2-feature-pregeneralized-plugin.zip

3. 准备一台Linux系统服务器,用到的Imposm工具只能Linux系统上运行,推荐VMware虚拟机安装Linux系统

4.下载Imposm工具:imposm-0.11.1-linux-x86-64.tar.gz

5.下载GeoPackage-1.9 GB数据: https://www.dropbox.com/s/bqzxzkpmpybeytr/osm-lowres.gpkg?dl=1

4.下载.osm.pbf格式数据:Geofabrik Download Server

三、安装步骤

1.安装Geoserver插件

        下载的插件压缩包解压,将其中jar包放到.../geoserver/WEB-INF/lib目录下,Tomcat安装的位置在 tomcat安装目录/webapps/geoserver/WEB-INF/lib,geoserver-版本号-bin单独安装的位置在geoserver-2.19.2-bin/webapps/geoserver/WEB-INF/lib

Geoserver发布OSM官网地图_第2张图片

 2.Linux虚拟机安装Imposm

        Linux安装教程网上很多,可根据Vmware上安装Linux(centos7)图文教程安装,使用连接SSH工具连接。这里主要讲述如何安装Imposm。

        将下载的imposm-0.11.1-linux-x86-64.tar.gz安装包上传到Linux系统中,使用解压命令解压

tar -zxvf imposm-0.11.1-linux-x86-64.tar.gz

Geoserver发布OSM官网地图_第3张图片

查看版本号:

[root@localhost ~]# cd imposm-0.11.1-linux-x86-64/
[root@localhost imposm-0.11.1-linux-x86-64]# ./imposm version
0.11.1
[root@localhost imposm-0.11.1-linux-x86-64]# 

3.Postgres创建名为osm数据库

Geoserver发布OSM官网地图_第4张图片

添加Postgis扩展:CREATE EXTENSION postgis;

4.Imposm导入OSM数据

        由于全国数据量太大,以下载台湾OSM数据为例:taiwan-latest.osm.pbf,将下载数据放入Linux中imposm-0.11.1-linux-x86-64根目录下。

Geoserver发布OSM官网地图_第5张图片

          将GitHub下载的 osm-styles 项目中的osm-styles-master/imposm/dump-pg.sh和osm-styles-master/imposm/mapping.yml导入Linux中imposm-0.11.1-linux-x86-64根目录下。

Geoserver发布OSM官网地图_第6张图片

        数据库连接链接:postgis://用户名:密码@windows系统本机的ip地址:端口/数据库名,先后执行下面命令导入数据:

./imposm import -mapping mapping.yml -read taiwan-latest.osm.pbf

./imposm import -mapping mapping.yml -write -connection postgis://postgres:[email protected]:5432/osm -overwritecache

        执行第一个命令读取osm文件:

Geoserver发布OSM官网地图_第7张图片

         执行第二个命令,将osm数据导入pg数据库,等待导入完成:

Geoserver发布OSM官网地图_第8张图片

Geoserver发布OSM官网地图_第9张图片

 5.查看导入数据

        QGIS连接数据库查看:

Geoserver发布OSM官网地图_第10张图片

四、发布OSM地图

 1. 将GitHub下载的 osm-styles 项目解压,除imposm全部替换到.../webapps/geoserver/data目录下,里面包含了图层、图层组、各个图层样式等。

Geoserver发布OSM官网地图_第11张图片

 2.将下载的GeoPackage-1.9 GB数据,放入../webapps/geoserver/data/data目录下

Geoserver发布OSM官网地图_第12张图片

 3.启动Geoserver,插件必须提前安装,修改osm数据存储的用户名、密码、数据库名等

Geoserver发布OSM官网地图_第13张图片

 ${}都是需要填写的参数

Geoserver发布OSM官网地图_第14张图片

 注意schema参数是import,不是public

Geoserver发布OSM官网地图_第15张图片

 五、预览OSM地图

1.点击“Layer Preview”查看预览图层组,包含了不同主题的OSM地图 

Geoserver发布OSM官网地图_第16张图片

 2.osm默认主题地图

Geoserver发布OSM官网地图_第17张图片

Geoserver发布OSM官网地图_第18张图片

Geoserver发布OSM官网地图_第19张图片

Geoserver发布OSM官网地图_第20张图片

Geoserver发布OSM官网地图_第21张图片

可以看出和OSM官网地图样式完全一致!

3.simple_dark暗黑主题

Geoserver发布OSM官网地图_第22张图片

Geoserver发布OSM官网地图_第23张图片

Geoserver发布OSM官网地图_第24张图片

Geoserver发布OSM官网地图_第25张图片

 4.simple_light主题

Geoserver发布OSM官网地图_第26张图片

Geoserver发布OSM官网地图_第27张图片

你可能感兴趣的:(Geoserver,OSM,OSM,Openstreetmap,Geoserver,OSM官方地图,OSM离线地图)