我可以检查多边形是否在mysql查询中的另一个多边形内?什么是查询以获取包含where字符串中传递的多边形的所有多边形?
谷歌搜索后,我发现了一个查询: -
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 );
我不确定它基本上是做什么的?那么插入多边形并检查传递的多边形是否在其中的查询是什么?
提前全部谢谢!
答案 0 :(得分:0)
您可以像这样插入多边形:
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);