从SQL创建SHP
答
不调用shell是不可能的。但是,可以使用两个kuldges:
1)您可以在postgresql中使用不安全语言(如python)创建函数,然后执行pgsql2shp。这是一个丑陋的黑客攻击,但具有通过SQL查询生成shapefile的优势。
2)您可以将sql结果转储到一个临时表中,其几何列通过ST_AsText保存为文本。然后,您可以通过sql COPY TO命令将表转储到csv,然后使用客户端脚本从csv重建shapefile。
这两种方法都不是完全令人满意的(特别是方法2可能会损失几何的几何精度),但它们可能足以实现您的目标。