ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(一)安装第三方空间库
postgis是postgresql的空间扩展对象,它需要一些第三方库的支持。包括GEOS, PROJ.4 和 GDAL。我们首先安装这几个空间库。
在ubuntu系统终端执行:(预先装一些依赖的库)
$ sudo apt-get install binutils libproj-dev gdal-bin
然后从源码安装GEOS, PROJ.4 和 GDAL三个空间库。
1)GEOS:GEOS是一个集合形状的拓扑关系操作实用库(可能这么说不太准确),简单得说,就是判断两个几何形状之间关系和对两个几何形状进行操作以形成新的几何 形状的库
$ wget http://download.osgeo.org/geos/geos-3.5.1.tar.bz2
$ tar xjf geos-3.5.1.tar.bz2
下载完成后:
配置:
$ cd geos-3.5.1
$ ./configure
$ make
$ sudo make install
$ cd ..
(注意:官网给的版本是3.4.2,但是由于我使用的postgresql是9.6,编译需要GEOS+,所以我改为3.5.1版本,在这个地方折腾了好长时间,一定要注意版本是否和自己安装postgresql匹配)
2)proj.4:开源GIS最著名的地图投影库.Proj.4的功能主要有经纬度坐标与地理坐标的转换,坐标系的转换,包括基准变换等
下载源码:
$ wget http://download.osgeo.org/proj/proj-4.9.1.tar.gz
$ wget http://download.osgeo.org/proj/proj-datumgrid-1.5.tar.gz
解压缩源代码压缩文件,并在nad子目录中提取基准移位文件。这些必须在配置之前完成
$ tar xzf proj-4.9.1.tar.gz
$ cd proj-4.9.1/nad
$ tar xzf ../../proj-datumgrid-1.5.tar.gz
$ cd .. 配置
$ ./configure
$ make
$ sudo make install
$ cd .. 3)GDAL:GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。(百度百科定义)
下载源码:
$ wget http://download.osgeo.org/gdal/2.2.2/gdal-2.2.2.tar.gz
$ tar xzf gdal-2.2.2.tar.gz
$ cd gdal-2.2.2
(官网给的版本是1.11.2,我使用时出现错误(忘记啥错误了),我换成更新的版本,这次ok)
配置:
$ ./configure
$ make # 挺久的,可以看会动漫了
$ sudo make install
$ cd .. 安装完检查是否安装成功:
安装之后的文件在/user/local下面,其中bin下面放可执行的程序,includes存放源代码,lib下存放动态库(xx.sa)和静态库(xx.a)。 geos:在gdal目录下,执行./configure,如果出现GEOS support = yes,成功。proj属于动态加载,不会显示,只需将proj的动态库和gdal的动态库放在一起即可。
检验GDAL:在终端输入gdalinfo名利即可。 错误处理:(配置geodjango环境时,绝大多数错误是外部共享库不能被加载,因为操作系统不知道去哪里加载从源构建的库目录)
配置环境变量:将库路径user/local/bin加入到LD_LIBRARY_PATH
vim ~/bashrc
加入下面的一行:
export LD_LIBRARY_PATH=/usr/local/lib 设置系统库路径:
$ sudo echo /usr/local/lib >> /etc/ld.so.conf
$ sudo ldconfig 修改错误后,再次检查是否安装成功
ps:(一定要注意版本问题,我真的在版本上折腾了很久,如果还有无法解决的错误,建议查看官方文档))
希望对大家有帮助,我也是初学,不足之处,多多指正!
ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(一)安装第三方空间库的更多相关文章
- ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(三)加载空间数据
之前两篇基本上搭好了geodjango开发的环境了,当然你的电脑上肯定要有python和django的环境(这个我就不介绍了,网上一搜一大堆),我自己用的python3.5和django2.0(毕竟2 ...
- ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(二))安装postgresql和postgis
卸载老版本sudo dpkg --purge postgis postgresql-9.3-postgis1.安装postgresql sudo apt-cache search postgresql ...
- Ubuntu16.04搭建OpenVPN
Ubuntu16.04搭建OpenVPN 2018年12月27日 15:50:59 VinQin 阅读数:21042 简介 如果在一个非信任网络下比如旅社或者咖啡店的WiFi网络下,想要通过你的智 ...
- Ubuntu16.04搭建LAMP开发环境
Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...
- Harbor 企业级私有仓库 Ubuntu16.04 搭建及使用
一.Harbor简介 1.1.什么是Harbor 几个VMware中国的人搞了一个容器镜像仓库.Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 1.2.Harbor架 ...
- ubuntu16.04搭建个人简易DLP
前言 最近一朋友让我帮忙搭建一台服务器,用做公司的服务器,但是该服务器需要满足一些安全要求,于是乎就有了下面的解决过程^_^ 需求 期望普通用户和管理员都能ssh登陆服务器,但禁止scp或者其他方式下 ...
- TestLink+Jenkins在Ubuntu16.04搭建集成测试环境
序章 序1:TestLink和TestLink-API-Python-client 目前TestLink的最新版本是1.9.19 TestLink-API-Python-client支持的TestLi ...
- ubuntu16.04搭建ftp服务器
因为习惯了vs进行开发,所以对于Linux的代码编辑开发都在vs里面进行,通常我们都是ssh远程登录到Linux,使用ftp或者sftp共享Linux目录里面的文件方便对文件的共享,这里介绍一下在ub ...
- 【.NetCore学习】ubuntu16.04 搭建.net core mvc api 运行环境
查看linux内核版本 uname -a 打印结果 python@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed ...
随机推荐
- C++11--随机数引擎和随机数分布<random>
/* 随机数引擎: * 有状态的随机数发生器,生成在预定义的最大小值之间的随机数 * 不是真正的随机数--伪随机 */ int main () { std::default_random_engine ...
- 结构方程软件Lisrel 8.7 和HLM5.5
这是我亲自使用过的软件,其中lisrel是破解版的,HLM是学生版的 下载地址:http://pan.baidu.com/s/1bnfCOrH
- sql server 2008 R2 备份还原到sql 2012
从sql server 2008 r2备份的在sql server 2012中还原时一直读不到备份文件,然后把2008r2备份文件放到sql 2012的安装路径对应的Backup文件夹后可以读到了,不 ...
- jquery zTree异步搜索的例子--搜叶子节点
参考博客:https://www.cnblogs.com/henuyuxiang/p/6677397.html 前台代码 <%@ page language="java" c ...
- NIO框架之MINA源码解析(四):粘包与断包处理及编码与解码
1.粘包与段包 粘包:指TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾.造成的可能原因: 发送端需要等缓冲区满才发送出去,造成粘包 接收 ...
- 记录Linux下解压大文件时的一次奇葩经历
由于需要安装新的系统,使用wget下载tar包,8G多下载了1个多小时.解压完后的文件夹中的tar包数量明显不够,而且原始的tar包竟然不见了. 同样的操作又进行了一次,结果还是一样,不得不怀疑是哪里 ...
- 安装httpd服务配置
本地yum源安装 mkdir /opt/dvd (先用mkdir去根下opt目录下建一个名字叫dvd的目录) mount /dev/sr0 /opt/dvd (用mount命令,挂载光盘设备 ...
- Jmeter(三十二)Jmeter Question 之 “自定义函数开发”
“技术是业务的支撑”,已经不是第一次听到这句话,因为有各种各样的需求,因此衍生了许多各种各样的技术.共勉! 前面有提到提到过Jmeter的安装目录结构,也提到Jmeter的常用函数功能,有部分工作使用 ...
- 【架构师之路】集群/分布式环境下5种session处理策略
[架构师之路]集群/分布式环境下5种session处理策略 转自:http://www.cnblogs.com/jhli/p/6557929.html 在搭建完集群环境后,不得不考虑的一个问题就是 ...
- https证书的验证过程与生成方法
1.简洁的解释: 1.服务器 用RSA生成公钥和私钥2.把公钥放在证书里发送给客户端,私钥自己保存3.客户端首先向一个权威的服务器检查证书的合法性,如果证书合法,客户端产生一段随机数,这个随机数就作为 ...