从SQL创建SHP

时间:2010-05-06 07:23:37

标签: postgis shapefile

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

1 个答案:

答案 0 :(得分:1)

如果不调用shell,则无法实现。但是,有两个kuldges可用:

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

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

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