计算点与半径Hive内的中心之间的距离

edqdpe6u  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(375)

我用下面的方法从我的Hive数据库中得到距离我的中心200米以内的所有点。

SELECT * FROM mytable
WHERE ST_GeodesicLengthWGS84(ST_SetSRID(ST_LineString(array(ST_Point(longitude_of_center, 
latitude_of_center), 
ST_Point(longitude_of_point, latitude_of_point))), 4326)) <= 200;

请,我还需要得到选择点和中心之间的距离,作为我的查询结果的一部分,作为一个新的列距离。

wko9yo5t

wko9yo5t1#

您可以从与中心成对的每个选定点生成一个线串,然后在每个这样的线串上调用geodesiclengthwgs84。这将是相同的长度,因为你在电话 where 子句中,还添加了列投影(例如 select *, ST_GeodesicLengthWGS834(...) from ... .
(披露:hadoop的esri空间框架的合作者)

相关问题