http://https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3102410964,4206562405&fm=27&gp=0.jpg ...
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:(一定要註意版本問題,我真的在版本上折騰了很久,如果還有無法解決的錯誤,建議查看官方文檔))
希望對大家有幫助,我也是初學,不足之處,多多指正!