CentOS7 Linux源碼安裝PostGIS

1酬土、什么是PostGIS璧坟?

PostGIS將對(duì)地理對(duì)象的支持添加到PostgreSQL對(duì)象關(guān)系數(shù)據(jù)庫(kù)中嗡贺。實(shí)際上业舍,PostGIS“空間啟用”了PostgreSQL服務(wù)器抖拦,使其可以用作地理信息系統(tǒng)(GIS)的后端空間數(shù)據(jù)庫(kù)升酣,就像ESRI的SDE或Oracle的Spatial擴(kuò)展一樣。PostGIS遵循OpenGIS?“?用于SQL的簡(jiǎn)單功能規(guī)范?”态罪,并已被證明符合“類型和功能”配置文件噩茄。以上為postGIS官網(wǎng)對(duì)postGis的描述,簡(jiǎn)要理解复颈,

PostGIS是PostgreSQL數(shù)據(jù)庫(kù)的一個(gè)插件(支持空間數(shù)據(jù))绩聘,即PostGIS構(gòu)建于PostgreSQL之上,安裝了postGIS之后耗啦,postgreSQL數(shù)據(jù)庫(kù)就變成了1個(gè)空間數(shù)據(jù)庫(kù)凿菩。

默認(rèn)安裝的postgreSQL數(shù)據(jù)庫(kù)是關(guān)系數(shù)據(jù)庫(kù),安裝postGIS插件后帜讲,可以支持存放空間數(shù)據(jù)(只有當(dāng)需要在postgreSQL數(shù)據(jù)庫(kù)中存放空間數(shù)據(jù)的時(shí)候才需要安裝這個(gè)插件)衅谷。

2、postgreSQL支持的插件或函數(shù)庫(kù)

postgreSQL支持的插件與函數(shù)庫(kù)較多似将,這里大概列舉一下本次安裝支持空間數(shù)據(jù)庫(kù)涉及到的插件获黔。

GNU C 編譯器(gcc)? ? ——? ? gcc是一個(gè)Linux中最標(biāo)準(zhǔn)的C語言編譯器,需要安裝gcc來編譯PostGIS和其他軟件或函數(shù)庫(kù)的源碼在验。

GNU Make(gmake或make)——? ? 這個(gè)也是用于編譯源碼玷氏。

以上2個(gè)插件,在使用源碼安裝postgreSQL數(shù)據(jù)庫(kù)的時(shí)候就應(yīng)該已經(jīng)安裝了译红。

以下插件為空間數(shù)據(jù)所需要的插件预茄。

Proj4? ? ——? ? Proj4 重投影庫(kù)用于在PostGIS中提供坐標(biāo)重投影功能。

Proj4下載地址:http://download.osgeo.org/proj

GEOS? ?——? ? GEOS幾何圖形庫(kù)侦厚,用于支持PostGIS中的幾何信息處理耻陕、分析等功能,也可以直接認(rèn)為GEOS是一個(gè)幾何算法庫(kù)刨沦。

GEOS下載地址:https://download.osgeo.org/geos

GDAL? ? ——? ? 用于PostGIS對(duì)柵格數(shù)據(jù)的支持

GDAL下載地址:https://download.osgeo.org/gdal

以下插件為數(shù)據(jù)導(dǎo)入

LibXML2? ? ——? ? LibXML2目前用于PostGIS中的一些導(dǎo)入函數(shù)诗宣,比如ST_GeomFromGML()和ST_GeomFromKML()。

方式1:http://distfiles.macports.org/libxml2/


LibXML2下載地址:方式2:-從官網(wǎng)下載http://xmlsoft.org,跳轉(zhuǎn)到download頁面



JSON-C? ? ——? ? 目前使用JSON-C通過ST_GeomFromGeoJSON()函數(shù)導(dǎo)入GeoJSON格式的數(shù)據(jù)

JSONC下載地址可以使用:

http://www.linuxfromscratch.org/blfs/view/svn/general/json-c.html

或者:

