使用 raster2pgsql 将 GTiff 文件插入 PostGIS 表

我正在尝试使用 raster2pgsql 命令将 GTiff 文件插入到特定的 PostGIS 表中。到目前为止,我设法将 GTiff 文件插入到我连接的 PostGIS 数据库中。但这会使用 GTiff 文件的文件名创建一个新表。之后我也可以将栅格数据移动到目标表,但我想有一种更有效的方法。


这是一个例子:


import psycopg2

import os


tif_path = 'test.tif'

conn = psycopg2.connect(

    host = 'localhost',

    port = 5432,

    user = 'postgres',

    dbname = 'gisdb'

    )

curs = conn.cursor()

curs.execute("SET postgis.gdal_enabled_drivers = 'ENABLE_ALL';")

os.system('raster2pgsql "%s" > temp.sql'%tif_path)

curs.execute(open('temp.sql','r').read())

有没有办法将栅格数据直接插入现有表中?


我知道我可以使用-a将栅格附加到现有表并使用-f. 但似乎没有办法指定表的名称。


人到中年有点甜
浏览 463回答 1
1回答

海绵宝宝撒

如果你想自己指定表,你的查询必须是这样的:raster2pgsql -s 4326 -I -C -M C:\temp\test_1.tif -t 100x100 myschema.mytable > out.sql如果您想将栅格添加到现有表中,您是对的,您必须使用“-a”值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python