设为首页 收藏本站
查看: 410|回复: 0

[经验分享] Linux 平台PostGIS安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-17 08:53:30 | 显示全部楼层 |阅读模式
1.前提条件:
postgresql 9.6.1 已经通过源码方式安装完成并可成功运行。

2. other OS packets
OS: CentOS 6.4 X64
X64: libxml2-devel

3.geos-3.6.0

http://download.osgeo.org/geos/geos-3.6.0.tar.bz2

# tar xjvf geos-3.6.0.tar.bz2
./configure
......
......
......
config.status: executing libtool commands
Swig: false
Python bindings: false
Ruby bindings: false
# make
......
......
make[3]: Leaving directory `/home/soft/geos-3.6.0/tests/geostest'
Making all in thread
make[3]: Entering directory `/home/soft/geos-3.6.0/tests/thread'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/soft/geos-3.6.0/tests/thread'
make[3]: Entering directory `/home/soft/geos-3.6.0/tests'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/soft/geos-3.6.0/tests'
make[2]: Leaving directory `/home/soft/geos-3.6.0/tests'
Making all in tools
make[2]: Entering directory `/home/soft/geos-3.6.0/tools'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/soft/geos-3.6.0/tools'
make[2]: Entering directory `/home/soft/geos-3.6.0'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/soft/geos-3.6.0'
make[1]: Leaving directory `/home/soft/geos-3.6.0'
# make install
......
......
Making install in tools
make[2]: Entering directory `/home/soft/geos-3.6.0/tools'
make[3]: Entering directory `/home/soft/geos-3.6.0/tools'
/bin/mkdir -p '/usr/local/bin'
/usr/bin/install -c geos-config '/usr/local/bin'
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/soft/geos-3.6.0/tools'
make[2]: Leaving directory `/home/soft/geos-3.6.0/tools'
make[2]: Entering directory `/home/soft/geos-3.6.0'
make[3]: Entering directory `/home/soft/geos-3.6.0'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/soft/geos-3.6.0'
make[2]: Leaving directory `/home/soft/geos-3.6.0'
make[1]: Leaving directory `/home/soft/geos-3.6.0'
#

4.proj4

http://download.osgeo.org/proj/proj-4.9.3.tar.gz

