我一直在开发一个网站,以多边形(纬度和经度)的形式存储mysql数据库中的空间数据,如建筑物,花园等.
我想知道如何在mysql中检索多边形数据.
我见过这个示例查询来插入多边形数据:
http://amper.110mb.com/SPAT/mysql_initgeometry2.htm
但现在我想知道如何从表中检索数据,基于某些约束,如:
“纬度<9.33和经度> 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语句中指定的几何相交.