将1列PostgreSQL中的2列组合在一起

时间:2014-06-15 17:01:40

标签: sql postgresql geometry gis point

我有两列column1,column2是真实的类型,我想组合它们以获得几何(Point,4326)。 我目前的代码就是这个:

INSERT INTO table2(location)
SELECT
    geometry(POINT(column1, column2))
FROM
    table1

我收到此错误:Geometry SRID (0) does not match column SRID (4326)

当我尝试在我的几何体中添加SRID时:geometry(POINT(column1, column2),4326)它无法识别几何体,抛出错误:function geometry(point, integer) does not exist

请注意,该位置的类型为geometry(POINT, 4326)。我也尝试过UpdateGeometrySRID:select UpdateGeometrySRID('public', 'table2', 'location', 4326) ;但在这两种情况下我仍然会遇到相同的错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这应该适合你。

INSERT INTO table2(location)
SELECT
    ST_SetSRID(ST_MakePoint(column1, column2), 4326);
FROM
    table1;