【发布时间】:2018-04-24 09:40:07
【问题描述】:
我有一个函数可以根据两点的纬度和经度计算两点之间的距离:
my_function (lat_point1 NUMERIC, long_point1 NUMERIC, lat_point2 NUMERIC, long_point2 NUMERIC)
我想使用select 中的函数来计算我的point1(始终相同)和我的point2(具有多个值)之间的距离。
我有一个包含 3 列和多行的表。第一列是地图中点的名称,第二列是该地点的纬度,第三列是经度。行有不同的点。
该函数有 4 个输入 my_function(latutude_point1, longitude_point1, latutude_point2, longitude_point2)。
问题是我需要计算 point1 与所有其他点之间的距离。换句话说,我需要计算point1与point2、point1与point3、point1与point4、point1与pointn之间的距离。
如何在选择中调用函数?
【问题讨论】:
-
select my_function(...) from ... -
是的,但是我怎么知道哪个 lon 和 lat 是 point1 以及哪个 longs 和 lats 是 point2?
-
我不明白这个问题。
-
我的观点在表格中。想象一下它的表 tb_points 具有这个结构 num_point、long_point、lat_point。所以第一行是point1、1.5641、45.6555,第二行是point2、1.6895、25.3654,以此类推。我不知道如何告诉女巫点应该采取的功能。我想计算point1和point2,point1和point3 ... point1和pointn之间的距离。
-
一旦你有了一个包含所有你需要的列的 Select 函数,调用这个函数就变得很简单了。您可能需要致电 LEAD 或 LAG,或者您可以使用自加入。我不知道是哪个,因为您的问题缺少一些信息
标签: sql postgresql