# tar zxvf proj-4.9.3.tar.gz
# cd proj-4.9.3
# ./configure
# make
......
......
make[2]: Leaving directory `/home/soft/proj-4.9.3/jniwrap'
make[1]: Leaving directory `/home/soft/proj-4.9.3/jniwrap'
Making all in cmake
make[1]: Entering directory `/home/soft/proj-4.9.3/cmake'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/soft/proj-4.9.3/cmake'
make[1]: Entering directory `/home/soft/proj-4.9.3'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/home/soft/proj-4.9.3'
#
# make install
......
......
make[2]: Nothing to be done for `install-exec-am'.
/bin/mkdir -p '/usr/local/lib/pkgconfig'
/usr/bin/install -c -m 644 proj.pc '/usr/local/lib/pkgconfig'
make[2]: Leaving directory `/home/soft/proj-4.9.3'
make[1]: Leaving directory `/home/soft/proj-4.9.3'
#




5.gdal

http://download.osgeo.org/gdal/2.1.2/gdal-2.1.2.tar.gz


export LD_LIBRARY_PATH=/opt/pgsql/9.6.1/lib
export PATH=/opt/pgsql/9.6.1/bin:$PATH
export MANPATH=/opt/pgsql/9.6.1/share/man:$MANPATH

# ./configure
......
......

GDAL is now configured for x86_64-pc-linux-gnu

  Installation directory:    /usr/local
  C compiler:                gcc -g -O2
  C++ compiler:              g++ -g -O2

  LIBTOOL support:           yes

  LIBZ support:              external
  LIBLZMA support:           no
  cryptopp support:          no
  GRASS support:             no
  CFITSIO support:           no
  PCRaster support:          internal
  LIBPNG support:            internal
  DDS support:               no
  GTA support:               no
  LIBTIFF support:           internal (BigTIFF=yes)
  LIBGEOTIFF support:        internal
  LIBJPEG support:           internal
  12 bit JPEG:               yes
  12 bit JPEG-in-TIFF:       yes
  LIBGIF support:            internal
  OGDI support:              no
  HDF4 support:              no
  HDF5 support:              no
  Kea support:               no
  NetCDF support:            no
  Kakadu support:            no
  JasPer support:            no
  OpenJPEG support:          no
  ECW support:               no
  MrSID support:             no
  MrSID/MG4 Lidar support:   no
  MSG support:               no
  GRIB support:              yes
  EPSILON support:           no
  WebP support:              no
  cURL support (wms/wcs/...):no
  PostgreSQL support:        yes
  MRF support:               yes
  MySQL support:             no
  Ingres support:            no
  Xerces-C support:          no
  NAS support:               no
  Expat support:             no
  libxml2 support:           yes
  Google libkml support:     no
  ODBC support:              no
  PGeo support:              no
  FGDB support:              no
  MDB support:               no
  PCIDSK support:            internal
  OCI support:               no
  GEORASTER support:         no
  SDE support:               no
  Rasdaman support:          no
  DODS support:              no
  SQLite support:            no
  PCRE support:              yes
  SpatiaLite support:        no
  DWGdirect support          no
  INFORMIX DataBlade support:no
  GEOS support:              yes
  QHull support:             internal
  Poppler support:           no
  Podofo support:            no
  PDFium support:            no
  OpenCL support:            no
  Armadillo support:         no
  FreeXL support:            no
  SOSI support:              no
  MongoDB support:           no


  SWIG Bindings:             no

  Statically link PROJ.4:    no
  enable GNM building:       no
  enable pthread support:    yes
  enable POSIX iconv support:yes
  hide internal symbols:     no

# make
......
......
.so -lpq -lpthread -lrt -ldl -lpcre -lxml2 -lz  -Wl,-rpath -Wl,/usr/local/lib
make[1]: Leaving directory `/home/soft/gdal-2.1.2/apps'
rm -f gdal.pc
echo 'CONFIG_VERSION='`cat ./VERSION`'' >> gdal.pc
echo 'CONFIG_INST_PREFIX=/usr/local' >> gdal.pc
echo 'CONFIG_INST_LIBS=-L/usr/local/lib -lgdal' >> gdal.pc
echo 'CONFIG_INST_CFLAGS=-I/usr/local/include' >> gdal.pc
echo 'CONFIG_INST_DATA=/usr/local/share/gdal/data' >> gdal.pc
cat gdal.pc.in >> gdal.pc
# make install
......
......
make[1]: Leaving directory `/home/soft/gdal-2.1.2/scripts'
for f in LICENSE.TXT data/*.* ; do /home/soft/gdal-2.1.2/install-sh -c -m 0644 $f /usr/local/share/gdal ; done
/bin/sh /home/soft/gdal-2.1.2/libtool --mode=finish --silent /usr/local/lib
/home/soft/gdal-2.1.2/install-sh -d /usr/local/lib/pkgconfig
/home/soft/gdal-2.1.2/install-sh -c -m 0644 gdal.pc /usr/local/lib/pkgconfig/gdal.pc
#


6.postgis

export LD_LIBRARY_PATH=/opt/pgsql/9.6.1/lib
export PATH=/opt/pgsql/9.6.1/bin:$PATH
export MANPATH=/opt/pgsql/9.6.1/share/man:$MANPATH
# tar zxvf postgis-2.3.0.tar.gz
# cd postgis-2.3.0
# ./configure
......
......
config.status: executing po-directories commands

  PostGIS is now configured for x86_64-pc-linux-gnu

-------------- Compiler Info -------------
  C compiler:           gcc -g -O2
  SQL preprocessor:     /usr/bin/cpp -traditional-cpp -w -P

-------------- Dependencies --------------
  GEOS config:          /usr/local/bin/geos-config
  GEOS version:         3.6.0
  GDAL config:          /usr/local/bin/gdal-config
  GDAL version:         2.1.2
  PostgreSQL config:    /opt/pgsql/9.6.1/bin/pg_config
  PostgreSQL version:   PostgreSQL 9.6.1
  PROJ4 version:        49
  Libxml2 config:       /usr/bin/xml2-config
  Libxml2 version:      2.7.6
  JSON-C support:       no
  PCRE support:         yes
  PostGIS debug level:  0
  Perl:                 /usr/bin/perl

--------------- Extensions ---------------
  PostGIS Raster:       enabled
  PostGIS Topology:     enabled
  SFCGAL support:       disabled
  Address Standardizer support:       enabled

-------- Documentation Generation --------
  xsltproc:            
  xsl style sheets:     
  dblatex:              
  convert:              
  mathml2.dtd:          http://www.w3.org/Math/DTD/mathml2/mathml2.dtd

# make
......
......
mkdir -p sql
cat us_lex.sql us_gaz.sql us_rules.sql sql_bits/address_standardizer_data_us_mark_editable_objects.sql.in > sql/address_standardizer_data_us.sql
mkdir -p sql
cat us_lex.sql us_gaz.sql us_rules.sql sql_bits/address_standardizer_data_us_mark_editable_objects.sql.in > sql/address_standardizer_data_us--2.3.0.sql
cat sql/address_standardizer_data_us--2.3.0.sql > sql/address_standardizer_data_us--2.3.0--2.3.0next.sql
cat sql/address_standardizer_data_us--2.3.0.sql > sql/address_standardizer_data_us--2.3.0next--2.3.0.sql
mkdir -p sql
/usr/bin/cpp -traditional-cpp -w -P -I../libpgcommon test-init-extensions.sql.in | grep -v '^#' | \
        /usr/bin/perl -lpe "s'MODULE_PATHNAME'\$libdir/address_standardizer-2.3'g" > sql/test-init-extensions.sql
mkdir -p sql
/usr/bin/cpp -traditional-cpp -w -P -I../libpgcommon test-parseaddress.sql.in | grep -v '^#' | \
        /usr/bin/perl -lpe "s'MODULE_PATHNAME'\$libdir/address_standardizer-2.3'g" > sql/test-parseaddress.sql
mkdir -p sql
/usr/bin/cpp -traditional-cpp -w -P -I../libpgcommon test-standardize_address_1.sql.in | grep -v '^#' | \
        /usr/bin/perl -lpe "s'MODULE_PATHNAME'\$libdir/address_standardizer-2.3'g" > sql/test-standardize_address_1.sql
mkdir -p sql
/usr/bin/cpp -traditional-cpp -w -P -I../libpgcommon test-standardize_address_2.sql.in | grep -v '^#' | \
        /usr/bin/perl -lpe "s'MODULE_PATHNAME'\$libdir/address_standardizer-2.3'g" > sql/test-standardize_address_2.sql
make[2]: Leaving directory `/home/soft/postgis-2.3.0/extensions/address_standardizer'
make[1]: Leaving directory `/home/soft/postgis-2.3.0/extensions'
PostGIS was built successfully. Ready to install.
# make install
......
......
make[2]: Entering directory `/home/soft/postgis-2.3.0/extensions/address_standardizer'
/bin/mkdir -p '/opt/pgsql/9.6.1/lib'
/bin/mkdir -p '/opt/pgsql/9.6.1/share/extension'
/bin/mkdir -p '/opt/pgsql/9.6.1/share/extension'
/bin/mkdir -p '/opt/pgsql/9.6.1/share/doc/extension'
/usr/bin/install -c -m 755  address_standardizer-2.3.so '/opt/pgsql/9.6.1/lib/address_standardizer-2.3.so'
/usr/bin/install -c -m 644 .//address_standardizer.control '/opt/pgsql/9.6.1/share/extension/'
/usr/bin/install -c -m 644 .//address_standardizer_data_us.control .//sql/address_standardizer.sql .//sql/address_standardizer_data_us.sql .//sql/address_standardizer--1.0--2.3.0.sql .//sql/address_standardizer--2.3.0--2.3.0next.sql .//sql/address_standardizer--2.3.0next--2.3.0.sql .//sql/address_standardizer--2.3.0.sql .//sql/address_standardizer_data_us--2.3.0--2.3.0next.sql .//sql/address_standardizer_data_us--2.3.0next--2.3.0.sql .//sql/address_standardizer_data_us--2.3.0.sql  '/opt/pgsql/9.6.1/share/extension/'
/usr/bin/install -c -m 644 .//README.address_standardizer '/opt/pgsql/9.6.1/share/doc/extension/'
make[2]: Leaving directory `/home/soft/postgis-2.3.0/extensions/address_standardizer'
make[1]: Leaving directory `/home/soft/postgis-2.3.0/extensions'
#

