我想计算两个lat-long之间的距离,并显示该值。 我也想使用该值(四舍五入到最接近的KM)
注意:已提交的示例
这是我拥有的
SELECT
ST_Distance(
ST_GeogFromText(
'SRID=4326;POINT(' || longitude || ' ' || latitude || ')'
),
ST_GeogFromText('SRID=4326;POINT(1 1)')
) AS distance, id from locations limit 10
现在效果非常好..我以米为单位距离
但我希望得到米和公里的距离(这个问题很简单)
这是我认为可行的方法
SELECT
ST_Distance(
ST_GeogFromText(
'SRID=4326;POINT(' || longitude || ' ' || latitude || ')'
),
ST_GeogFromText('SRID=4326;POINT(1 1)')
) AS distance, distance/1000 as distance_in_km, id from locations limit 10
这会返回错误..
列"距离"不存在
它的箭头指向第二个距离"在查询中。
我真正想要避免的是计算完整值和舍入到KM
请注意:这不是实际的查询,而是设计出来的问题。
答案 0 :(得分:2)
试试这个: -
SELECT distance, distance/1000 as distance_in_km from
(
SELECT
ST_Distance(
ST_GeogFromText(
'SRID=4326;POINT(' || longitude || ' ' || latitude || ')'
),
ST_GeogFromText('SRID=4326;POINT(1 1)')
) AS distance, id from locations limit 10
) t;