3

是否可以在没有 shell 的情况下使用 pgsql2shp 将 sql 转换为 shp 文件?通过一些 SQL(postgis、postgresql)语法?

4

1 回答 1

1

不调用 shell 是不可能的。但是,有两个 kuldge 可用:

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

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

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

于 2010-05-10T02:36:55.893 回答