7.创建扩展

1).进入数据库查询postgis可用扩展

postgres=# SELECT name, default_version,installed_version FROM pg_available_extensions WHERE name LIKE 'postgis%' ;
          name          | default_version | installed_version
------------------------+-----------------+-------------------
postgis_tiger_geocoder | 2.3.0           |
postgis_topology       | 2.3.0           |
postgis                | 2.3.0           |
(3 rows)

postgres=#

2).添加postgres用户lib PATH
# su - postgres
$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export LD_LIBRARY_PATH=/usr/local/lib:/opt/pgsql/9.6.1/lib
export PATH=/opt/pgsql/9.6.1/bin:$PATH
export MANPATH=/opt/pgsql/9.6.1/share/man:$MANPATH
$

3).reboot系统
创建扩展
postgres=# create database realstate;
postgres=# \c realstate ;
You are now connected to database "realstate" as user "postgres".
realstate=# create extension postgis;
CREATE EXTENSION

8.验证扩展
realstate=# \dx
                                     List of installed extensions
  Name   | Version |   Schema   |                             Description                             
---------+---------+------------+---------------------------------------------------------------------
plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language
postgis | 2.3.0   | public     | PostGIS geometry, geography, and raster spatial types and functions
(2 rows)

realstate=#


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-301461-1-1.html 上篇帖子: 局域网NTP时间同步服务器设置 下篇帖子: Linux面试题 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表