开源WebGIS实施方案(三):Shapefile数据导入到PostGIS

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中图层效果

posted @ 2017-05-25 17:19  百折不回  阅读(1438)  评论(0编辑  收藏