通过gdal加载PostGIS矢量数据
目录
概述
本文主要简述通过GDAL的ogr2ogr工具导入矢量数据到PostGIS中。
软件环境
操作系统:centos
数据库:PostgreSQL 9.5.3/PostGIS 2.2.1
GDAL 2.1.1(确保gdal编译的支持postgis:windows下在nmake.opt中设置# PostGIS Libraries中对应的头文件和动态库;linux下configure时配置头文件和动态库)
导入工具ogr2ogr说明
GDAL是一个抽象的数据转换模型,支持常见的矢量、栅格数据格式,并且提供了查看数据、数据转换和数据处理等工具。这里主要用到矢量数据转换工具ogr2ogr(GDAL中ogr表示矢量数据)。将矢量数据导入postgis,其实就是将某种格式的矢量数据转换到postgis格式的矢量数据,所以对于特殊处理既要关注ogr2ogr的用法,还需要关注对应格式的一些注意事项。
ogr2ogr的说明,参考http://www.gdal.org/ogr2ogr.html
postgis支持两种形式:
PostgreSQL / PostGIS:http://www.gdal.org/drv_pg.html(直接导入到postgis中)
PostgreSQL SQL Dump:http://www.gdal.org/drv_pgdump.html(dump成postgis支持的SQL语句,执行完ogr2ogr后直接用psql -f执行SQL文件即可)
综合以上参考资料,以下主要列出常用的需要注意的点:
1.中文路径有问题,这个可以搜索GDAL支持中文路径,网上很容易找到解决方案;
2.中文编码。对于导入矢量属性数据为中文编码的数据,需要设置客户端变量SET PGCLIENTENCODING=GBK,并且配置shape编码(–config SHAPE_ENCODING GBK);
3.insert模式和copy模式:很显然insert模式支持事务,支持导入错误后继续等特性,但是速度上比copy慢很多(–config PG_USE_COPY YES,默认是insert);
导入示例
转载自:https://blog.csdn.net/alex_gis/article/details/56841662