如何插入多边形和检查如果通过的多边形是里面在 mysql 数据库中?

标签: MySQL
发布时间: 2017/1/9 22:00:25
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我可以检查一个多边形是否在 mysql 查询中的另一个多边形内呢?什么将会查询来获得所有的多边形包含传递的多边形在哪里字符串?

在谷歌上搜索之后, 我发现查询:-

SELECT *, AsText(poly) FROM geos 
 WHERE Contains(
 GeomFromText('POLYGON((42.000497 -109.050149, 
 41.002380 -102.051881, 
 39.993237 -102.041959, 
 38.999037 -109.045220, 
 42.000497 -109.050149))'), poly );

我不相信它基本上在做什么?查询插入多边形和检查如果通过的多边形是在它里面是什么?

所有在此先感谢 !

解决方法 1:

您可以插入一个多边形像这样︰

SET @g1 = 'POLYGON ((
    //your points of polygon here
))';

INSERT INTO geos set poly=ST_GeomFromText(@g1);

和,如果你想要检查另一个 g2,如果它包含 g1:

SELECT * FROM geos WHERE ST_CONTAINS(ST_GeomFromText(@g2), poly);
赞助商