如何在 mysql 数据库中插入多边形并检查传递的多边形是否在其中?
How to insert the polygon and checking if a passed polygon is inside it in mysql database?
我可以在 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 );
我不确定它基本上在做什么?那么插入多边形并检查传递的多边形是否在其中的查询将是什么?
提前致谢!
您可以像这样插入多边形:
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);
我可以在 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 );
我不确定它基本上在做什么?那么插入多边形并检查传递的多边形是否在其中的查询将是什么?
提前致谢!
您可以像这样插入多边形:
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);