- 浏览: 157251 次
- 性别:
- 来自: 西安
最新评论
-
jjxliu306:
windleos 写道jjxliu306 写道windleos ...
基于udig(开源GIS软件)二次开发(1) -
windleos:
jjxliu306 写道windleos 写道我下的eclip ...
基于udig(开源GIS软件)二次开发(1) -
jjxliu306:
windleos 写道我下的eclipse是4.4的,报错以后 ...
基于udig(开源GIS软件)二次开发(1) -
windleos:
我下的eclipse是4.4的,报错以后你说在udig.pro ...
基于udig(开源GIS软件)二次开发(1) -
jjxliu306:
liushuo_whu 写道如此好的博客竟然没有人顶啊谢谢
基于udig(开源GIS软件)二次开发(1)
Postgis安装手册
1、 准备
A、 需要先安装好postgresql,本人目前安装的是9.3的版本,安装过程详见:http://jjxliu306.iteye.com/blog/2222106,具体版本可以去官网下载:http://www.postgresql.org/ftp/source/ 。
B、 准备postgis安装包和相关依赖,包含:gdal-1.9.2.tar.gz geos-3.4.2.tar.bz2 postgis-2.1.7.tar.gz proj-4.9.1.tar.gz libxml2.9.2.tar.gz。具体版本自定。
2、 安装gdal、geos、proj、libxml
[pumpkin@hl231 postgis_package]$ tar zxf gdal-1.9.2.tar.gz
[pumpkin@hl231 postgis_package]$ tar xf geos-3.4.2.tar.bz2
[pumpkin@hl231 postgis_package]$ tar zxf proj-4.9.1.tar.gz
[pumpkin@hl231 postgis_package]$ tar zxf libxml2.9.2.tar.gz
- - 创建依赖的安装目录
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/geos
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/gdal
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/proj
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/libxml2
- - 安装geos
[pumpkin@hl231 postgis_package]$ cd geos-3.4.2
[pumpkin@hl231 geos-3.4.2]$ ./configure --prefix=/home/pumpkin/gis_lib/geos/
…..
[pumpkin@hl231 geos-3.4.2]$ make
……
[pumpkin@hl231 geos-3.4.2]$ make install
……
- - 安装gdal
[pumpkin@hl231 geos-3.4.2]$ cd gdal-1.9.2
[pumpkin@hl231 gdal-1.9.2]$ ./configure --prefix=/home/pumpkin/gis_lib/gdal/
….
[pumpkin@hl231 gdal-1.9.2]$ make
…..
- - 安装proj
[pumpkin@hl231 proj-4.9.1]$ ./configure --prefix=/home/pumpkin/gis_lib/proj/
….
[pumpkin@hl231 proj-4.9.1]$ make
……
[pumpkin@hl231 proj-4.9.1]$ make install
……
- - 安装libxml2
[pumpkin@hl231 proj-4.9.1]$cd ../libxml2-2.9.2/
[pumpkin@hl231 libxml2-2.9.2]$ ./configure --prefix=/home/pumpkin/gis_lib/libxml2/
…..
[pumpkin@hl231 libxml2-2.9.2]$ make
…..
[pumpkin@hl231 libxml2-2.9.2]$ make install
…..
备注:安装过程中可能会出现gcc not found的异常,这时候需要检查一下gcc是否安装或者版本太旧。(这部分依赖项太多,建议通过yum自动去打)通过命令更新和安装:
yum -y update gcc
yum -y install gcc+ gcc-c++
安装libxml2中可能会出现没找到python,那么需要安装python,需要三个包:
python-2.6.6-52.el6.x86_64.rpm ,python-devel-2.6.6-52.el6.x86_64.rpm ,python-libs-2.6.6-52.el6.x86_64.rpm 或者通过yum自动安装 :yum –y install python-devel
python默认root安装的话,可能安装libxml2中会出现写文件到/usr/lib/python目录没有权限,这时候需要手动修改一下目录权限,或者libxml2通过root用户去安装.
3、 安装postgis
[pumpkin@hl231 postgis_package]$ tar zxf postgis-2.1.7.tar.gz
[pumpkin@hl231 postgis_package]$ cd postgis-2.1.7
[pumpkin@hl231 postgis-2.1.7]$ ./configure --with-pgconfig=/home/pumpkin/pg9.3/bin/pg_config --with-projdir=/home/pumpkin/gis_lib/proj/ --with-gdalconfig=/home/pumpkin/gis_lib/gdal/bin/gdal-config --with-geosconfig=/home/pumpkin/gis_lib/geos/bin/geos-config --prefix=/home/pumpkin/pg9.3/ --with-xml2config=/home/pumpkin/gis_lib/libxml2/bin/xml2-config
…..
PostGIS is now configured for x86_64-unknown-linux-gnu
-------------- Compiler Info -------------
C compiler: gcc -g -O2
C++ compiler: g++ -g -O2
SQL preprocessor: /usr/bin/cpp -w -traditional-cpp -P
-------------- Dependencies --------------
GEOS config: /home/pumpkin/gis_lib/geos/bin/geos-config
GEOS version: 3.4.2
GDAL config: /home/pumpkin/gis_lib/gdal/bin/gdal-config
GDAL version: 1.9.2
PostgreSQL config: /home/pumpkin/pg9.3/bin/pg_config
PostgreSQL version: PostgreSQL 9.3.5
PROJ4 version: 49
Libxml2 config: /home/pumpkin/gis_lib/libxml2/bin/xml2-config
Libxml2 version: 2.9.2
JSON-C support: no
PostGIS debug level: 0
Perl: /usr/bin/perl
--------------- Extensions ---------------
PostGIS Raster: enabled
PostGIS Topology: enabled
SFCGAL support: disabled
-------- Documentation Generation --------
xsltproc: /usr/bin/xsltproc
xsl style sheets:
dblatex:
convert: /usr/bin/convert
mathml2.dtd: http://www.w3.org/Math/DTD/mathml2/mathml2.dtd
- - 待出现上面提示以后说明一切正常
[pumpkin@hl231 postgis-2.1.7]$ make
…..
PostGIS was built successfully. Ready to install.
[pumpkin@hl231 postgis-2.1.7]$ make install --安装
…….
make[2]: Leaving directory `/home/pumpkin/postgis_package/postgis-2.1.7/extensions/postgis_topology'
make[1]: Leaving directory `/home/pumpkin/postgis_package/postgis-2.1.7/extensions'
[pumpkin@hl231 postgis-2.1.7]$ -- 至此已经安装完毕
4、 测试
通过创建一个gis数据库挂载postgis扩展。然后创建一张gis表插入数据,一切正常就好。
[pumpkin@hl231 postgis-2.1.7]$ psql -U postgres
psql (9.3.5)
Type "help" for help.
postgres=# \timing
Timing is on.
postgres=# create database test_postgis;
CREATE DATABASE
Time: 1682.990 ms
postgres=# \c test_postgis
You are now connected to database "test_postgis" as user "postgres".
test_postgis=# create extension postgis; -- 这一步挂载postgis扩展
CREATE EXTENSION
Time: 2445.074 ms
test_postgis=# create table test_point(id int , point geometry(point , 4326));
CREATE TABLE
Time: 43.941 ms
test_postgis=# insert into test_point select generate_series(1,100) , st_setsrid
(st_point(100 + random() , 30 + random()) , 4326);
INSERT 0 100
Time: 19.161 ms
test_postgis=# select id , st_astext(point) from test_point limit 4;
id | st_astext
----+------------------------------------------
1 | POINT(100.629254838452 30.457803351339)
2 | POINT(100.677935550455 30.9276350429282)
3 | POINT(100.476794262417 30.3782760496251)
4 | POINT(100.088196526747 30.1213041353039)
(4 rows)
Time: 0.755 ms
test_postgis=#
5、
1、 准备
A、 需要先安装好postgresql,本人目前安装的是9.3的版本,安装过程详见:http://jjxliu306.iteye.com/blog/2222106,具体版本可以去官网下载:http://www.postgresql.org/ftp/source/ 。
B、 准备postgis安装包和相关依赖,包含:gdal-1.9.2.tar.gz geos-3.4.2.tar.bz2 postgis-2.1.7.tar.gz proj-4.9.1.tar.gz libxml2.9.2.tar.gz。具体版本自定。
2、 安装gdal、geos、proj、libxml
[pumpkin@hl231 postgis_package]$ tar zxf gdal-1.9.2.tar.gz
[pumpkin@hl231 postgis_package]$ tar xf geos-3.4.2.tar.bz2
[pumpkin@hl231 postgis_package]$ tar zxf proj-4.9.1.tar.gz
[pumpkin@hl231 postgis_package]$ tar zxf libxml2.9.2.tar.gz
- - 创建依赖的安装目录
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/geos
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/gdal
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/proj
[pumpkin@hl231 postgis_package]$ mkdir ~/gis_lib/libxml2
- - 安装geos
[pumpkin@hl231 postgis_package]$ cd geos-3.4.2
[pumpkin@hl231 geos-3.4.2]$ ./configure --prefix=/home/pumpkin/gis_lib/geos/
…..
[pumpkin@hl231 geos-3.4.2]$ make
……
[pumpkin@hl231 geos-3.4.2]$ make install
……
- - 安装gdal
[pumpkin@hl231 geos-3.4.2]$ cd gdal-1.9.2
[pumpkin@hl231 gdal-1.9.2]$ ./configure --prefix=/home/pumpkin/gis_lib/gdal/
….
[pumpkin@hl231 gdal-1.9.2]$ make
…..
- - 安装proj
[pumpkin@hl231 proj-4.9.1]$ ./configure --prefix=/home/pumpkin/gis_lib/proj/
….
[pumpkin@hl231 proj-4.9.1]$ make
……
[pumpkin@hl231 proj-4.9.1]$ make install
……
- - 安装libxml2
[pumpkin@hl231 proj-4.9.1]$cd ../libxml2-2.9.2/
[pumpkin@hl231 libxml2-2.9.2]$ ./configure --prefix=/home/pumpkin/gis_lib/libxml2/
…..
[pumpkin@hl231 libxml2-2.9.2]$ make
…..
[pumpkin@hl231 libxml2-2.9.2]$ make install
…..
备注:安装过程中可能会出现gcc not found的异常,这时候需要检查一下gcc是否安装或者版本太旧。(这部分依赖项太多,建议通过yum自动去打)通过命令更新和安装:
yum -y update gcc
yum -y install gcc+ gcc-c++
安装libxml2中可能会出现没找到python,那么需要安装python,需要三个包:
python-2.6.6-52.el6.x86_64.rpm ,python-devel-2.6.6-52.el6.x86_64.rpm ,python-libs-2.6.6-52.el6.x86_64.rpm 或者通过yum自动安装 :yum –y install python-devel
python默认root安装的话,可能安装libxml2中会出现写文件到/usr/lib/python目录没有权限,这时候需要手动修改一下目录权限,或者libxml2通过root用户去安装.
3、 安装postgis
[pumpkin@hl231 postgis_package]$ tar zxf postgis-2.1.7.tar.gz
[pumpkin@hl231 postgis_package]$ cd postgis-2.1.7
[pumpkin@hl231 postgis-2.1.7]$ ./configure --with-pgconfig=/home/pumpkin/pg9.3/bin/pg_config --with-projdir=/home/pumpkin/gis_lib/proj/ --with-gdalconfig=/home/pumpkin/gis_lib/gdal/bin/gdal-config --with-geosconfig=/home/pumpkin/gis_lib/geos/bin/geos-config --prefix=/home/pumpkin/pg9.3/ --with-xml2config=/home/pumpkin/gis_lib/libxml2/bin/xml2-config
…..
PostGIS is now configured for x86_64-unknown-linux-gnu
-------------- Compiler Info -------------
C compiler: gcc -g -O2
C++ compiler: g++ -g -O2
SQL preprocessor: /usr/bin/cpp -w -traditional-cpp -P
-------------- Dependencies --------------
GEOS config: /home/pumpkin/gis_lib/geos/bin/geos-config
GEOS version: 3.4.2
GDAL config: /home/pumpkin/gis_lib/gdal/bin/gdal-config
GDAL version: 1.9.2
PostgreSQL config: /home/pumpkin/pg9.3/bin/pg_config
PostgreSQL version: PostgreSQL 9.3.5
PROJ4 version: 49
Libxml2 config: /home/pumpkin/gis_lib/libxml2/bin/xml2-config
Libxml2 version: 2.9.2
JSON-C support: no
PostGIS debug level: 0
Perl: /usr/bin/perl
--------------- Extensions ---------------
PostGIS Raster: enabled
PostGIS Topology: enabled
SFCGAL support: disabled
-------- Documentation Generation --------
xsltproc: /usr/bin/xsltproc
xsl style sheets:
dblatex:
convert: /usr/bin/convert
mathml2.dtd: http://www.w3.org/Math/DTD/mathml2/mathml2.dtd
- - 待出现上面提示以后说明一切正常
[pumpkin@hl231 postgis-2.1.7]$ make
…..
PostGIS was built successfully. Ready to install.
[pumpkin@hl231 postgis-2.1.7]$ make install --安装
…….
make[2]: Leaving directory `/home/pumpkin/postgis_package/postgis-2.1.7/extensions/postgis_topology'
make[1]: Leaving directory `/home/pumpkin/postgis_package/postgis-2.1.7/extensions'
[pumpkin@hl231 postgis-2.1.7]$ -- 至此已经安装完毕
4、 测试
通过创建一个gis数据库挂载postgis扩展。然后创建一张gis表插入数据,一切正常就好。
[pumpkin@hl231 postgis-2.1.7]$ psql -U postgres
psql (9.3.5)
Type "help" for help.
postgres=# \timing
Timing is on.
postgres=# create database test_postgis;
CREATE DATABASE
Time: 1682.990 ms
postgres=# \c test_postgis
You are now connected to database "test_postgis" as user "postgres".
test_postgis=# create extension postgis; -- 这一步挂载postgis扩展
CREATE EXTENSION
Time: 2445.074 ms
test_postgis=# create table test_point(id int , point geometry(point , 4326));
CREATE TABLE
Time: 43.941 ms
test_postgis=# insert into test_point select generate_series(1,100) , st_setsrid
(st_point(100 + random() , 30 + random()) , 4326);
INSERT 0 100
Time: 19.161 ms
test_postgis=# select id , st_astext(point) from test_point limit 4;
id | st_astext
----+------------------------------------------
1 | POINT(100.629254838452 30.457803351339)
2 | POINT(100.677935550455 30.9276350429282)
3 | POINT(100.476794262417 30.3782760496251)
4 | POINT(100.088196526747 30.1213041353039)
(4 rows)
Time: 0.755 ms
test_postgis=#
5、
发表评论
-
记录坐标对应关系
2018-07-17 15:58 6412000坐标系对应 4490 -
JS解析shapefile并在地图加载演示
2018-06-13 16:03 10601JS解析shapefile并在地 ... -
openlayer4 弹出框封装
2018-06-06 11:52 2604很多场景需要在地图上弹出一个tooltip或者popup之 ... -
geoserver将layer打包为shp文件
2018-05-31 17:40 923基于某些原因我们需要将已经发布的图层重新打包为shp文件( ... -
openlayer4 多图联动
2018-05-31 11:57 452之前在ol2中多图联动需要监听地图move事件,在事件中对 ... -
geotools系列2-读取postgis
2018-05-31 09:11 3154上期我介绍了geotools读取shp文件的事例 (geo ... -
geotools系列1-读取shp文件
2018-05-31 08:49 3369.shp文件是目前大家使用频率较高而且通用的一种格式。此篇 ... -
geoserver通过rest自动发布postigs图层
2018-05-30 17:38 6390geoserver自带rest服务,可以发布shp,po ... -
udig2.0 汉化插件发布
2018-03-23 08:36 2183UDIG2.0汉化中文插件。 使用方法: 官网 ... -
Postgres pg_multixact信息丢失极限拉起数据库
2017-09-13 15:06 1346本测试模拟pg_multixact,pg_xlog全部信息 ... -
百度地图扩展动画maker
2017-09-12 11:19 2980最近开始使用百度地图,需要在标记上添加一些闪烁的动画 ... -
百度路书添加结束回调
2017-09-12 09:53 4764目前有个系统在使 ... -
postgresql自动增备pitr脚本
2017-08-22 14:15 945postgresql中提供了pitr作为增备的方案,在全量 ... -
postgres常用查询集锦
2017-07-11 13:14 682查询pg中每个表的统计量信息(在非精确的数据条数统计下适用 ... -
postgis函数geometry去重
2017-07-07 18:12 1303postgis中多边形相交去重: create or re ... -
pg提取序列号
2017-07-05 17:02 697select table_catalog , table_s ... -
Openlayers3 绘制圆
2017-04-27 13:56 2449需求中出现了在地图上画圆的需求,此需求在ol3以上的版 ... -
Openlayers2多地图联动
2017-04-13 16:24 1373地图实际使用中经常会出现多地图对比的情况,多图联动需求明确 ... -
Openlayers2扩展markers图层
2017-04-13 13:30 2148使用ol2中经常会碰到添加marker数据,并在数据之上提 ... -
[置顶] 基于udig(开源GIS软件)二次开发(5)
2016-08-20 18:51 1763后续会开始继续写点关于开源gis,udig等的东西,歪果仁在 ...
相关推荐
### PostGIS源代码安装指南详解 #### 前言 本文档主要介绍如何从源代码安装PostGIS 2.5,并解决在使用`st_asmvt`函数返回MapBox格式矢量切片时遇到的`missinglibprotobuf-c`错误。通过详细步骤确保PostGIS能顺利...
本文档详细介绍了如何在 Linux 环境下从源代码编译安装 PostGIS 2.5,以解决特定问题,即在使用 PostGIS 的 `st_asmvt` 函数时遇到的缺少 `libprotobuf-c` 错误。为解决这个问题,我们需要逐个编译安装 PostGIS 及其...
在Linux环境中离线安装PostgreSQL、SDE(ArcGIS的Spatial Database Engine)和PostGIS是一项常见但有时复杂的任务,尤其当服务器处于内网环境时,无法直接访问互联网资源。本指南将详细介绍如何在Linux系统中进行...
本教程将详细介绍如何在CentOS系统上离线编译安装PostgreSQL 14和PostGIS 3.2,这两个是用于地理空间数据库管理的重要组件。 PostgreSQL是一个强大的开源关系型数据库管理系统,它支持复杂查询、事务处理和多种数据...
PostGIS 安装使用指导 PostGIS 概述 ----------- PostGIS 是 PostgreSQL 的空间数据库扩展,提供空间信息服务功能,包括空间对象、空间索引、空间操作函数和空间操作符。PostGIS 完全遵循 OpenGIS 规范,提供了...
这些库在编译PostGIS扩展时作为依赖项,帮助构建和链接PostGIS的源代码。使用以下命令安装它们: ```bash # 对于CentOS/RHEL sudo yum install ncurses-devel readline-devel zlib-devel # 注意:这些特定版本的...
PostGIS 使用 CMake 来构建和配置其源代码,确保在不同操作系统和环境中能够正确编译和链接依赖库。 6. **SFCGAL-1.3.7.tar.gz**: SFCGAL 是一个基于 GEOS 的 C++ API 扩展,提供了一些额外的几何函数和对 PostGIS ...
从文件名"postgresql14.5+postgis3.3.2+pgRouting3.4.2源码安装包"来看,这个压缩包包含了 PostgreSQL、PostGIS 和 pgRouting 的源代码,意味着用户需要编译和安装它们,而不是简单地运行预编译的二进制文件。...
文档中不仅解释了如何安装和配置PostGIS,还提供了SQL函数和类型的参考,以及示例代码来帮助理解如何使用这些功能。通过学习文档,你可以了解如何创建空间表、执行空间查询、进行地理编码和反地理编码,以及如何利用...
由于"linux-postgis"文件可能包含编译所需的源代码,你需要解压并按照官方文档的指示进行编译和安装。通常,这包括配置、编译和安装步骤: ```bash tar -xzf linux-postgis.tar.gz cd postgis-3.0.1/ ./configure -...
这通常包括配置、编译源代码以及向PostgreSQL系统中注册PostGIS扩展。安装完成后,可以在PostgreSQL数据库中创建一个GIS启用的空间数据库,并通过SQL命令加载地理数据。 使用PostGIS时,可以利用SQL语句来处理地理...
这个`.tar.gz`文件是源代码压缩包,通常在Linux环境下使用,用于编译安装PostGIS 3.0.3到本地系统。 **PostGIS的核心功能:** 1. **空间数据类型**:PostGIS引入了如`GEOMETRY`、`GEOGRAPHY`等空间数据类型,允许...
- **获取源代码**:可以通过 Git 或者下载源码包的方式获取最新的 PostGIS 源代码。 2. **从源代码编译安装**: - **配置**:使用 `./configure` 命令来配置编译选项。 - **构建**:使用 `make` 命令来编译源...
这个压缩包包含的是PostGIS 1.3.6版本的源代码,是学习和研究PostGIS早期版本的一个宝贵资源。PostGIS允许用户存储、查询、分析和操作地理空间数据,是GIS(地理信息系统)领域的关键组件。 在PostGIS中,地理数据...
题目中提到的压缩包文件名是"postgis-2.3.0",这可能是一个源码包。你需要将其下载到你的Linux系统中,可以使用`wget`命令: ```bash wget http://download.osgeo.org/postgis/source/postgis-2.3.0.tar.gz ```...
- **下载软件**:从官网获取源代码包,例如`postgresql-10.7.tar.gz`。 - **编译与安装**:解压并配置编译参数,执行编译和安装过程。 - **添加用户**:创建专门用于运行PostgreSQL服务的用户和组。 - **权限...
这个"postgis-2.5.5.tar.gz"压缩包包含的是PostGIS 2.5.5版本的源代码,适用于那些希望在Linux环境下安装和自定义PostGIS功能的用户。 PostGIS的核心特性包括: 1. **空间数据类型**:它添加了对几何、地理和拓扑...
- **获取源码**:从官方仓库下载最新源代码。 - **用源码编译并安装详细步骤**: - 配置编译选项。 - 使用命令行工具进行编译。 - 安装编译后的扩展。 - **配置**:根据需要调整PostGIS的配置参数。 - **...
1. PostGIS安装和配置:手册提供了安装PostGIS的详细步骤,包括安装前提条件、获取源代码、从源代码编译安装、配置、构建、测试、安装等流程。同时介绍了如何创建一个支持空间功能的数据库,无论是通过使用扩展...
`postgis-2.5.4.tar.gz`文件包含了PostGIS 2.5.4的所有源代码,用户需要自行编译和安装。以下是安装和使用PostGIS 2.5.4的基本步骤: 1. **解压源代码**: 使用Linux的`tar`命令来解压缩文件,如`tar -zxvf ...