Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
行/位置具有不同半径的MySQL空间查询_Mysql_Database_Geolocation_Spatial - Fatal编程技术网

行/位置具有不同半径的MySQL空间查询

行/位置具有不同半径的MySQL空间查询,mysql,database,geolocation,spatial,Mysql,Database,Geolocation,Spatial,我有一个MySQL表,其中包含以下列: 拉特 液化天然气 半径 我希望能够查询特定的Lat和Lng,并且查询返回半径与该位置重叠的所有行 我知道如何查询给定半径范围内的位置,但我正在努力解决如何反向查询。如何查询给定半径范围内的位置?您正在运行哪个版本的MySQL(因为可用的空间分析功能不同)?我猜想您需要在空间表中为半径定义的圆存储一个边界框,然后查询以查找包含您的点的所有候选框,然后过滤结果以排除边界框矩形超出外角附近半径的点。优化器仍然可以利用空间索引完成大部分工作,然后过滤其余的工作

我有一个MySQL表,其中包含以下列:

  • 拉特
  • 液化天然气
  • 半径
我希望能够查询特定的Lat和Lng,并且查询返回半径与该位置重叠的所有行


我知道如何查询给定半径范围内的位置,但我正在努力解决如何反向查询。

如何查询给定半径范围内的位置?您正在运行哪个版本的MySQL(因为可用的空间分析功能不同)?我猜想您需要在空间表中为半径定义的圆存储一个边界框,然后查询以查找包含您的点的所有候选框,然后过滤结果以排除边界框矩形超出外角附近半径的点。优化器仍然可以利用空间索引完成大部分工作,然后过滤其余的工作。