我有一个运行 PostGIS 的 Postgres 数据库。我正在使用 Node.js 和 Sequelize 来处理数据库中的数据。在我的一张表上,我有一个返回奇怪结果的几何列。
通常,当我使用 sequelize 查询几何列时,我会得到以下信息:
{
type: 'Point',
coordinates: [ 33.48051135141372, -111.92908778058047 ]
}
但出于某种原因,当我记录此列的结果时,我得到以下字符串:
01010000004D20CF54F80241409C8C9B8BAE9E5DC0
在其他表上我得到了预期的结果。但是出于某种原因,对于这个特定的表/列,我无法从返回的数据中解析纬度和经度。
谁能解释为什么我可能会得到这个而不是上面的普通 JSON?
最佳答案
坐标必须先用经度
表示,再用纬度
表示。
您的输入表示为 lat
-long
,因此超出范围。尝试交换坐标。
直接使用postgis,可以显示几何图形的文字表示:
select st_asText('01010000004D20CF54F80241409C8C9B8BAE9E5DC0');
st_astext
------------------------------------------
POINT(34.023203469406 -118.479403402237)
确实确认坐标顺序错误。
关于node.js - Sequelize 和 PostGIS 几何列未返回正确的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56232767/