PostGIS新版中提供了一个可视化的工具,用于Shapefile数据的导入和导出,极大的方便了使用者的操作。
创建空间数据库
以具有创建用户权限的账号登录pgAdminIII,连接到数据库
创建一个数据库
对于空间数据的存储,需要为该数据库指定postgis模板。
如果有postgis模板,直接指定就行;但不幸的是,这个版本并没有对应的postgis模板。所以需要手动处理一下:先建立普通类型的数据库,再按照下列SQL扩展该数据库,以支持PostGIS。
-- Enable PostGIS (includes raster)
CREATE EXTENSION postgis;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- Enable PostGIS Advanced 3D
-- and other geoprocessing algorithms
-- sfcgal not available with all distributions
CREATE EXTENSION postgis_sfcgal;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- rule based standardizer
CREATE EXTENSION address_standardizer;
-- example rule data set
CREATE EXTENSION address_standardizer_data_us;
-- Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder; CREATE EXTENSION ogr_fdw;
CREATE EXTENSION pgrouting;
CREATE EXTENSION pointcloud;
CREATE EXTENSION pointcloud_postgis;
扩展之后,执行以下语句,确认是否成功。
select postgis_full_version();
导入Shapefile数据
启动PostGIS下的该GUI工具,连接到目标空间数据库,连接成功会有相关提示信息。
导入shp数据,点击Add File,在对话框中选择对应的Shapefile;设置相关参数后,点击Import将Shapefile导入到PostGIS数据库。导入成功时,会有相应提示信息。
值得注意的是:使用该工具进行Shapefile入库时,Shapefile完整的路径名称中不可以含有中文字符,但Shapefile内部数据信息(如字段名、属性值)是可以使用中文字符的。
在PostgreSQL中查询
uDig中加载PostGIS中图层效果