簡體   English   中英

如何將 PostGIS 查詢轉換為 MySQL 空間查詢

[英]How to translate a PostGIS query to MySQL spatial query

我需要翻譯這個 PostGIS 查詢:

SELECT boundary
        ST_Intersects(ST_SetSRID(ST_Buffer(ST_MakePoint(11.255492,43.779251),0.002), 4326), ST_GeomFromKML(boundary)) as intersect,
FROM 
    mytable 
WHERE 
        ST_Intersects(ST_SetSRID(ST_Buffer( ST_MakePoint(11.255492,43.779251),0.002), 4326), ST_GeomFromKML(boundary))
LIMIT 1

到帶有空間數據的 MySQL。

我試過這個,但它不起作用:

SELECT 
    boundary, 
    ST_Intersects(Buffer('POINT(11.7094335,44.2754631)', 2), GeomFromText(boundary)) as intersect
FROM 
    mytable 
WHERE 
    ST_Intersects(Buffer('POINT(11.7094335,44.2754631)', 2), GeomFromText(boundary))

MySQL boundary列包含以下格式的數據:

POLYGON((11.752094222227 44.322710250414,11.753712975677 44.322710250414,11.753712975677 44.321900873689,11.752094222227 44.321900873689,11.752094222227 44.322710250414))

我究竟做錯了什么?

我通過反復嘗試找到了答案......這解決了問題:

SELECT 
        boundary, 
        ST_Intersects(GEOMFROMTEXT(boundary), ST_Buffer(POINT(11.752094222227, 44.322710250414), 2)) as intersect
FROM 
        mytable 
WHERE  
        ST_Intersects(GEOMFROMTEXT(boundary), ST_Buffer(POINT(11.752094222227, 44.322710250414), 2))

我希望這對未來的用戶有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM