Я хочу сделать третий столбец из двух существующих столбцов. Скажем, моя текущая таблица (координаты) выглядит так:
(table: coords)
+----------------+------+
| x | y |
+----------------+------+
| 1 | 0 |
+----------------+------+
| 1 | 1 |
+----------------+------+
Я хочу сделать третий столбец геометрического типа (из PostGIS) из два других и добавьте этот столбец в эту таблицу. Итоговая таблица должна выглядеть так:
(table: pointsT)
+-----+----------+------+----+-----
| x | y | coord |
+----------------+------+----------
| 1 | 0 | (1, 0) |
+----------------+------+----------
| 1 | 1 | (1, 1) |
+----------------+------+----------
Я хочу создать таблицу из этого. Что-то типа:
CREATE TABLE pointsT(x text, y text, point geometry);
INSERT INTO points(x, y, point)
SELECT CO.x, CO.y, CO.'POINT(CO.x CO.y)' AS p FROM coords AS CO;
Редактировать: из ответа Эдвина Используя ответ Эдвина, это будет полная команда:
CREATE TABLE pointsT(x text, y text, point geometry);
INSERT INTO points(x, y, point)
SELECT CO.x, CO.y, ST_AsText(ST_SetSRID(ST_Point(CO.x CO.y), 4326) AS wgs84long_la FROM coords AS CO;
x
иy
или сохранитеpoint
, но не оба. - person Erwin Brandstetter   schedule 27.09.2013