使用raster2pgsql将GTiff文件插入到PostGIS表中。

问题描述 投票:0回答:1

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

下面是一个例子。

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. 但似乎没有办法指定表的名称。

python postgis psycopg2 postgis-raster
1个回答
1
投票

如果你想自己指定表,你的查询必须是这样的。

raster2pgsql -s 4326 -I -C -M C:\temp\test_1.tif -t 100x100 myschema.mytable > out.sql

如果你想把光栅添加到现有的表中,你是对的,你必须使用"-a "值

© www.soinside.com 2019 - 2024. All rights reserved.