簡體   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