zoukankan      html  css  js  c++  java
  • ubuntu使用postgist,pgrouting

    安装过程

    一 :所需组件
    1 PostgreSQL 9.4 or higher.
    2 Proj4 .reprojection library.
    3 GEOS .geometry library.
    4 LibXML2. LibXML2 is currently used in some imports functions
    5 JSON-C. JSON-C is currently used to import GeoJSON via the function ST_GeomFromGeoJson.
    6 GDAL.
    以上所需组件最好下载源码安装。

    二: 环境信息
    Postgresql: 9.4.2
    Postgis:    2.2
    pgrouting: 2.2
    OS :  Ubuntu 15.04
    查看方法:
    routedb_test=# select postgis_version();
                postgis_version            
    ---------------------------------------
     2.2 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
    (1 row)

    routedb_test=# select postgis_version();
                postgis_version            
    ---------------------------------------
     2.2 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
    (1 row)

    cat /etc/issue

    Ubuntu 15.04

    三: 安装依赖包

    --3.1 安装 proj
    下载地址: http://trac.osgeo.org/proj/
    --简要步骤
    # mkdir -p /home/postgres/pg_tool/proj
    #./configure --prefix=/home/postgres/pg_tool/proj
    #  make
    #  make install
     备注:安装过程中没报错,并且 /home/postgres/pg_tool/proj 目录下有文件,说明 proj 安装成功。
     
    --3.2 安装 geos
    下载地址:  http://trac.osgeo.org/geos/
    --简要步骤   
    # mkdir -p /home/postgres/pg_tool/geos
    # ./configure --prefix=/home/postgres/pg_tool/geos --enable-python --enable-ruby
    # make
    # make check
    # make install
     
    --3.3 安装 JSON-C
    下载地址: http://oss.metaparadigm.com/json-c/
    --简要步骤    
    # wget http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz
    # mkdir -p /home/postgres/pg_tool/json
    # sh autogen.sh
    # ./configure --prefix=/home/postgres/pg_tool/json
    # make
    # make install
     
    --3.4 安装 GDAL
    下载地址:http://trac.osgeo.org/gdal/wiki/DownloadSource
    --简要步骤  
    # mkdir -p /home/postgres/pg_tool/gdal
    # ./configure  --prefix=/home/postgres/pg_tool/gdal
    # make
    # make install  
     
    --3.5 安装 libxml2
    # sudo apt-get install libxml2-dev
    备注:也可以在 http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html 下载。

    --3.6 安装 postgis-2.2
    --3.6.1  .bash_profile 新增以下环境变量
    export PROJ_HOME=/home/postgres/pg_tool/proj
    export GEOS_HOME=/home/postgres/pg_tool/geos
    export GDAL_HOME=/home/postgres/pg_tool/gdal
    export JSON_HOME=/home/postgres/pg_tool/json
    export LD_LIBRARY_PATH=$GDAL_HOME/lib:$JSON_HOME/lib:$PROJ_HOME/lib:$GEOS_HOME/lib
    备注:编缉完成后,执行.bash_profile 立即生效。

    -- 3.6.2 下载  postgis-2.2
      下载地址: http://postgis.refractions.net/download/

    --3.6.3  configure
    # ./configure --with-pgconfig=/opt/pgsql9.2.3/bin/pg_config --with-projdir=/home/postgres/pg_tool/proj  --with-geosconfig=/home/postgres/pg_tool/geos/bin/geos-config --with-gdalconfig=/home/postgres/pg_tool/gdal/bin/gdal-config --with-jsondir=/home/postgres/pg_tool/json
    备注:执行 configure 之后,如果没报错,会出现以下信息:
    如图1


    --3.6.4 编译并安装
    # make
    # make check
    # sudo make install (注意需要sudo)

    --3.7 安装 pgrouting2.2
    下载地址:https://github.com/pgRouting/pgrouting
    --简要步骤  
    # cd pgrouting
    # makedir build
    # cd build
    # cmake ..
    # make
    # sudo make install
    备注:需要安装依赖的包 libboost-thread-dev,libcgal-dev
    详情阅读源码里的README.md
    FAQ
    Q1:create extension postgis
    ERROR:  could not load library "/home/postgres/pg/pgsql/lib/postgis-2.2.so": libproj.so.9: cannot open shared object file: No such file or directory
    A1:安装postgis需要启动postgresql,注意把postgresql安装路径配置到path路径下,主要不要使用最新版本的postgresql
    Q2:出现如图2所示错误


    A2:注意不要安装最新版本的postgresql,最好apt-cache search postgresql
    查看一下本系统支持的稳定版本的postgresql,其他如Q1
    Q3:-1: error: collect2: ld returned 1 exit status
    A3:注意gcc,和g++是否安装,sudo apt-get install build-essential bison libc6-dev
    Q4:ERROR:AM_PROG_LIBTOOL command not found
    A4:安装libtool包,执行 autoreconf -fvi 注意:最好需要重新生成configure文件,重新make
    Q5:还有其他问题
    A5:看一下readme.md里依赖的包安装没有,查看出错信息,定位错误原因,然后谷歌搜答案

  • 相关阅读:
    样式超出设定宽度显示显示省略号
    客户端存在潜在危险request.from
    MenuStrip如何设置快捷键
    SVN的使用方法
    长串英文字符不换行的解决办法
    thickbox使用
    System.Web.UI.UserControl”,因此此处不允许
    C#中实现拖动无边框Form窗体和窗体的起始位置
    (转)Altera Forum精彩问答汇总
    (转)如何以32 bit的方式存取SDRAM?
  • 原文地址:https://www.cnblogs.com/codeblock/p/5237149.html
Copyright © 2011-2022 走看看