我可以检查一个多边形是否在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 );
我不确定它基本上在做什么?那么,插入多边形并检查传递的多边形是否在其中的查询是什么呢?
提前感谢大家!
你可以像这样插入一个多边形:
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);