gpt4 book ai didi

postgresql - 从 PostgreSQL 到 Postgis

转载 作者:行者123 更新时间:2023-11-29 13:03:23 26 4
gpt4 key购买 nike

我遇到了麻烦。我在 postgres 中有两个表,列为“lat”和“lon”。如何将它们转换为 postgis geom(Point) 并计算这些点之间的距离?我是新手,所以请帮助我:)

最佳答案

一般来说,see this answer (甚至 this one )。

-- Add a spatial column with EPSG:4326 (WGS84)
ALTER TABLE some_table ADD COLUMN geom geometry(Point, 4326);

-- Use coordinates to create point geometries
UPDATE some_table SET
geom = ST_SetSRID(ST_MakePoint(lon, lat), 4326);

然后计算每个点到另一个点的距离,使用这样的东西:

SELECT t1.gid, t2.gid, ST_Distance(t1.geom, t2.geom)
FROM some_table t1, some_table t2
WHERE t1.gid > t2.gid;

请注意,距离将是基于度数的笛卡尔坐标,因此实际上是无意义的。考虑使用 geography 类型(而不是 geometry)来获取以米为单位的距离结果,或者使用 ST_Distance_SphereST_Distance_Spheroid使用几何

关于postgresql - 从 PostgreSQL 到 Postgis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22222359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com