从SQL创建SHP

从SQL创建SHP

问题描述:

是否可以使用pgsql2shp而不使用shell将sql转换为shp文件?通过一些SQL(postgis,postgresql)语法?从SQL创建SHP

不调用shell是不可能的。但是,可以使用两个kuldges:

1)您可以在postgresql中使用不安全语言(如python)创建函数,然后执行pgsql2shp。这是一个丑陋的黑客攻击,但具有通过SQL查询生成shapefile的优势。

2)您可以将sql结果转储到一个临时表中,其几何列通过ST_AsText保存为文本。然后,您可以通过sql COPY TO命令将表转储到csv,然后使用客户端脚本从csv重建shapefile。

这两种方法都不是完全令人满意的(特别是方法2可能会损失几何的几何精度),但它们可能足以实现您的目标。