Код: Выделить всё
UPDATE "Public".buildings
SET fields1=CASE
WHEN ST_AREA(geom::geography)>500 THEN 1
WHEN ST_AREA(geom::geography)<500 THEN 0
END
Прошу помочь советом/примером.
Геоинформационные системы (ГИС) и Дистанционное зондирование Земли
Код: Выделить всё
UPDATE "Public".buildings
SET fields1=CASE
WHEN ST_AREA(geom::geography)>500 THEN 1
WHEN ST_AREA(geom::geography)<500 THEN 0
END
Код: Выделить всё
import psycopg2
connString = "
host='hostname'
port='5432'
dbname='db_name'
user='db_user'
password='db_user_pass'"
SQL="""
UPDATE \"Public\".buildings
SET fields1=CASE
WHEN ST_AREA(geom::geography)>500 THEN 1
WHEN ST_AREA(geom::geography)<500 THEN 0
"""
conn = psycopg2.connect(connString)
cur = conn.cursor()
cur.execute(SQL)
cur.commit()
cur.close()
conn.close()
Я правильно понимаю что такой запрос должен срабатывать через "Консоль Python" в QGIS ?oldbay писал(а): ↑27 апр 2019, 00:41
Вышеописанных строк тысячи, а штатный калькулятор имеет ограничения. Поэтому не подходит
Вот не скажу. Это простейший скрипт на python для выполнения вашего запроса. Он требует установки пакета psycopg2 (https://pypi.org/project/psycopg2/)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей
© GIS-Lab и авторы, 2002-2017. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).