繁体   English   中英

Object 在 100 m 距离内,错误:对混合 SRID 几何图形的操作

[英]Object in 100 m distance, Error: Operation on mixed SRID geometries

我执行以下查询:

SELECT * FROM "houses" WHERE (ST_Distance(coordinates, 'POINT(-0.374930 39.478400)'::geometry) < 100)

查找距离 100 米左右的房屋:39.478400, -0.374930

我收到以下错误:

PG::InternalError: ERROR: Operation on mixed SRID geometries

这里有什么问题?

"Coordinates" is of type: geometry "coordinates", limit: {:srid=>4326, :type=>"geometry"}

谢谢你,圣诞快乐

几何文字'POINT(-0.374930 39.478400)'::geometry没有 SRID,而houses.coordinates中的几何图形的 SRID 为4326 您需要传递具有相同 SRID 的几何图形,即使用ST_GeomFromText

...
WHERE ST_Distance(coordinates, ST_GeomFromText('POINT(-0.374930 39.478400)', 4326)) < 100

但请记住,距离以 SRID 为单位返回,对于 SRID 4326 是度数,而不是 要检索以米为单位的距离,您可以使用ST_DistanceSphere

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM