歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在Ubuntu 12.04上部署PostGIS 2.1

在Ubuntu 12.04上部署PostGIS 2.1

日期:2017/2/28 15:43:39   编辑:Linux教程

PostGIS 2.0已經發布了,挺激動人心的。在12.04中集成了PostGIS 1.5.4,如果想用到一些新的特性,就不得不做出升級的選擇。我們采用sharpie項目組的發布包進行部署。

首先,卸載掉原有的postgis和postgresql-9.1-postgis包。

sudo dpkg --purge postgis postgresql-9.1-postgis
然後,添加相應的repository並安裝PostGIS.

sudo apt-add-repository ppa:sharpie/for-science # To get GEOS 3.3.2
sudo apt-add-repository ppa:sharpie/postgis-nightly
sudo apt-get update
sudo apt-get install postgresql-9.1-postgis

接下來,創建模板庫

createdb -E UTF8 template_postgis
createlang -d template_postgis plpgsql
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis'"
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/postgis.sqlpsql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/spatial_ref_sys.sqlpsql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/postgis_comments.sqlpsql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/rtpostgis.sqlpsql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/raster_comments.sqlpsql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/topology.sqlpsql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/topology_comments.sqlpsql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/legacy.sql
最後,利用模板創建數據庫就可以了

creatdb mydb -T template_postgis


參考內容:

1.部署內容參考

其原文內容如下

PostGIS 2.0 is out and the awesomness continues! You can install PostGIS 2.0 on Ubuntu using packages which is exactly what I am going to show you here. Read on for details on how to get up and running and do your first simple raster analysis!


Note: You should make good backups first!

Before we begin, you should uninstall your existing postgis packages:

sudo dpkg --purge postgis postgresql-9.1-postgisThen add a new repository and install PostGIS from there (based on this post):

sudo apt-add-repository ppa:sharpie/for-science # To get GEOS 3.3.2
sudo apt-add-repository ppa:sharpie/postgis-nightly
sudo apt-get update
sudo apt-get install postgresql-9.1-postgisNext we should create a new template database (optional but recommended).

createdb -E UTF8 template_postgis2
createlang -d template_postgis2 plpgsql
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis2'"
psql -d template_postgis2 -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis.sql
psql -d template_postgis2 -f /usr/share/postgresql/9.1/contrib/postgis-2.0/spatial_ref_sys.sql
psql -d template_postgis2 -f /usr/share/postgresql/9.1/contrib/postgis-2.0/rtpostgis.sql
psql -d template_postgis2 -c "GRANT ALL ON geometry_columns TO PUBLIC;"
psql -d template_postgis2 -c "GRANT ALL ON geography_columns TO PUBLIC;"
psql -d template_postgis2 -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
createdb training -T template_postgis2Ok now we can load a raster (see sample data download below):

raster2pgsql -s 4326 srtm_4326.tif | psql training
shp2pgsql -s 4326 -d -g geom -I places.shp places| psql trainingGood – now our spatial database is ready to use – and has raster support! Here is a nice example of what you can do. The query looks up the altitude from the SRTM raster for each place listed using the ST_Value function:

select ST_Value(rast, geom, true) from places, srtm_4326;It should produce something like this:

Further reading: A really good place to start is the Boston GIS cheatsheets – I am really looking forward to exploring all the new features that are available in PostGIS 2.0, thanks to all those involved in building it!

Sample data for the example listed

---------------------------------------------------------------------------

2.創建空間數據庫的說明 請參考 http://postgis.refractions.net/documentation/manual-2.0/postgis_installation.html#id2801293

Copyright © Linux教程網 All Rights Reserved