Я пытаюсь вставить GTiff-файл в указанную c таблицу PostGIS, используя команду raster2pg sql. Пока мне удалось вставить 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
. Но, похоже, нет способа указать имя таблицы.