从 varchar (x,y) 创建点几何

Creating point geometry from varchar (x,y)

我有很多 table 个地点。这些位置在 varchar 中写为 (x,y)。我需要为所有位置创建一个单独的点。我在 table 中创建了一个点几何列,但不知道如何根据它们所在的格式为位置创建点。

地理数据坐标位于 (x,y) 的单列中 例如 (52.3852758,4.8682022)

我正在使用这个脚本但是出现错误。

更新“tlblocation”设置 geom=ST_GeomFromText(geodata);

如有任何帮助,我们将不胜感激

您可以使用 ST_* 函数。即:

drop table if exists geosample;
CREATE TABLE geosample(gid serial PRIMARY KEY,  geog geography(POINT) null, pointAsVarchar varchar(100));

insert into geoSample (pointAsVarchar) values
('(-74.06414465351811,40.70677298472955)'),
('(-122.33383026916862,47.62266259856472)'),
('(2.3501235468097144,48.86267330918897)');


update geoSample set geog = st_pointfromtext('POINT'||replace(pointAsVarchar,',',' ')) where 1=1;

select *, st_astext(geog) from geosample;