Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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_Geopoints - Fatal编程技术网

用于计算地质点距离的mySql函数

用于计算地质点距离的mySql函数,mysql,geopoints,Mysql,Geopoints,我试图创建一个mysql函数,以计算两个地质点之间的距离(以米为单位) 这就是我到目前为止所拥有的(来自谷歌的东西的组合): 这个问题是当点之间的距离为0时,它并不总是起作用 你知道怎么做吗?在公式中,你可能想把所有的值都改成小数:180变成180.0,等等。你可以把它写成答案,我会接受的 CREATE DEFINER=`root`@`server.asafnevo.co.il` FUNCTION `getDistance`( firstLong float(10,6), fir

我试图创建一个mysql函数,以计算两个地质点之间的距离(以米为单位)

这就是我到目前为止所拥有的(来自谷歌的东西的组合):

这个问题是当点之间的距离为0时,它并不总是起作用


你知道怎么做吗?

在公式中,你可能想把所有的值都改成小数:
180
变成
180.0
,等等。你可以把它写成答案,我会接受的
CREATE DEFINER=`root`@`server.asafnevo.co.il` FUNCTION `getDistance`(
    firstLong float(10,6),
    firstLat float(10,6),
    secondLong float(10,6),
    secondLat float(10,6)
) RETURNS int(11)
BEGIN
RETURN abs((((acos(sin((firstLat*pi()/180)) * 
            sin((secondLat*pi()/180))+cos((firstLat*pi()/180)) * 
            cos((secondLat*pi()/180)) * cos(((firstLong-secondLong)* 
            pi()/180))))*180/pi())*60*1.1515
        )) * 1.6093 * 1000;
END