如何解决计算点与半径HIVE内的中心之间的距离
我使用以下方法从我的蜂巢数据库中获取距中心200m以内的所有点。
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;
请,我还需要获取选择的点与中心之间的距离作为新的列DIST作为查询结果的一部分。
解决方法
您可以从与中心配对的每个选定点制作一个LineString,然后在每个这样的LineString上调用GeodesicLengthWGS84。它与您在where
子句中使用的Length调用相同,但也添加到了列投影中(所以类似select *,ST_GeodesicLengthWGS834(...) from ...
。
(披露:Esri Spatial Framework for Hadoop上的合作者)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。