Добавить в таблицу столбец с геометрией в другой СК.

Ответить
Аватара пользователя
gala-kt
Участник
Сообщения: 89
Зарегистрирован: 26 июл 2010, 12:05
Репутация: 6
Откуда: Санкт-Петербург

Добавить в таблицу столбец с геометрией в другой СК.

Сообщение gala-kt »

Как сохранить дополнительную колонку с перепроцированной геометрией в одной таблице?
Могу добавить колонку:

Код: Выделить всё

ALTER TABLE topo ADD COLUMN the_geom_4326 geometry;
Могу построить запрос на вывод данных с двумя SRID:

Код: Выделить всё

SELECT *, ST_Transform(the_geom,4326) "the_geom_4326" FROM topo;
А объединить это все воедино не могу :)
Или надо как-то записать в новую таблицу результаты запроса?
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение trir »

1. Создать столбец
2. Заполнить его
insert into topo as t1 (the_geom_4326) select ST_Transform(the_geom,4326) from topo as t2 where t1.id=t2.id
Аватара пользователя
gala-kt
Участник
Сообщения: 89
Зарегистрирован: 26 июл 2010, 12:05
Репутация: 6
Откуда: Санкт-Петербург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение gala-kt »

t1 и t2 - нечто вроде псевдонимов?

syntax error at or near "as"
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение trir »

а если выкинуть "as"
Аватара пользователя
gala-kt
Участник
Сообщения: 89
Зарегистрирован: 26 июл 2010, 12:05
Репутация: 6
Откуда: Санкт-Петербург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение gala-kt »

тогда как задать t1 и t2?
или их тоже выкинуть? тогда как задать условие равентсва id?
без него у меня логичным образом дублировались записи в таблицу
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение trir »

insert into topo t1 (the_geom_4326) select ST_Transform(the_geom,4326) from topo t2 where t1.id=t2.id
Аватара пользователя
gala-kt
Участник
Сообщения: 89
Зарегистрирован: 26 июл 2010, 12:05
Репутация: 6
Откуда: Санкт-Петербург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение gala-kt »

syntax error at or near "t1"
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение trir »

insert into topo (the_geom_4326) select ST_Transform(the_geom,4326) from topo t2 where topo.id=t2.id
Аватара пользователя
gala-kt
Участник
Сообщения: 89
Зарегистрирован: 26 июл 2010, 12:05
Репутация: 6
Откуда: Санкт-Петербург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение gala-kt »

ERROR: invalid reference to FROM-clause entry for table "topo"
SQL-состояние: 42P01
Подсказка: Perhaps you meant to reference the table alias "t2".
Символ: 296
HasT
Активный участник
Сообщения: 142
Зарегистрирован: 16 окт 2009, 22:08
Репутация: 55
Откуда: Харьков

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение HasT »

Код: Выделить всё

ALTER TABLE topo ADD COLUMN the_geom_4326 geometry(Point, 4326);
UPDATE topo SET the_geom_4326 = ST_Transform(topo.the_geom, 4326);
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение trir »

SQL-состояние: 42P01
Подсказка: Таблица "boundary-polygon" присутствует в запросе, но сослаться на неё из этой части запроса нельзя.
А в MS SQL Server работает...

:facepalm:
точно ведь update, а не insert - чего то я сегодня совсем плох :(
Аватара пользователя
gala-kt
Участник
Сообщения: 89
Зарегистрирован: 26 июл 2010, 12:05
Репутация: 6
Откуда: Санкт-Петербург

Re: Добавить в таблицу столбец с геометрией в другой СК.

Сообщение gala-kt »

Спасибо!
Все так просто кажется, надо логику развивать.
Ответить

Вернуться в «PostGIS/PostgreSQL»

Кто сейчас на конференции

Сейчас этот форум просматривают: Semrush [Bot] и 1 гость