PostGIS导入导出shp的注意事项
1、postgresql 数据库的表明使用小写,表名不能使用大写,否则会识别不了。
2、数据导入之前需要给需要导入的数据库增加空间扩展功能。
3、使用 postgis shapfile and db loader 插件时,选择的SHP文件路径不能有中文,路径不能太复杂。否则出现 dbf file (.dbf) can not be opened.的错误。
4、导入默认的编码是UTF-8,需要修改为GBK,否则会报错。
5、按照以上步骤,基本能够导入成功。
6、导入成功的SHP文件名会自动变成小写名称,并用做表名。如下图所示为,数据导入后的结果。
SHP的导出
shp的导出实际上是用的是bin\pgsql2shp.exe
1、注意编码问题,由于导出的Options没有编码选项可供选择设置。
尝试1):进入PSQL Console修改客戶端字符集,結果无效,設置为GBK后導出的shp属性表中中文依旧乱码
--修改客戶端字符集
postgres=# show client_encoding;
client_encoding UTF8
(1 row)
postgres=# set client_encoding='GBK';
SET
尝试2):设置系统的环境变量 PGCLIENTENCODING=GBK,退出PostgreSQL重新登錄,执行成功!。
注意:编码问题,由于导出的options没有编码选项可供设置。
然后执行导出操作,导出提示成功。
使用ArcMap打开数据进行查看。
导出的数据没有.prj文件,要加得用ArcCatalog來进行设置。
參考文章里还提到了用命令行进行导入导出的方法,暂且没有尝试,以后有需要再研究。
联系方式:QQ--56524046 邮箱:x38160@126.com
承接GIS外包,GIS数据处理等业务。
提供GIS方案、技术指导等。