[原]CentOS7部署osm2pgsql
转载请注明原作者(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的更多相关文章
- [原]CentOS7部署PostGis
转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 本文参考了<An almost idiot's guide to install Pos ...
- [原]CentOS7 部署GeoServer2.92
转载请注明作者think8848和出处(http://think8848.cnblogs.com) 1. 安装Jre 1. 安装ftp客户端 sudo yum install ftp -y 2. 登录 ...
- centos7 部署ssserver
centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...
- centos7 部署 docker compose
=============================================== 2019/4/10_第1次修改 ccb_warlock == ...
- centos7 部署 docker ce
=============================================== 2019/4/9_第1次修改 ccb_warlock === ...
- centos7 部署 open-falcon 0.2.0
=============================================== 2019/4/29_第3次修改 ccb_warlock 更新 ...
- centos7 部署 docker、shipyard
=============================================== 2019/4/9_第3次修改 ccb_warlock 更新说 ...
- centos7 部署 docker swarm
=============================================== 2019/4/9_第3次修改 ccb_warlock 更新说 ...
- CentOS7部署Nginx
CentOS7部署Nginx 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要openssl库,直接通过yu ...
随机推荐
- GitHub更新自己Fork的项目
转自:http://www.tuicool.com/articles/MzMJre github上有个功能叫fork,可以将别人的工程复制到自己账号下.这个功能很方便,但其有一个缺点是:当源项目更新后 ...
- 求解第N个素数
任务 求解第 10,0000.100,0000.1000,0000 ... 个素数(要求精确解). 想法 Sieve of Eratosthenes 学习初等数论的时候曾经学过埃拉托斯特尼筛法(Sie ...
- 还是俄罗斯方块之android版
前面的,口水话 请直接跳过. 虽然现在不比以前了 也没多少人气了,放到首页 都不到几百的点击量.也许博客园整体水平也是在往水的方向发展.不谈那些了,哥也曾经辉煌过 有过一天上千的点击量 ,哥也曾经有过 ...
- WIN7下查看CPU核心数
方法一 WIN+R输入cmd,输入wmic,输入cpu get *(注意空格),找到numberofcores和numberoflogicalprocessors,如下图为双核4线程,真核心数是2,使 ...
- Spring MVC中文文档翻译发布
前后经过九个月,我翻译的Spring MVC官方4.2.4版本中文文档可以发布第一个较为完整的版本了.译文上尽量做到准确并且符合中文习惯,让人能读懂,能理解.现全文发布如下,也希望它能够给出其价值,并 ...
- 『.NET Core CLI工具文档』(十二)dotnet-pack
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-pack 翻译:dotnet-pack 名称 dotnet-pack - 将代码打包成 NuGet 包 概 ...
- 你所不知道的linq
问题的提出 昨天在qq群问了一个linq的问题被人鄙视了.题目大概类似于 var reuslt=from s in new List<string>() select s; 问from.. ...
- jQuery版AJAX简易封装
开发过程中,AJAX的应用应该说非常频繁,当然,jQuery的AJAX函数已经非常好用,但是小编还是稍微整理下,方便不同需求下,可以简化输入参数,下面是实例代码: $(function(){ /** ...
- TYPESDK手游聚合SDK服务端设计思路与架构之三:流程优化之订单保存与通知
经过前两篇文字的分析与设计,我们已经可以搭建出一个能够支持多游戏多渠道的聚合SDK服务端,但这只是理想化状态下的一个简化模型.如果接入渠道的逻辑都是按照理想化的简化过程来构建,那么对于支付的请求,我们 ...
- 转 threejs中3D视野的缩放实现
Threejs基础部分学习知道透视相机new THREE.PerspectiveCamera(fov, aspect , near,far)中. fov视野角(拍摄距离)越大,场景中的物体越小.fov ...