https://github.com/json-c/json-c/archive/json-c-0.13.1-20180305.tar.gz

以下為可選插件

Protobuf? ??——??支持MVT等格式

URL:https://github.com/protocolbuffers/protobuf/archive/v2.6.1.tar.gz

Protobuf-c?——????支持MVT等格式

URL: https://github.com/protobuf-c/protobuf-c/releases/download/v1.3.1/protobuf-c-1.3.1.tar.gz

boost? ------------待定義描述

Cgal?——?? Sfcgal,Pgrouting安裝的時(shí)候想诅,依賴boost,cgal

URL:https://github.com/CGAL/cgal/archive/releases/CGAL-4.13.tar.gz

SFCGAL? ? ——? ? 用于提供額外的二維和三維的高級(jí)分析功能召庞。允許對(duì)一些函數(shù)使用基于SFCGAL的實(shí)現(xiàn),而不是使用基于GEOS的實(shí)現(xiàn)(例如ST_Intersection()和ST_Area()函數(shù))来破,如果安裝了SFCGAL篮灼,PostgreSQL的配置變量postgis.backend允許終端用戶控制他想使用哪個(gè)實(shí)現(xiàn)(默認(rèn)情況下是GEOS的實(shí)現(xiàn))。另外徘禁,SFCGAL依賴于CGAL和Boost這兩個(gè)軟件诅诱,即如果想安裝SFCGAL,就先要安裝這兩個(gè)軟件送朱。最后pgrouting插件也依賴于CGAL和Boost

URL:https://github.com/Oslandia/SFCGAL/archive/v1.3.6.tar.gz

PostGIS:

PostGIS下載地址:http://download.osgeo.org/postgis/source


本次安裝所安裝的軟件入下:

geos-3.7.2

proj-5.2.0

libxml2-2.9.8

json-c-0.13.1

gdal-2.3.2

boost-devel.x86_64

CGAL-4.13.1

SFCGAL-1.3.6

postgis-2.5.2

以上插件都可以直接從相關(guān)的官網(wǎng)直接下載娘荡,下載地址為上面附帶的url地址

在安裝postGIS之前干旁,要先確保已經(jīng)安裝了postgreSQL數(shù)據(jù)庫(kù),版本推薦安裝9-11.6之間炮沐,其他版本可能會(huì)安裝失敗争群,

也可以嘗試統(tǒng)一安裝所有軟件的高版本,高版本安裝兼容性較好大年,但是一些也可能會(huì)有一些高版本問題换薄,比如高版本可能對(duì)ArcGIS支持沒有及時(shí)更上。

postgreSQL數(shù)據(jù)庫(kù)的安裝參考postgreSQL數(shù)據(jù)庫(kù)安裝內(nèi)容鲜戒。


3专控、安裝步驟

先將以下安裝包下載好抹凳,然后上傳到服務(wù)器遏餐,如果服務(wù)器聯(lián)網(wǎng),可以使用wget命令直接下載:

下載geos示例:wget https://download.osgeo.org/geos/geos-3.7.2.tar.bz2

(1)安裝GEOS

????????a赢底、解壓安裝包:tar-jxvf geos-3.7.2.tar.bz2

????????注意失都,此格式.bz2結(jié)尾的需要特定的解壓軟件,安裝軟件

????????安裝方式參考:http://www.reibang.com/p/0b883504fb61

????????b幸冻、進(jìn)入目錄:cd?geos-3.7.2

????????c粹庞、指定安裝路徑以及安裝參數(shù):./configure--prefix=/usr/local/geos-3.7.2? (此處指定安裝到/usr/local/geos-3.7.2路徑下)

????????d、編譯 :make

????????e洽损、安裝:make install

(2)安裝Proj

????????a庞溜、解壓安裝包:tar-jxvf proj-5.2.0.tar.gz

????????b、進(jìn)入目錄:cd??proj-5.2.0

