转载请注明原作者(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. js获取屏幕宽高

    最近想自己实现一个全屏滚动. 结果一开始就遇到了问题.因为不知道如何获取一个页面屏幕的高度. 网上所有的博客都是复制粘贴. 网页可见区域宽:document.body.clientWidth 网页可见 ...

  2. 浅谈css的伪元素::after和::before

    css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和::before仍不是特别了解,究竟他们是做什么的?如何 ...

  3. IL初步了解

    一.概述: 近来也是在看AOP方面的东西,了解到Emit可以实现.之前对Emit的了解也就是停留在Reflector针对方法反编译出来的部分指令.就用这次机会学习下Emit也用这篇随笔记录下学习的过程 ...

  4. 执行插入语句,object val = cmd.ExecuteScalar() val = null

    在写接口的过程中遇到错误:空对象不能转换为值类型 因为我们使用的是petapoco,经过调试后发现是 object val = cmd.ExecuteScalar() 这一句造成的报错, val = ...

  5. C#调用SendMessage 用法

    函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.该函数是应用程序和应用程序之间进行消息传递的主要手段之一.    函数原型:LRESUL ...

  6. 设计模式(十)组合模式(Composite Pattern)

    一.引言 在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系统中目录的处理就是这样的一个例子,因为目录可以包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的,由于简单对象 ...

  7. spring aop注解方式与xml方式配置

    注解方式 applicationContext.xml 加入下面配置 <!--Spring Aop 启用自动代理注解 --> <aop:aspectj-autoproxy proxy ...

  8. CodeMirror简介

    Javascript由于其作为Web标准的独特地位,很多人甚至希望它能一统前后端开发. Javascript的本质工作首先肯定的Web前端开发,本文主要想介绍的CodeMirror是一款Web Edi ...

  9. 2015年软件测试STATE报告

    STATE OF TESTING 2015 Report 测试职业的地理位置分配 大部分有5年以上工作经验 大部分是Test Leader   测试工程师角色   测试工程师怎么工作的? 测试中的软件 ...

  10. Jsp语法简介

    1.JSP指令 jsp指令用来设置整个JSP网页想关闭的属性,如网页的编码和脚本语言等.常用的3种指令为page,include和taglib. 2.JSP声明 jsp声明用于声明JSP代表的Serv ...