0.Ubuntu16.04下OpenStreetMap安装指南

以下资料形成参考:http://blog.csdn.net/goldenhawking/article/details/7952303

GIS相关的开源软件和Ubuntu结合的更好,很多依赖都可以直接从源安装,在CentOS7上折腾确实是艰难的决定。
更进一步,OSGEO这个组织对Lubuntu16.04做了进一步的改造,直接推出安装几乎所有GIS相关软件的ISO镜像,真是我这种初学者的好福利啊。详情请看'http://www.osgeo.org/'

1.系统部署

绝大部分软件都已经是安装好的状态,少部分需要手动安装。

1.1 安装系统依赖

sudo apt-get update  
sudo apt-get dist-upgrade  
sudo apt-get install  libmapnik-dev libmapnik3.0 apache2-dev openssh-server lrzsz p7zip-full ttf-unifont

1.2 提升www-data权限

sudo vim /etc/passwd
改为/bin/bash

2.数据库配置

参考 Centos7部署PostGIS 部分

3.配置mapnik-style

3.1 下载mapnik-style

sudo mkdir /var/lib/mod_tile  
cd /var/lib/mod_tile  
sudo chown  www-data:www-data -R /var/lib/mod_tile
sudo su www-data
svn co http://svn.openstreetmap.org/applications/rendering/mapnik mapnik-style

注意:

vim mapnik-style/inc/fontset-settings.xml.inc.template

替换

unifont Medium 为 Unifont Medium

3.2下载世界,海岸线地图数据

以下五个文件从mapnik-style中get-coastlines.sh文件获取下载地址,可能有变化

http://tile.openstreetmap.org/world_boundaries-spherical.tgz
http://tile.openstreetmap.org/processed_p.tar.bz2
http://tile.openstreetmap.org/shoreline_300.tar.bz2
http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places.zip
http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_boundary_lines_land.zip

解压world_boundaries下载步骤中的五个文件,取出所有的文件,并放到world_boundaries中

sudo mv world_boundaries /usr/local/share/

3.3 生成OSM.XML

cd /mapnik-style  
./generate_xml.py --world_boundaries=/usr/local/share/world_boundaries --host=127.0.0.1 --port=5432 --user=osmgis --password=1 --dbname=osmgis

3.4测试渲染

./generate_image.py

保存后,直接执行,如果没错,就出现了 image.png

4.部署mod_tile

git clone https://github.com/openstreetmap/mod_tile

4.1 编译与安装

cd mod_tile  
./autogen.sh  
./configure  
make  
sudo make install  
sudo make install-mod_tile  
sudo ldconfig

4.2导入mod_tile

sudo vim /etc/apache2/mods-available/mod_tile.load

里面添加一行:

LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so 

生效

cd /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/mod_tile.load

5.配置瓦片渲染后台服务renderd

5.1创建文件夹

sudo mkdir /var/run/renderd  
sudo chown www-data /var/run/renderd 

5.2配置renderd

sudo vim /usr/local/etc/renderd.conf

做一下配置:

[renderd]  
;把socketname设置到刚才创建的文件夹里  
socketname=/var/run/renderd/renderd.sock  
num_threads=4  
tile_dir=/var/lib/mod_tile  
stats_file=/var/run/renderd/renderd.stats  

[mapnik]  
plugins_dir=/usr/lib/mapnik/3.0/input  
font_dir=/usr/share/fonts/truetype
font_dir_recurse=1  

[default]  
URI=/osm_tiles/  
XML=/var/lib/mod_tile/mapnik-style/osm.xml
HOST=localhost  
;HTCPHOST=proxy.openstreetmap.org

5.3 设置用户访问网页的入口点

sudo vim  /etc/apache2/sites-available/000-default.conf  

加入

 LoadTileConfigFile /usr/local/etc/renderd.conf
 ModTileRenderdSocketName /var/run/renderd/renderd.sock
 ModTileRequestTimeout 0
 ModTileMissingRequestTimeout 30 

5.4测试

cd  /var/lib/mod_tile  
sudo su www-data  
renderd -f -c /usr/local/etc/renderd.conf

网页打开:

http://192.168.15.137/osm_tiles/0/0/0.png

修改时间戳:

sudo touch /var/lib/mod_tile/planet-import-complete  
sudo chown www-data /var/lib/mod_tile/planet-import-complete

6.OpenLayer

wget http://www.openstreetmap.org/openlayers/OpenStreetMap.js    

6.1部署

sudo mv OpenStreetMap.js /var/www/html/openlayers
sudo chmod +r -R /var/www/html/openlayers

6.2html

sudo vim /var/www/html/map.html

写入

  
  
    OSM Local Tiles  
      
      
      
      

      

      

  
  
  
      
    

start screen

6.3访问测试

http://192.168.15.137/map.html

你可能感兴趣的:(0.Ubuntu16.04下OpenStreetMap安装指南)