如何在postgresql中找到纬度值并将其保存在另一个table中

How to find the latitude value and save it in another table in postgresql

我有一个 shp 文件,我想获取纬度值并将其存储在另一个 table。

CREATE TABLE Polepoints ( X varchar(50),Y varchar(50),Z  varchar(50));

插入操作:

INSERT INTO Polepoints (X) Select ST_X (ST_Centroid(geos)) from mytable

它抛出错误

column X doesn't exist

但列和 table 存在。我是初学者。

问题一定出在其他地方。如果 table Polepoints 确实有一个名为 X 的列,则不应出现此错误(请参见下面的示例)。检查您是否连接到正确的数据库,或者即使真正的 table polepoints(包含列 X 的数据库)是否处于不同的架构中。

CREATE TABLE Polepoints ( X varchar(50),Y varchar(50),Z  varchar(50));

WITH mytable (geos) AS (
  VALUES ('POINT(1 1)'),('POINT(2 3)')
)
INSERT INTO Polepoints (X) SELECT ST_X (ST_Centroid(geos)) FROM mytable;

SELECT * FROM polepoints;

 x | y | z 
---+---+---
 1 |   | 
 2 |   |