如何将 PostGIS 查询转换为 MySQL 空间查询



我需要翻译这个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))

MySQLboundary列包含以下格式的数据:

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))

我希望这对未来的用户有用。

最新更新