(wkt转shp)CSV中文本WKT值生成shape文件

本文解决WKT形式为点、线、面等不同情况下直接生成shape矢量数据,包括CSV中原有的属性内容!

提供一个PostGIS&PostSQL下载网址链接(亲测可用):https://download.csdn.net/download/weixin_46489415/12510972

PostGIS&PostSQL安装成功后如下图,安装教程网上很多,在此提出安装时注意的几个小点:
1、在安装时关闭第三方杀毒软件;
2、PostSQL安装过程中需要输入后面登陆时的账号及密码,账号可默认为postgres,密码设置一个自己能记住的即可;
3、PostSQL安装过程中端口“5432”可以默认;
4、PostGIS&PostSQL安装基本都是下一步,两个软件安装路径最好放在同一路径下。

安装成功后,可在电脑中查看安装成果:

(wkt转shp)CSV中文本WKT值生成shape文件
安装成功后,
首先启动pgAdmin4,输入安装时设置的账号及密码,为了保证PostSQL有PostGIS拓展,请先运行SQL语句(Tools工具下,点击Query Tool,新窗口运行语句):CREATE Extension PostGIS

在数据库(可新建属于自己的数据库)中添加SQL脚本(本文脚本提供了数据是投影坐标系和地理坐标系不同情况下的转换方式),如下图:
(wkt转shp)CSV中文本WKT值生成shape文件
代码粘贴出来(如下),方便大家复制:
CREATE TABLE fishnet(FID varchar(100),biao varchar(100),cs varchar(100),wkt varchar(10000000));
COPY fishnet FROM ‘D:/fishnet.csv’ WITH CSV HEADER;

数据是投影坐标系(平面坐标系),那就用要将WKT转成geometry
ALTER TABLE fishnet ADD geom geometry
UPDATE fishnet set geom=ST_GeomFromText(wkt,4326)

数据是地理坐标系(大地坐标系),那就用要将WKT转成geography
ALTER TABLE fishnet ADD geog geography
UPDATE fishnet set geog=ST_GeographyFromText(wkt)

(CREATE TABLE 创建表中字段时,少量的可直接创建,属性多时,可创建能关联字段,在ArcGIS中后面进行关联即可,测试数据csv中我只用了几条数据展示一下,如下:)
(wkt转shp)CSV中文本WKT值生成shape文件

在数据库中表创建完成及数据导入了之后,接下来进入数据转换步骤!
打开PostGIS 2.0 Shapefile and DBF Loader Exporter,依次点击添加刚刚创建好的数据并导出数据,如下图:
(wkt转shp)CSV中文本WKT值生成shape文件
上图步骤说明:
1、进入导出数据界面;
2、添加数据库(如果一切都是默认的话,Username应该是postgres,密码就是你安装数据库时设置的密码,Database如果是默认的话应该也是postgres);
3、添加数据库中的表数据(所创建的数据表);
4、导出数据。
导出数据后在相应的文件夹中能看到shape文件。

上一篇:mysql空间扩展对比postgis


下一篇:POSTGIS导入shp文件出错,