Linux 平台PostGIS安装
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 `1118.www.qixoo.qixoo.com/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 `qkxue.net/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=#
Linux 平台PostGIS安装的更多相关文章
- Linux 平台静默安装 Oracle客户端
需求:Linux平台,安装完整版Oracle客户端 Tips:如果只是用到sqlldr,sqlplus功能,可以参考<Linux上oracle精简版客户端快速部署>快速部署精简版:如果需要 ...
- 【android开发】如何在Linux平台下安装JDK环境
原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境.进入网页:http://www.ora ...
- Arduino可穿戴教程Linux平台下安装Arduino IDE
Arduino可穿戴教程Linux平台下安装Arduino IDE Linux平台下安装Arduino IDE Linux平台下的安装方式和Windows下的zip形式安装是类似的,只是Linux下的 ...
- 如何在Linux平台下安装JDK
原文链接:http://android.eoe.cn/topic/android_sdk 1.下载Java的开发包JDK: JDK有好几个类型版本,我们只需要选择Java SE类型的版本就行了. 进入 ...
- (转载)Linux平台下安装 python 模块包
https://blog.csdn.net/aiwangtingyun/article/details/79121145 一.安装Python Windows平台下: 进入Python官网下载页面下载 ...
- Linux平台下安装MySQL
1.下载RPM包 http://dev.mysql.com/downloads/mysql/5.5.html#downloads 选择[Red Hat & Oracle Enterprise ...
- c语言编译器(linux平台下安装c语言环境)一
gcc : 语言的默认编译器 (ubuntu下输入gcc,可根据终端输出查看是否安装了gcc) g++ : c++的默认编译器 (ubuntu下输入g++,可根据终端输出查看是否安装了g+ ...
- linux平台编译安装Poco C++
1.到官网下载poco-1.4.6p4-all.tar.gz,地址为http://pocoproject.org/download/index.html 2.同时下载说明文档 3.根据说明文档执行安装 ...
- Docker 在 Linux 平台的安装 以及一些常见命令
1,添加,清理 yum 源,查看应用列表 1.1,yum install -y epel-release 1.2,yum clean all 1.3,yum list (可以不运行) 2,安装, 启 ...
随机推荐
- 构造函数的return返回值
3 1. 2. 3.
- hiho一下 第六十四周 Right-click Context Menu
题目链接:hihocoder 第64周 题意概述: 上下文菜单是panel(面板)包括很多section(分区),一个分区里面至少包含一个菜单项.每一个菜单项都对应有一个子panel,这个panel可 ...
- 安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法
安装rpm包,特别是没有GPGkey校验,原因是rpm版本过低导致的. 代码如下: warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY ...
- __getattr__与__getattribute__
class Foo: def __init__(self,x): self.x=x def __getattr__(self, item): print("执行的是我----->&qu ...
- iOS不得姐项目--图片帖子模块,大图默认显示最顶部分的处理
一.刚开始的处理,设置Mode属性(self.pictureImageView.contentMode = UIViewContentModeScaleAspectFill;) 和 Clip Subv ...
- ActiveMQ(七)_伪集群和主从高可用使用
一.本文目的 介绍如何在同一台虚拟机上搭建高可用的Activemq服务,集群数量包含3个Activemq,当Activemq可用数>=2时,整个集群可用. 本 ...
- noip复习模板
我只会这么多 tarjan:codevs 1332 void tarjan(int u) { dfn[u]=low[u]=Time++; s.push(u); for(int i=head[u];~i ...
- 【HDU 5698】瞬间移动(组合数,逆元)
x和y分开考虑,在(1,1)到(n,m)之间可以选择走i步.就需要选i步对应的行C(n-2,i)及i步对应的列C(m-2,i).相乘起来. 假设$m\leq n$$$\sum_{i=1}^{m-2} ...
- iOS开发网络篇—监测网络状态(转)
文章转载自:http://www.cnblogs.com/wendingding/p/3950114.html iOS开发网络篇—监测网络状态 一.说明 在网络应用中,需要对用户设备的网络状态进行实时 ...
- IE下实现PlaceHolder
/* * jQuery placeholder, fix for IE6,7,8,9 * @author JENA * @since 20131115.1504 * @website ishere.c ...