我一直在开发一个以多边形(纬度和经度)形式在 mysql 数据库中存储空间数据的站点,例如建筑物、花园等。
我想知道如何在 mysql 中检索多边形数据。
我看过这个插入多边形数据的示例查询: http://amper.110mb.com/SPAT/mysql_initgeometry2.htm
但现在我想知道如何根据某些约束从表中检索数据,例如:
"where latitude < 9.33 and longitude > 22.4"
另外我如何找到一个点是在多边形内部还是外部
最佳答案
这是一个包含大量示例的页面:http://howto-use-mysql-spatial-ext.blogspot.com/
这是检索点与指定边界框相交的行的示例之一:
SET @bbox = 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))';
SELECT name, AsText(location) FROM Points
WHERE Intersects( location, GeomFromText(@bbox) );
MySQL documentation说这些空间函数也适用于几何(看起来点也是几何)。因此,您可以检查数据库中的几何图形是否与您在 select 语句中指定的几何图形相交。
关于php - Mysql 检索多边形数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5101140/