转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com)

部署Postgresql和部署PostGis请参考前两篇文章

本文主要参考GitHub上osm2pgsql的说明文档

1. 先安装Git

sudo yum install git -y

2. 下载osm2pgsql源码

cd ~

git clone git://github.com/openstreetmap/osm2pgsql.git

在GitHub上下载文档实在是慢的难以忍受,建议还是使用 wget -O osm2pgsql-master.zip https://codeload.github.com/openstreetmap/osm2pgsql/zip/master 下载,或者干脆用迅雷下载好,再想办法放到CentOS中。

如果下载的文件是zip格式,那么就需要使用unzip将文件解压,先使用 sudo yum install unzip -y 安装unzip,然后再使用 unzip osm2pgsql-master.zip 解压。

3. 安装依赖包

请确保epel-release已经安装了

sudo yum install cmake gcc-c++ boost-devel expat-devel zlib-devel bzip2-devel postgresql-devel geos-devel proj-devel proj-epsg lua-devel -y

4. 进入osm2pgsql源码目录,进行配置编译安装

cd osm2pgsql-master

mkdir build && cd build

#如果是照着前两篇文章一直走到这里,有可能在cmake时报POSTGRESQL***目录找不到之类的错误,
#解决办法是重启电脑,然后清除/tmp/osm2pgsql-master/build目录下所有文件和文件夹,重新使用cmake ..命令
cmake .. make sudo make install

-------------------------2016年11月10更新-------------------------

如果在cmake .. 配置过程中出现Could not find Postgresql (missing PostgreSQL_LIBRARY_DIRS...之类的错误,请尝试使用下列命令执行后,再次cmake ..

sudo yum install postgresql95-devel

-------------------------2016年11月10更新-------------------------

验证安装 osm2pgsql -version ,版本号显示出来了,但是下面莫名奇妙的出了一个错误提示,貌似没啥影响,处女座的朋友可以不验证,哈哈...

5. 导入osm数据(不包含openstreetmap-carto样式)

openstreetmap中国数据下载地址:http://download.geofabrik.de/asia.html

为了postgres有访问权限,建议将china-latest.osm.pbf下载到/tmp目录下

如果你是看了《CentOS7部署PostGis》之后再看这里,那么就安装下hstore扩展,如果你没有阅读这篇文章,请在此先参考下如何建一个PostGis数据库,安装hstore扩展(有关更多hstore信息,请参见这里和这里):

su postgres

psql -d chinaosmgisdb;

CREATE EXTENSION hstore;

\q

正式导入数据

osm2pgsql -s -U think8848 -H 127.0.0.1 -P 5432 -W -d chinaosmgisdb /tmp/china-latest.osm.pbf

6. 导入openstreetmap-carto样式

先下载openstreetmap-carto,然后解压,最后复制到/home/postgresql_data中

cd /tmp

wget -O openstreetmap-carto-master.zip https://codeload.github.com/gravitystorm/openstreetmap-carto/zip/master

unzip openstreetmap-carto-master.zip

mv openstreetmap-carto-master /home/postgresql_data

做好准备工作后就可以导入了

su postgres

osm2pgsql -s -U think8848 -H 127.0.0.1 -P 5432 -W -d chinaosmgisdb /tmp/china-latest.osm.pbf --style /home/postgresql_data/openstreetmap-carto-master/openstreetmap-carto.style

经过一会儿的等待,就导入OK了。

[原]CentOS7部署osm2pgsql的更多相关文章

  1. [原]CentOS7部署PostGis

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 本文参考了<An almost idiot's guide to install Pos ...

  2. [原]CentOS7 部署GeoServer2.92

    转载请注明作者think8848和出处(http://think8848.cnblogs.com) 1. 安装Jre 1. 安装ftp客户端 sudo yum install ftp -y 2. 登录 ...

  3. centos7 部署ssserver

    centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...

  4. centos7 部署 docker compose

    =============================================== 2019/4/10_第1次修改                       ccb_warlock == ...

  5. centos7 部署 docker ce

    =============================================== 2019/4/9_第1次修改                       ccb_warlock === ...

  6. centos7 部署 open-falcon 0.2.0

    =============================================== 2019/4/29_第3次修改                       ccb_warlock 更新 ...

  7. centos7 部署 docker、shipyard

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  8. centos7 部署 docker swarm

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  9. CentOS7部署Nginx

    CentOS7部署Nginx 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要openssl库,直接通过yu ...

随机推荐

  1. 分布式系统理论进阶 - Paxos变种和优化

    引言 <分布式系统理论进阶 - Paxos>中我们了解了Basic Paxos.Multi Paxos的基本原理,但如果想把Paxos应用于工程实践,了解基本原理还不够. 有很多基于Pax ...

  2. scikit-learn一般实例之四:管道的使用:链接一个主成分分析和Logistic回归

    主成分分析(PCA)进行无监督的降维,而逻辑回归进行预测. 我们使用GridSearchCV来设置PCA的维度 # coding:utf-8 from pylab import * import nu ...

  3. Razor基础语法一

    目录: 什么是Razor? 渲染HTML Razor语法 隐式 Razor 表达式 显式 Razor 表达式 什么是Razor? Razor是基于服务端代码转换成网页的标记语法.语法主要包括Razor ...

  4. java动态代理的2种实现方式

    java的动态代理在接java的api上有说明,这里就不写了.我理解的代理: 对特定接口中特定方法的功能进行扩展,这就是代理.代理是通过代理实例关联的调用处理程序对象调用方法. 下面通过一个例子看一下 ...

  5. Java - 网络编程

    Java的网络编程学习,关于计算机基础的学习参考:计算机网络基础学习 - sqh.     参考:  

  6. 开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲

    [开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 一.概述 经过一个多月晚上的时间,终于把开源物联网通讯框架ServerSuperIO成功移植到Windows10 IOT上, ...

  7. [连载]《C#通讯(串口和网络)框架的设计与实现》- 13.中英文版本切换设计

    目       录 第十三章     中英文版本切换设计... 2 13.1        不用自带的资源文件的理由... 2 13.2        配置文件... 2 13.3        语言 ...

  8. instanceof 运算符

    java中的instanceof=======>二元运算符 用法: result = object instanceof class 参数: result 是boolean类型 object 是 ...

  9. video/audio在ios/android上播放兼容

    1.audio自动播放 <audio src='xxx.mp3' autoplay></audio> 上面是audio标签autoplay属性是自动播放,但是在安卓部分浏览器和 ...

  10. ES6之数组扩展方法【一】(相当好用)

    form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...