php - Mysql 检索多边形数据

标签 php mysql geospatial polygon

我一直在开发一个以多边形(纬度和经度)形式在 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/

相关文章:

mysql - 根据同一行中的另一列值填充列的值

performance - Lucene 内存空间索引性能不佳

mysql - 为表中的每一行选择最近的点

php - SQL查询将两列与另一表中的一列进行比较(并获取两个值)

MySQL 5.5 utf8 问题

MySQL命令用于获取半径内且匹配相同类型的所有结果

数据库设计

php - 我怎样才能同时在php中做两个foreach循环

php - 删除/隐藏 Woocommerce 添加到购物车消息但保留/显示优惠券应用消息

php - cURL 上传到 Google 云端硬盘