2010-05-06 220 views
3

是否可以使用pgsql2shp而不使用shell將sql轉換爲shp文件?通過一些SQL(postgis,postgresql)語法?從SQL創建SHP

回答

1

不調用shell是不可能的。但是,可以使用兩個kuldges:

1)您可以在postgresql中使用不安全語言(如python)創建函數,然後執行pgsql2shp。這是一個醜陋的黑客攻擊,但具有通過SQL查詢生成shapefile的優勢。

2)您可以將sql結果轉儲到一個臨時表中,其幾何列通過ST_AsText保存爲文本。然後,您可以通過sql COPY TO命令將錶轉儲到csv,然後使用客戶端腳本從csv重建shapefile。

這兩種方法都不是完全令人滿意的(特別是方法2可能會損失幾何的幾何精度),但它們可能足以實現您的目標。