把PostGIS中的一张表转成GML,需要在命令中写sql,貌似网上就没有找到这方面的信息
ogr2ogr -f "GML" e:\target.gml
PG:"host=localhost port=5432 dbname=template_postgis user=post password=gis"
-sql "select * from res1_4m"
下面我做的这个python小程序倒是可以封装繁琐的PostgreSQL信息,它的功能限于从数据库中取出数据转换成其他格式。
#using "ogrpg.py FORMAT_NAME DST_DATASOURCE [SQL]" when running
import os,sys
ogrPath = r'D:\Program Files\FWTools\bin\ogr2ogr.exe'
pginfo = {}
pginfo['host'] = 'localhost'
pginfo['port'] = '5432'
pginfo['dbname'] = 'template_postgis'
pginfo['user'] = 'post'
pginfo['password'] = 'gis'
def pgPara():
para = ''
for i in pginfo.keys():
para = para + i + '=' + pginfo[i] + ' '
para = para.join('""')
para = "PG:"+para
return para
if __name__ == "__main__":
argc = len(sys.argv)
if argc !=3 and argc != 4:
print 'argument: FORMAT_NAME, DST_DATASOURCE'
#return;
else:
format_name = sys.argv[1].join('""')
dst_datasource = sys.argv[2]
sql = ''
if argc == 4:
sql = sys.argv[3].join('""')
command = '-f '+ format_name + ' ' + dst_datasource + ' ' + pgPara() + ' -sql ' +sql
print command
if raw_input('Yes?[Y|N]') in ['Y','y']:
print 't'
os.spawnv(os.P_DETACH,ogrPath,('ogr2ogr',command))
还说最近有越来越多的朋友从Google或者Baidu来到的我的Blog,甚至我的同班同学,希望能对大家有点帮助吧,虽然我也很有限。。。

Recent Comments