是否可以使用无壳的pgsql2shp将sql转换为shp文件?通过一些SQL(postgis,postgresql)语法?

最佳答案

不调用外壳程序是不可能的。但是,可以使用两种方式:

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

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

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

09-17 18:14