zoukankan      html  css  js  c++  java
  • [原]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了。

     

  • 相关阅读:
    Js实现页面处理器
    自定类型转换
    为什么PHP5中保存cookie以后,要刷新一次才能读取cookie的内容?
    PHP不不支持函数重载
    JS 省市区三级联动
    我喜欢的酷站
    网站宽度设置多少
    Windows环境下Node.js 以及NPM和CoffeeScript的安装配置
    HTML中Meta详解
    搭建SVN
  • 原文地址:https://www.cnblogs.com/think8848/p/6011073.html
Copyright © 2011-2022 走看看