我用下面的方法从我的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;
请,我还需要得到选择点和中心之间的距离,作为我的查询结果的一部分,作为一个新的列距离。
1条答案
按热度按时间wko9yo5t1#
您可以从与中心成对的每个选定点生成一个线串,然后在每个这样的线串上调用geodesiclengthwgs84。这将是相同的长度,因为你在电话
where
子句中,还添加了列投影(例如select *, ST_GeodesicLengthWGS834(...) from ...
.(披露:hadoop的esri空间框架的合作者)