????????c碑定、指定安裝路徑以及安裝參數(shù):./configure--prefix=/usr/local/proj-5.2.0? (此處指定安裝到/usr/local/proj-5.2.0路徑下)

????????d流码、編譯 :make

????????e、安裝:make install

(3)安裝GDAL

????????a延刘、解壓安裝包:tar-jxvf gdal-2.3.2.tar.gz

????????b漫试、進(jìn)入目錄:cd??gdal-2.3.2

????????c、指定安裝路徑以及安裝參數(shù):./configure--prefix=/usr/local/gdal-2.3.2? (此處指定安裝到/usr/local/gdal-2.3.2路徑下)

????????d碘赖、編譯 :make

????????e驾荣、安裝:make install

(4)安裝json-c

????????a、解壓安裝包:ar-zxvf json-c-0.13.1-20180305.tar.gz

????????b普泡、進(jìn)入目錄:cd??son-c-0.13.1-20180305

????????c播掷、指定安裝路徑以及安裝參數(shù):./configure--prefix=/usr/local/son-c-0.13.1-20180305? (此處指定安裝到/usr/local/son-c-0.13.1-20180305路徑下)

????????d、編譯 :make

????????e撼班、安裝:make install

(5)安裝libxml2

? ??????a歧匈、解壓安裝包:tar-jxvf?libxml2-2.9.8.tar.gz

????????b、進(jìn)入目錄:cd??libxml2-2.9.8

????????c权烧、指定安裝路徑以及安裝參數(shù):./configure--prefix=/usr/local/libxml2-2.9.8? (此處指定安裝到/usr/local/libxml2-2.9.8路徑下)

????????d眯亦、編譯 :make

????????e伤溉、安裝:make install

(6)安裝CGAL(可選安裝,是SFCGAL的依賴妻率,如果要安裝SFCGAL乱顾,這個(gè)必須先按照,建議使用默認(rèn)路徑安裝(不指定路徑宫静,否則會(huì)遇到錯(cuò)誤走净,不知道這里是為啥))

? ??????a、解壓安裝包:tar-jxvf?cgal-releases-CGAL-4.13.tar.gz

????????b孤里、進(jìn)入目錄:cd?CGAL-4.13

????????c伏伯、指定安裝路徑以及安裝參數(shù):./configure(此處不指定路徑)

? ? ? ? d、執(zhí)行:mkdir build&cd build

? ? ? ? e捌袜、執(zhí)行:cmake..

????????f说搅、編譯 :make

????????g、安裝:make install

? ??????? 查看/usr/local的文件列表虏等,發(fā)現(xiàn)cgal表示安裝成功

(7)弄唧、安裝SFCGAL(可選安裝)

????由于SFCGAL需要依賴Boost、霍衫、GMP候引、MPFR這四個(gè)軟件,所以具體總共需要先安裝以下四個(gè)軟件:

????boost-devel.x86_64

????gmp-devel.x86_64

????mpfr-devel.x86_64

????前3個(gè)軟件敦跌,可以使用yum在能聯(lián)網(wǎng)的機(jī)器直接安裝澄干,安裝方式

????yum install boost-devel.x86_64

????yum install?gmp-devel.x86_64

????yum install?mpfr-devel.x86_64

? ? 安裝完成以上,可以安裝SFCGAL

? ??????a柠傍、解壓安裝包:tar-zxvf v1.3.6.tar.gz

????????b麸俘、進(jìn)入目錄:cd??SFCGAL-1.3.6

????????d、執(zhí)行:mkdir build&cd build

????????e携兵、執(zhí)行:-DCMAKE_INSTALL_PREFIX=/usr/local/sfcgal-1.3.6..

????????f疾掰、編譯 :make

????????g、安裝:make install



(6)安裝PostGIS

????????a徐紧、解壓安裝包:tar-jxvf?postgis-2.5.2.tar.gz

????????b静檬、進(jìn)入目錄:cd??postgis-2.5.2

????????c、指定安裝路徑以及安裝參數(shù):(此處的安裝并级,有以下三種安裝方式拂檩,根據(jù)自己需要選擇)

