Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Php 我可以选择行的坐标距离目标坐标_Php_Mysql_Google Maps_Geospatial_Spatial - Fatal编程技术网

Php 我可以选择行的坐标距离目标坐标

Php 我可以选择行的坐标距离目标坐标,php,mysql,google-maps,geospatial,spatial,Php,Mysql,Google Maps,Geospatial,Spatial,在堆栈溢出上有一些类似的问题,但因为我找不到任何足够相似的问题,所以我无法遵循 我希望从db中选择距离目标x英里以内的行 表列示例: | city_name(varchar) | lat(decimal) | lon(decimal) | 我正在寻找使用php或mysql的查询效果 $target_lat = ; $target_lon = ; "SELECT table.city_name WHERE (table.lat,table.lon) LESS THAN 20 MILES FROM

在堆栈溢出上有一些类似的问题,但因为我找不到任何足够相似的问题,所以我无法遵循

我希望从db中选择距离目标x英里以内的行

表列示例:

| city_name(varchar) | lat(decimal) | lon(decimal) |
我正在寻找使用php或mysql的查询效果

$target_lat = ;
$target_lon = ;
"SELECT table.city_name WHERE (table.lat,table.lon) LESS THAN 20 MILES FROM ($target_lat,$target_lon")

显然,我不希望查询采用这种结构!我从未在mysql中使用过Pi etc…

在谷歌搜索mysql radius搜索中,您会发现许多代码片段

它们有点太长了,不能在这里复制


编辑:

您将在谷歌搜索mysql radius搜索中找到许多代码片段

它们有点太长了,不能在这里复制


编辑:

听起来您正在寻找mySql的地理空间包。这里列出了一个函数,用于检查两个横向/纵向点之间的距离。请记住,由于地球的曲率,常规距离计算无法使用lat/long=


听起来你在寻找mySql的地理空间包。这里列出了一个函数,用于检查两个横向/纵向点之间的距离。请记住,由于地球的曲率,常规距离计算无法使用lat/long=


毕达哥拉斯定理指出,直角三角形斜边长度的平方等于其他两边的平方和

C^2 = A^2 + B^2
C = SQRT(A^2 + B^2)

在这种情况下,其他边的长度由lat和long值的差值决定。在短距离内,这将为您提供一个非常好的近似值。然而,这仍然不能提供英里数,这是一个更加困难的转换,因为lat/long和英里数之间没有固定的关系。相反,经度之间的距离随着纬度的变化而变化。

毕达哥拉斯定理指出,直角三角形斜边长度的平方等于其他两边的平方和

C^2 = A^2 + B^2
C = SQRT(A^2 + B^2)

在这种情况下,其他边的长度由lat和long值的差值决定。在短距离内,这将为您提供一个非常好的近似值。然而,这仍然不能提供英里数,这是一个更加困难的转换,因为lat/long和英里数之间没有固定的关系。相反,经度之间的距离随着纬度的变化而变化。

我发现这很好理解


我发现这是一个很好理解的方法


我并没有发现有多少东西不是以邮政编码为导向的:也许你可以为它贴一个链接Haraldo@Chief17,@Haroldo:我在我的回答中添加了一个例子。我没有发现太多不以邮政编码为导向的东西:也许你可以为我的网站发布一个链接Haraldo@Chief17,@Haroldo:我在回答中增加了一个例子。自从我在StackOverflow工作以来,这个问题每周至少被问一次。上一次是,在地理空间和mysql标签上快速搜索会发现大量的其他响应。自从我在StackOverflow工作以来,这个问题至少每周被问一次。上一次是,快速搜索地理空间和mysql标签将发现大量其他响应,这些响应看起来像是一个有用的包。但是,出于这个目的,您可以使用MySQL中内置的距离函数吗?文件说,与其他一些地理空间支持不同,距离的实现是正确的。马克-很好的发现。我读过一篇过时的、很有可能是关于mySql中的地理空间支持仍然有点缺乏的介绍,并提供了另一种选择。我很高兴听到支持是native=。这看起来像是一个有用的包。但是,出于这个目的,您可以使用MySQL中内置的距离函数吗?文件说,与其他一些地理空间支持不同,距离的实现是正确的。马克-很好的发现。我读过一篇过时的、很有可能是关于mySql中的地理空间支持仍然有点缺乏的介绍,并提供了另一种选择。我很高兴听到支持是本地的=。