from osgeo import ogr import sys databaseServer = "<IP of database server OR Name of database server" databaseName = "<Name of database>" databaseUser = "<User name>" databasePW = "<User password>" connString = "PG: host=%s dbname=%s user=%s password=%s" %(databaseServer,databaseName,databaseUser,databasePW) def GetPGLayerFields( lyr_name ): conn = ogr.Open(connString) lyr = conn.GetLayer( lyr_name ) if lyr is None: print >> sys.stderr, '[ ERROR ]: layer name = "%s" could not be found in database "%s"' % ( lyr_name, databaseName ) sys.exit( 1 ) lyrDefn = lyr.GetLayerDefn() for i in range( lyrDefn.GetFieldCount() ): print lyrDefn.GetFieldDefn( i ).GetName() conn.Destroy() if __name__ == '__main__': if len( sys.argv ) < 2: print >> sys.stderr, '[ ERROR ]: you must pass at least one argument -- the layer name argument' sys.exit( 1 ) lyr_name = sys.argv[1] GetPGLayerFields( lyr_name )
此代码示例返回用户定义的字段的字段名称(创建)。
关注公众号
获取免费资源
Copyright © Since 2014.
开源地理空间基金会中文分会
吉ICP备05002032号
Powered by TorCMS