关于postgis的安装使用
目录
关于Postgis的安装使用,建议参考官方手册 http://www.postgis.org/docs/ch02.html
——————————————
创建控件数据库的参考:
createdb yourdatabase
createlang plpgsql yourdatabase
psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f postgis_comments.sql
psql -d yourdatabase -f spatial_ref_sys.sql
————————————————
The first step in creating a PostGIS database is to create a simple PostgreSQL database.
createdb [yourdatabase]
Many of the PostGIS functions are written in the PL/pgSQL procedural language. As such, the next step to create a PostGIS database is to enable the PL/pgSQL language in your new database. This is accomplish by the command
createlang plpgsql [yourdatabase]
Now load the PostGIS object and function definitions into your database by loading the
postgis.sql
definitions file (located in
as specified during the configuration step).
[prefix]/share/contrib
psql -d [yourdatabase] -f postgis.sql
For a complete set of EPSG coordinate system definition identifiers, you can also load the
spatial_ref_sys.sql
definitions file and populate the
spatial_ref_sys
table. This will permit you to perform ST_Transform() operations on geometries.
psql -d [yourdatabase] -f spatial_ref_sys.sql
If you wish to add comments to the PostGIS functions, the final step is to load the
postgis_comments.sql
into your spatial database. The comments can be viewed by simply typing
\dd [function_name] from a psql terminal window.
psql -d [yourdatabase] -f postgis_comments.sql
Some packaged distributions of PostGIS (in particular the Win32 installers for PostGIS >= 1.1.5) load the PostGIS functions into a template database called
template_postgis
. If the template_postgis
database exists in your PostgreSQL installation then it is possible for users and/or applications to create spatially-enabled databases using a single command.
Note that in both cases, the database user must have been granted the privilege to create new databases.
From the shell:
# createdb -T template_postgis my_spatial_db
From SQL:
postgres=# CREATE DATABASE my_spatial_db TEMPLATE=template_postgis
————————————————————–
如果系统中没有存在template_postgis模板,需要自己手动创建,
$psql template1
template1=#create database template_postgis with template=template1;
template1=#update pg_database set datistemplate=TRUE where datname=’template_postgis’;
template1=#\c template_postgis
template_postgis=#create language plpgsql;
template_postgis=#\i /opt/locale/share/postgis/lwpostgis.sql;
template_postgis=#\i /opt/locale/share/postgis/spatial_ref_sys.sql;
template_postgis=#GRANT ALL ON geometry_columns TO PUBLIC;
template_postgis=#GRANT ALL ON spatial_ref_sys TO PUBLIC;
template_postgis=#VACUUM FREEZE;
template_postgis=#\q
对于用户,即可创建数据库
createdb test_gis_db -T template_postgis
dropdb test_gis_db
此部分参考 http://www.360doc.com/content/09/0220/11/1484_2597100.shtml
转载自:https://blog.csdn.net/cnhome/article/details/6990090