0

同様の質問

既存の 2 つの列から 3 番目の列を作成したいと考えています。現在のテーブル (座標) が次のようになっているとします。

(table: coords)
+----------------+------+
|    x     |     y      |
+----------------+------+
|     1    |     0      |
+----------------+------+
|     1    |     1      |
+----------------+------+

他の 2 つから ( PostGISから)タイプ ジオメトリの 3 番目の列を作成し、この列をそのテーブルに追加したいと考えています。最終的なテーブルは次のようになります。

(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;

編集: Edwins Answer Using Edwins answer から、これは完全なコマンドになります:

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;
4

2 に答える 2