#不帶protobuf,sfcgal安裝:

./configure--prefix=/home/postgres--with-gdalconfig=/usr/local/gdal-2.3.2/bin/gdal-config--with-pgconfig=/home/postgres/bin/pg_config--with-geosconfig=/usr/local/geos-3.7.2/bin/geos-config--with-projdir=/usr/local/proj-5.2.0--with-xml2config=/usr/local/libxml2-2.9.8/bin/xml2-config--with-jsondir=/usr/local/json-c-0.13.1

#帶protobuf安裝,支持mvt

./configure--prefix=/home/postgres--with-gdalconfig=/usr/local/gdal-2.3.2/bin/gdal-config--with-pgconfig=/home/postgres/bin/pg_config--with-geosconfig=/usr/local/geos-3.7.2/bin/geos-config--with-projdir=/usr/local/proj-5.2.0--with-xml2config=/usr/local/libxml2-2.9.8/bin/xml2-config--with-jsondir=/usr/local/json-c-0.13.1--with-protobufdir=/usr/local/protobuf-c-1.3.1

# 帶protobuf,sfcgal安裝

./configure--prefix=/home/postgres--with-gdalconfig=/usr/local/gdal-2.3.2/bin/gdal-config--with-pgconfig=/home/postgres/bin/pg_config--with-geosconfig=/usr/local/geos-3.7.0/bin/geos-config--with-projdir=/usr/local/proj-5.2.0--with-xml2config=/usr/local/libxml2-2.9.7/bin/xml2-config--with-jsondir=/usr/local/json-c-0.13.1--with-protobufdir=/usr/local/protobuf-c-1.3.1--with-sfcgal=/usr/local/sfcgal-1.3.6/bin/sfcgal-config

????????d嘲碧、編譯 :make

????????e稻励、安裝:make install


此處僅是安裝了以上幾個(gè)插件,還有幾個(gè)未安裝。

4望抽、創(chuàng)建postgis擴(kuò)展

在以上安裝完成后加矛,需要在postgreSQL數(shù)據(jù)庫(kù)上創(chuàng)建postgis擴(kuò)展,創(chuàng)建方式如下:

a煤篙、切換到postgre用戶

b斟览、登陸數(shù)據(jù)庫(kù)? psql

創(chuàng)建1個(gè)數(shù)據(jù)庫(kù):create database gistest;

c、選擇數(shù)據(jù)庫(kù) :\c gistest

d辑奈、創(chuàng)建擴(kuò)展:create extension postgis;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末苛茂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鸠窗,更是在濱河造成了極大的恐慌妓羊,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稍计,死亡現(xiàn)場(chǎng)離奇詭異躁绸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)丙猬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門涨颜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來费韭,“玉大人茧球,你說我怎么就攤上這事⌒浅郑” “怎么了抢埋?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)督暂。 經(jīng)常有香客問我揪垄,道長(zhǎng),這世上最難降的妖魔是什么逻翁? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任饥努,我火速辦了婚禮,結(jié)果婚禮上八回,老公的妹妹穿的比我還像新娘酷愧。我一直安慰自己,他們只是感情好缠诅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布溶浴。 她就那樣靜靜地躺著,像睡著了一般管引。 火紅的嫁衣襯著肌膚如雪士败。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天褥伴,我揣著相機(jī)與錄音谅将,去河邊找鬼漾狼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛饥臂,可吹牛的內(nèi)容都是我干的邦投。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼擅笔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼志衣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起猛们,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤念脯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后弯淘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绿店,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年庐橙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了假勿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡态鳖,死狀恐怖转培,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浆竭,我是刑警寧澤浸须,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站邦泄,受9級(jí)特大地震影響删窒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜顺囊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一肌索、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧特碳,春花似錦诚亚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至硅瞧,卻和暖如春份乒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工或辖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瘾英,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓颂暇,卻偏偏與公主長(zhǎng)得像缺谴,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耳鸯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容